ÿØÿà JFIF ` ` ÿþxØ
| Server IP : 109.234.164.53 / Your IP : 216.73.216.110 Web Server : Apache System : Linux cervelle.o2switch.net 4.18.0-553.32.1.lve.el8.x86_64 #1 SMP Thu Dec 19 13:14:03 UTC 2024 x86_64 User : computer3 ( 1098) PHP Version : 7.1.33 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/computer3/litsolide.com/ODLDDD_2/seo-mailing/ |
Upload File : |
<?php
set_time_limit(0);
require_once('_config.php');
$que = mysqli_query($db,"SELECT id FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE status = 0");
if(mysqli_num_rows($que) == 0){
$que = mysqli_query($db,"SELECT *
FROM ".$INFO['sql_tbl_prefix']."user WHERE limit_day > 0 AND limit_day > ulimit AND ulimit = 0 AND (last_update_date -".time().") >=3600");
while($ul = mysqli_fetch_array($que)){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."user SET ulimit = limit_day, last_update_date ='".time()."' WHERE id = ".$ul['id']." LIMIT 1");
}
}
$que = mysqli_query($db,"SELECT *
FROM ".$INFO['sql_tbl_prefix']."user WHERE limit_day > 0 AND limit_day > ulimit AND (
(".time()." - last_update_date) >=3600 AND
(".time()." -
(SELECT ddate FROM ".$INFO['sql_tbl_prefix']."mail_task_email WHERE
".$INFO['sql_tbl_prefix']."mail_task_email.id_avtor = ".$INFO['sql_tbl_prefix']."user.id
ORDER by ".$INFO['sql_tbl_prefix']."mail_task_email.ddate DESC
LIMIT 1)
) >= 3600)");
if(mysqli_num_rows($que) > 0){
while($ul = mysqli_fetch_array($que)){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."user SET ulimit = limit_day, last_update_date ='".time()."' WHERE id = ".$ul['id']." LIMIT 1");
}
}
if(isset($_GET['task_run']) && (int)($_GET['task_run'])){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET pause = '0' WHERE id = ".$_GET['task_run']." LIMIT 1");
$query = "SELECT *,
(SELECT ulimit FROM ".$INFO['sql_tbl_prefix']."user WHERE (".$INFO['sql_tbl_prefix']."user.limit_day > 0 || ".$INFO['sql_tbl_prefix']."user.last_update_date = 0) AND ".$INFO['sql_tbl_prefix']."user.id = ".$INFO['sql_tbl_prefix']."mail_task.id_user) as ulimit
FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE id = {$_GET['task_run']} LIMIT 1";
echo $_GET['task_run'];
}elseif(isset($_GET['resend']) && (int)($_GET['resend'])){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task_email SET status = '0', ddate ='', count_send = 0 WHERE id_task = ".$_GET['resend']);
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET cron_status ='0', status = 2 WHERE id = {$_GET['resend']} LIMIT 1");
$query = "SELECT *,
(SELECT ulimit FROM ".$INFO['sql_tbl_prefix']."user WHERE (".$INFO['sql_tbl_prefix']."user.limit_day > 0 || ".$INFO['sql_tbl_prefix']."user.last_update_date = 0) AND ".$INFO['sql_tbl_prefix']."user.id = ".$INFO['sql_tbl_prefix']."mail_task.id_user) as ulimit
FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE id = {$_GET['resend']} AND ddate_start < ".time()." AND pause != 1 LIMIT 1";
}else{
$query = "SELECT *,
(SELECT ulimit FROM ".$INFO['sql_tbl_prefix']."user WHERE (".$INFO['sql_tbl_prefix']."user.limit_day > 0 || ".$INFO['sql_tbl_prefix']."user.last_update_date = 0) AND ".$INFO['sql_tbl_prefix']."user.id = ".$INFO['sql_tbl_prefix']."mail_task.id_user) as ulimit
FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE status IN (0,2,7) AND ddate_start < ".time()." AND pause != 1 LIMIT 1";
}
$result = mysqli_query($db,$query);
if(mysqli_num_rows($result) > 0){
$task = mysqli_fetch_array($result);
if((PHP_SAPI == 'cli' && !isset($_SERVER['TERM'])) || isset($_SERVER['SHELL'])){
$query_cron = mysqli_query($db,"SELECT cron_status FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE id = {$task['id']} AND cron_status ='1' LIMIT 1");
if(mysqli_num_rows($query_cron) == 0) {
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET cron_status ='1' WHERE id = {$task['id']} LIMIT 1");
}else{
exit();
}
}
if(isset($task['ulimit']) && $task['ulimit'] <=0) {
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."user SET ulimit = '0' WHERE id = ".$task['id_user']." LIMIT 1");
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET cron_status ='0' WHERE id = {$task['id']} LIMIT 1");
exit();
}
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET status = '2' WHERE id = ".$task['id']." LIMIT 1");
$template = mysqli_fetch_array(mysqli_query($db,"SELECT * FROM ".$INFO['sql_tbl_prefix']."templates WHERE id = {$task['id_template']} LIMIT 1"));
$query = "SELECT * FROM ".$INFO['sql_tbl_prefix']."mail_task_email WHERE status = 0 AND id_task = {$task['id']} AND count_send = 0";
$result = mysqli_query($db,$query) or exit("select advice error");
$i=0;
if(mysqli_num_rows($result) != 0 ){
$intervals = unserialize($task['sending_setting']);
while($us = mysqli_fetch_array($result)){
if($i<=$intervals[1]){
$i++;
if($i != 1) sleep($intervals[0]);
}else{
$i=0;
sleep($intervals[2]);
}
$mail = array();
$mail_array = array();
$v = '';
$us_ser = unserialize($us['id_user']);
$mail = mysqli_fetch_array(mysqli_query($db,"SELECT * FROM ".$INFO['sql_tbl_prefix']."mail_task_email WHERE id_task = {$task['id']} AND status = 0 AND count_send = 0 LIMIT 1"));
$mail_ar = unserialize($mail['id_user']);
$unsubscribe_code = mysqli_fetch_array(mysqli_query($db,"SELECT * FROM ".$INFO['sql_tbl_prefix']."mail_user WHERE id = {$mail_ar[0]} LIMIT 1"));
$mail_array = array('0' => $mail_ar[2]);
foreach($mail_array as $v){
$mail = new PHPMailer();
$mail->CharSet = "utf-8";
$dom = explode("/",$INFO['base_url']);
$mail->Hostname = $dom[2];
if($_SET['mail_method'] == 'smtp'){
$mail->SetFrom($_SET['email_from'], $_SET['titlefrom']);
$mail->AddReplyTo($_SET['email_from'],$_SET['titlefrom']);
}else{
$mail->SetFrom($_SET['email_from'], $_SET['titlefrom']);
$mail->AddReplyTo($_SET['email_from'],$_SET['titlefrom']);
$mail->ReturnPath = $_SET['email_from'];
}
$mail->AddAddress($v);
$task['name'] = str_replace('{name}', $mail_ar[1], $task['name']);
$mail->Subject = $task['name'];
$body = $task['message'];
if($task['track_clicks']==1){
$pref = $INFO['base_url'].'?redirect=';
$task_code = md5($task['id']);
$suf = '&task='.$task_code.'&mail='.$unsubscribe_code['unsubscribe_code'];
$body = preg_replace("!<a(.*?)href=['\"](.*?)['\"](.*?)>(.*?)</a>!si","<a\\1href=\"".$pref."\\2{$suf}\"\\3>\\4</a>",$body);
$body = str_replace("?redirect=http://", "?redirect=", $body);
}
$body = str_replace('{name}', $mail_ar[1], $body);
$body = str_replace("{unsubscribe}", "<a href='".$INFO['base_url']."?decline=".$unsubscribe_code['unsubscribe_code']."&t=".sha1($task['id'])."' target='_blank' style='text-decoration: none; font-size: 8pt; color: black;'>".__('Unsubscribe')."</a>", $body);
$online_task = sha1($task['id']);
$online_user = sha1($mail_ar[0]);
$body = str_replace('{online}', "<a href='".$INFO['base_url']."?online=".$online_task."&u=".$online_user."' target='_blank' style='text-decoration: none; color: red;'>".__('View online here')."</a>", $body);
$result_sh = mysqli_query($db,"SELECT * FROM ".$INFO['sql_tbl_prefix']."shortcodes WHERE system = 0 OR feature = 1");
if(mysqli_num_rows($result_sh)>0){
while($sh = mysqli_fetch_array($result_sh)){
if($sh['feature'] == 1){
$feature = mysqli_fetch_array(mysqli_query($db,"SELECT feature FROM ".$INFO['sql_tbl_prefix']."mail_user WHERE ".$INFO['sql_tbl_prefix']."mail_user.id = {$mail_ar[0]} LIMIT 1"));
$feature = unserialize($feature['feature']);
$body = str_replace("{".$sh['shortcode']."}", $feature[$sh['id_feature']][0], $body);
}else{
$body = str_replace("{".$sh['shortcode']."}", $sh['value'], $body);
}
}
}
if(!isset($_SESSION['user'])){
$user_s = mysqli_fetch_array(mysqli_query($db,"SELECT * FROM ".$INFO['sql_tbl_prefix']."user WHERE id = {$task['id_user']} LIMIT 1"));
$dir_user = strtolower($user_s['name']);
}else{
$dir_user = strtolower($_SESSION['user']);
}
$text_html=$body;
if($task['track_reading']==1){
$text_html .= "<img src='".$INFO['base_url']."statistics/img.php?task=".md5($task['id'])."&mail=".$unsubscribe_code['unsubscribe_code']."' height='1' width='0'>";
}
if($_SET['text_html'] == 'html'){
$mail->MsgHTML($text_html);
}else{
$text_html = strip_tags($text_html);
$mail->AltBody = $text_html;
}
if(strlen($task['file'])>5){
$fi = explode(";", $task['file']);
$files_array_str = array();
if(is_array($fi)){
foreach($fi as $v){
if(!empty($v) and strlen($v) > 2){
$exp = end(explode(".",$v));
$mail->AddAttachment(dirname(__FILE__).'/attachments/'.$dir_user.'/'.$v);
}
}
}else{
$mail->AddAttachment(dirname(__FILE__).'/attachments/'.$dir_user.'/'.$task['file']);
}
}
if($task['importance'] == 'high'){
$mail->Priority = 1;
}else{
$mail->Priority = 3;
}
if($_SET['mail_method'] == 'smtp'){
$mail->IsSMTP();
$mail->Host = $_SET['smtp_host'];
$mail->Port = $_SET['smtp_port'];
$mail->SMTPAuth = true;
if($_SET['smtp_auth'] == 'ssl'){
$mail->SMTPSecure = 'ssl';
}elseif($_SET['smtp_auth'] == 'tls'){
$mail->SMTPSecure = 'tls';
}
$mail->Username = $_SET['smtp_user'];
$mail->Password = $_SET['smtp_pass'];
// $mail->SMTPDebug = 2;
// $mail->Debugoutput = 'html';
}
$mail_last = mysqli_fetch_array(mysqli_query($db,"SELECT ddate FROM ".$INFO['sql_tbl_prefix']."mail_task_email WHERE id_task = {$task['id']} AND status = 1 ORDER by ddate DESC LIMIT 1"));
if($mail_last['ddate'] > 0){
while((time() - $mail_last['ddate']) < $_SET['timeemail']){
$t_in = $_SET['timeemail'] -(time() - $mail_last['ddate']);
sleep($t_in);
}
}
$pause = mysqli_query($db,"SELECT pause FROM ".$INFO['sql_tbl_prefix']."mail_task WHERE id = {$task['id']} AND pause = 1 AND status = 2 LIMIT 1");
if(mysqli_num_rows($pause) > 0){
exit();
}
if($_SET['debug_mode']==0){
//$mail->ErrorInfo;
$mail->Send();
}
$uli = mysqli_fetch_array(mysqli_query($db,"SELECT ulimit, last_update_date FROM ".$INFO['sql_tbl_prefix']."user WHERE id = {$task['id_user']} AND limit_day > 0 LIMIT 1"));
if($uli['ulimit']==0 && $uli['last_update_date'] > 0){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET cron_status ='0' WHERE id = {$task['id']} LIMIT 1");
exit();
}
$count_send = mysqli_fetch_array(mysqli_query($db,"SELECT count_send FROM ".$INFO['sql_tbl_prefix']."mail_task_email WHERE id = ".$us['id']." AND id_task = {$task['id']} LIMIT 1"));
$count_send = $count_send['count_send']+1;
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task_email SET ddate = '".time()."', status = '1', count_send = {$count_send} WHERE id = ".$us['id']." AND id_task = {$task['id']} LIMIT 1");
if($uli['last_update_date'] > 0){
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."user SET ulimit = ulimit - 1 WHERE id = ".$task['id_user']." AND ulimit != 0 LIMIT 1");
}
}
}
}else{?>
<div class="alert alert-info">
<?php echo __('All emails have been sent');?>
</div>
<?php }
mysqli_query($db,"UPDATE ".$INFO['sql_tbl_prefix']."mail_task SET ddate_end = '".time()."', status = '1' WHERE id = ".$task['id']." LIMIT 1");
}
?>