669 lines
18 KiB
PHP
669 lines
18 KiB
PHP
|
|
<?php
|
|||
|
|
|
|||
|
|
|
|||
|
|
use PHPMailer\PHPMailer\PHPMailer;
|
|||
|
|
use PHPMailer\PHPMailer\Exception;
|
|||
|
|
|
|||
|
|
require '/vhosts/subscripts/vendor/phpmailer/phpmailer/src/Exception.php';
|
|||
|
|
require '/vhosts/subscripts/vendor/phpmailer/phpmailer/src/PHPMailer.php';
|
|||
|
|
require '/vhosts/subscripts/vendor/phpmailer/phpmailer/src/SMTP.php';
|
|||
|
|
|
|||
|
|
date_default_timezone_set('Europe/Moscow');
|
|||
|
|
|
|||
|
|
ini_set('error_reporting', E_ALL);
|
|||
|
|
ini_set('display_startup_errors', 0);
|
|||
|
|
ini_set("display_errors",'0');
|
|||
|
|
//ini_set("track_errors",'1');
|
|||
|
|
//ini_set("html_errors",'1');
|
|||
|
|
|
|||
|
|
require 'sendsheff.php';
|
|||
|
|
require 'vendor/akdelf/korm/korm.php';
|
|||
|
|
require '/vhosts/an/httpdocs/system/templink/templink.php';
|
|||
|
|
//require '/vhosts/an/httpdocs/vendor/PHPMailer/PHPMailerAutoload.php';
|
|||
|
|
require 'db_lite/db_lite.php';
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
function view ($view, $data = array(), $layer = null){
|
|||
|
|
|
|||
|
|
ob_start();
|
|||
|
|
|
|||
|
|
if (is_array($data))
|
|||
|
|
extract($data);
|
|||
|
|
if ($layer !== null){
|
|||
|
|
$content = view($view, $data);
|
|||
|
|
require $layer;
|
|||
|
|
}
|
|||
|
|
else
|
|||
|
|
require $view;
|
|||
|
|
|
|||
|
|
return trim(ob_get_clean());
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
function email( $mail, $subject, $message, $frommail ) {
|
|||
|
|
|
|||
|
|
$mail = mb_strtolower($mail);
|
|||
|
|
|
|||
|
|
if (isset($frommail['login']) and $frommail['login'] !== '')
|
|||
|
|
$login = $frommail['login'];
|
|||
|
|
else {
|
|||
|
|
$login = $frommail['mail'];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$send = new PHPMailer;
|
|||
|
|
//$mail->SMTPDebug = 3; // Enable verbose debug output
|
|||
|
|
$send->isSMTP();
|
|||
|
|
//$send->SMTPDebug=3; // Set mailer to use SMTP
|
|||
|
|
$send->Host = $frommail['host']; // Specify main and backup SMTP servers
|
|||
|
|
// Enable SMTP authentication
|
|||
|
|
$send->Username = $login; // SMTP username
|
|||
|
|
$send->Password = $frommail['password'];
|
|||
|
|
if (isset($frommail['secure'])) {
|
|||
|
|
$send->SMTPSecure = $frommail['secure'];
|
|||
|
|
$send->SMTPAuth = true;
|
|||
|
|
$send->SMTPOptions = array(
|
|||
|
|
'ssl' => array(
|
|||
|
|
'verify_peer' => false,
|
|||
|
|
'verify_peer_name' => false,
|
|||
|
|
'allow_self_signed' => true
|
|||
|
|
)
|
|||
|
|
);
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
$mail->SMTPSecure = false;
|
|||
|
|
$mail->SMTPAutoTLS = false;
|
|||
|
|
}
|
|||
|
|
$send->Port = $frommail['port']; // TCP port to connect to
|
|||
|
|
$send->setFrom($frommail['mail'], 'Аргументы Недели');
|
|||
|
|
$send->addAddress($mail, $mail); // Add a recipient
|
|||
|
|
$send->CharSet = 'UTF-8';
|
|||
|
|
$send->isHTML(True); // Set email format to HTML
|
|||
|
|
$send->Subject = $subject;
|
|||
|
|
/*ob_start();
|
|||
|
|
include 'mail.phtml';
|
|||
|
|
$mailbody = ob_get_contents();
|
|||
|
|
ob_end_clean();*/
|
|||
|
|
|
|||
|
|
$send->Body = $message;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$headers = "MIME-Version: 1.0\r\n";
|
|||
|
|
//$headers .= "Content-type: text/plain; charset=utf-8\r\n";
|
|||
|
|
//$headers .= "Content-Transfer-Encoding: 8bit \r\n";
|
|||
|
|
//$headers .= "From: nomer@arguments.ru\r\n";
|
|||
|
|
//$headers .= 'Reply-To: nomer@arguments.ru'."\r\n";
|
|||
|
|
|
|||
|
|
//if (mail($mail, $subject, $message, $headers))
|
|||
|
|
// $status = 'OK';
|
|||
|
|
//else
|
|||
|
|
// $status = 'NO';
|
|||
|
|
|
|||
|
|
|
|||
|
|
if($send->send())
|
|||
|
|
$status = 'OK';
|
|||
|
|
else {
|
|||
|
|
$status = 'NO';
|
|||
|
|
echo 'Mailer Error: ' . $send->ErrorInfo."\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
return $status;
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "\nsubscript\n";
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//kORM::config('argumentiru', 'newser', 'Chjk90yuiREY', 'mysql');
|
|||
|
|
kORM::config('chitatel', 'chitatel', 'hjYu78kl*90Uio', 'mysql', 'argumentiru');
|
|||
|
|
//kORM::config('argumentiru', 'root', 'zFgj67TyuUIO23Tyu3', 'mysql');
|
|||
|
|
db_config('argumentiru', 'mysql:host=mysql;dbname=argumentiru', 'chitatel', 'hjYu78kl*90Uio');
|
|||
|
|
db_config('newser', 'mysql:host=mysql;dbname=argumentiru', 'newser', 'Chjk90yuiREY');
|
|||
|
|
|
|||
|
|
|
|||
|
|
$endnumber = kORM::table('price')->where('category_id', 1)->sort('price_id', 'desc')->one();
|
|||
|
|
|
|||
|
|
$endnumber = db_get("SELECT * FROM `price` WHERE `category_id` = 1 ORDER BY `price_id` DESC LIMIT 1");
|
|||
|
|
|
|||
|
|
|
|||
|
|
//if (is_array($endnumber))
|
|||
|
|
// $link = templink::get('https://argumenti.ru/pub/files/pdf/pdf/'.$endnumber['price_id'].'.pdf');
|
|||
|
|
|
|||
|
|
if (is_array($endnumber))
|
|||
|
|
$link = 'https://klan.argumenti.ru/read/'.$endnumber['pricehash'];
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$link = 'https://argumenti.ru/app/templink.php?id=3e460287f6ae89f04709c15ffd3487aa';
|
|||
|
|
$subject = $endnumber['priceauthor'].' '.$endnumber['pricename'];
|
|||
|
|
$message = '
|
|||
|
|
<p>><b><span style="color:red;">А</span>РГУМЕНТЫ <span style="color:red;">Н</span>ЕДЕЛИ/b></p>
|
|||
|
|
<p>Уважаемый читатель!</p>
|
|||
|
|
<p>В рамках действующей подписки Вам стал доступен архив газет и подборка книг от Издательского дома «Аргументы Недели»</p>
|
|||
|
|
<p>Для того чтобы воспользоваться сервисом, <a href="'.$linkuser.'">пройдите по ссылке</a> и придумайте пароль</p>
|
|||
|
|
<p>Вы сможете <span style="font-weight:bold;">скачать Ваш экземпляр «Аргументов Недели» по ссылке</span> - <a href="'.$link.'">'.$link.'</a></p>
|
|||
|
|
<p>- Если ссылка в письме неактивная - скопируйте ее и вставьте в адресную строку браузера.</p>
|
|||
|
|
<p>- Добавьте адрес <a href="mailto:shop@argumenti.ru">shop@argument.ru</a> в контакты, чтобы письма от нас не попадали в спам.</p>';
|
|||
|
|
if ($argv[1] == 'blat') {
|
|||
|
|
$message .= '<p>Для консультации и разрешения возникших вопросов Вы можете обратиться к нам по электронному адресу <a href="mailto:podpiska@argumenti.ru">podpiska@argumenti.ru</a></p>';
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
$message .= '<p>Для консультации и разрешения возникших вопросов Вы можете обратиться к нам по электронному адресу <a href="mailto:shop@argumenti.ru">shop@argumenti.ru</a></p>';
|
|||
|
|
}
|
|||
|
|
$message .= '<br><p>Все материалы этого номера будут доступны <span style="font-weight:bold;">на сайте <b>завтра</b></span> - <a href="https://argumenti.ru/numbers/number/'.$endnumber['price_id'].'?token=41098063333700612987800405345">по Вашей личной ссылке</a></p>';
|
|||
|
|
|
|||
|
|
//#Зауглом
|
|||
|
|
|
|||
|
|
|
|||
|
|
$subsql = "SELECT * FROM `subscript_news` WHERE `weekly` = '1' ORDER BY `id` DESC LIMIT 1";
|
|||
|
|
$subscript_news = Table('subscript_news')->where('weekly', 1)->sort('id', 'desc')->one();
|
|||
|
|
$subscript_news = db_get($subsql, 'newser');
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$panfile = '/vhosts/adanar.argumenti.ru/subscript_test.html';
|
|||
|
|
|
|||
|
|
//if (file_exists($panfile)) {
|
|||
|
|
// $message .= '<p>ТАКЖЕ ПРЕДЛАГАЕМ ВАМ ПОДБОРКУ ИНТЕРЕСНЫХ НОВОСТЕЙ, КОТОРЫЕ НЕ ПОПАЛИ В БУМАЖНЫЙ НОМЕР:</p>'.file_get_contents($panfile);
|
|||
|
|
//}
|
|||
|
|
|
|||
|
|
|
|||
|
|
$ferr = '/vhosts/adanar.argumenti.ru/error.json';
|
|||
|
|
$mails = array();
|
|||
|
|
$end_id = 0;
|
|||
|
|
$users = array();
|
|||
|
|
|
|||
|
|
if ($argv[1] == 'test') {
|
|||
|
|
$users = [
|
|||
|
|
'ak778@mail.ru',
|
|||
|
|
'ak@argumenti.ru',
|
|||
|
|
'viatcheslav.zhuk@gmail.com',
|
|||
|
|
'zheltov@argumenti.ru',
|
|||
|
|
'panv@bk.ru'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
|
|||
|
|
$viewfile = '/vhosts/adanar.argumenti.ru/views/animag.phtml';
|
|||
|
|
|
|||
|
|
$filestr = view('/vhosts/adanar.argumenti.ru/views/animag.phtml', array('message'=>$message));
|
|||
|
|
|
|||
|
|
$filename = '/vhosts/adanar.argumenti.ru/html/number.html';
|
|||
|
|
file_put_contents($filename, $filestr);
|
|||
|
|
|
|||
|
|
/** $users = [
|
|||
|
|
'ak778@mail.ru',
|
|||
|
|
'ak@argumenti.ru',
|
|||
|
|
'prytkov2005@yandex.ru'
|
|||
|
|
];*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$days = 100;
|
|||
|
|
|
|||
|
|
$subject = 'TEST - рассылка для тестовой группы';
|
|||
|
|
}
|
|||
|
|
elseif ($argv[1] == 'aktest') {
|
|||
|
|
$users = ['ak@argumenti.ru'];
|
|||
|
|
}
|
|||
|
|
elseif ($argv[1] == 'blat') {
|
|||
|
|
$users = kORM::table('anbuy')->where('number_id', 689)->where('buy_status', 1)->all();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
elseif ($argv[1] == 'error'){
|
|||
|
|
if (file_exists($ferr)) {
|
|||
|
|
$json_file = file_get_contents($ferr);
|
|||
|
|
$users = json_decode($json_file, True);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
elseif ($argv[1] == 'endnumber') {
|
|||
|
|
|
|||
|
|
$users = kORM::table('anbuy')->where('number_id', 1118)->where('buy_status', 1)->all();
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
elseif ($argv[1] == 'local') {
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$users = ['krez52@mail.ru'];
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
elseif ($argv[1] == 'support'){
|
|||
|
|
/** $users= [
|
|||
|
|
'kan8809282@gmail.com',
|
|||
|
|
'zubovalex54@yandex.ru',//
|
|||
|
|
'malihincolya@yandex.ru',
|
|||
|
|
'family4@list.ru',
|
|||
|
|
'kvnsumy@mail.ru',
|
|||
|
|
'sivakova45@mail.ru',
|
|||
|
|
'50sd015@mail.ru',
|
|||
|
|
'rbp48@mail.ru',
|
|||
|
|
'nik_denisov_1951@list.ru',
|
|||
|
|
'slava2rf@gmail.com',
|
|||
|
|
'svetayacushko@inbox.ru',
|
|||
|
|
'adkham.rafikov@gmail.com',
|
|||
|
|
'sberezinko@gmail.com',
|
|||
|
|
'autobyd@mail.ru',
|
|||
|
|
'fga50@mail.ru',
|
|||
|
|
'aksand@mail.ru',
|
|||
|
|
'v.kozyirev@gmail.com',
|
|||
|
|
'stvzyn@mail.ru',
|
|||
|
|
'potashev49@bk.ru',
|
|||
|
|
'shokvadim48@gmail.com'
|
|||
|
|
]; */
|
|||
|
|
|
|||
|
|
$users = [
|
|||
|
|
'bkorsaev@yandex.ru',
|
|||
|
|
'ginzbo@me.com',
|
|||
|
|
'vm.baglikov@gmail.com',
|
|||
|
|
'sav58@yandex.ru'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
elseif ($argv[1] == 'qr'){
|
|||
|
|
//$usql = "SELECT * FROM `anbuy` WHERE `number_id` = '486' AND `buy_status` = 1 AND `buy_id` > 75367";
|
|||
|
|
$usql = "SELECT * FROM `anbuy` WHERE `number_id` IN (486, 689) AND `buy_status` = '1' AND `mail_status` = '0'";
|
|||
|
|
$users = db_get($usql);
|
|||
|
|
|
|||
|
|
if (count($users) == 0) {
|
|||
|
|
echo 'no users';
|
|||
|
|
exit;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//$sql_user = kORM::table('anbuy')->where('number_id', 486)->where('buy_status', 1)->where('buy_id', 75135, '>');
|
|||
|
|
//$users = $sql_user->all();
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
//echo kORM::table('anbuy')->where('number_id', 486)->where('buy_status', 1)->where('buy_id', '46425', 'AND', '>');
|
|||
|
|
//exit;
|
|||
|
|
//$start_id = 83722;
|
|||
|
|
//$end_id = 83722;
|
|||
|
|
|
|||
|
|
$start_id = 0;
|
|||
|
|
$items = kORM::table('anbuy')->where('number_id', 486)->where('buy_status', 1)->where('buy_id', $start_id, '>', 'AND')->order('buy_id', 'desc')->all();
|
|||
|
|
//$items = kORM::table('anbuy')->where('number_id', 486)->where('buy_status', 1)->all();
|
|||
|
|
|
|||
|
|
$today = date("Y-m-d H:i:s");
|
|||
|
|
$today_time = strtotime($today);
|
|||
|
|
|
|||
|
|
$date_now = time(); // текущее время (метка времени)
|
|||
|
|
|
|||
|
|
# определяем просроченную подписку
|
|||
|
|
|
|||
|
|
|
|||
|
|
foreach ($items as $item){
|
|||
|
|
|
|||
|
|
$key = $item['client_id'];
|
|||
|
|
|
|||
|
|
//нет даты начала действия
|
|||
|
|
if ($item['date'] == '0000-00-00 00:00:00'){
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
elseif ($item['date_end'] == '0000-00-00 00:00:00'){ // нет даты окончания
|
|||
|
|
$end_date = $item['date'].' +1 year';
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
$end_date = $item['date_end'];
|
|||
|
|
//date_add($end_date, date_interval_create_from_date_string('1 year'));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
// подписка еще не вступила в силу
|
|||
|
|
if (strtotime($item['date'] > $date_now)){
|
|||
|
|
continue;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$end_time = strtotime($end_date);
|
|||
|
|
$date_end = date('Y-m-d H:i:s', $end_time); //вычисляем конечную дату
|
|||
|
|
|
|||
|
|
if($end_time > $date_now) {
|
|||
|
|
$status = "активна";
|
|||
|
|
|
|||
|
|
$users[$key] = $item; //добавляем только активных
|
|||
|
|
$users[$key]['date_end'] = $date_end;
|
|||
|
|
|
|||
|
|
$seconds = abs($date_now - $end_time);
|
|||
|
|
$days = floor($seconds / 86400);
|
|||
|
|
$users[$key]['days'] = $days;
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
else {
|
|||
|
|
$status = " просрочена";
|
|||
|
|
$days = 0;
|
|||
|
|
//echo $status.' '.$item['date_start']."\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//echo $status.' '.$item['date_start']."\n";
|
|||
|
|
//echo " $status: ".$item['date_start']."\n";
|
|||
|
|
|
|||
|
|
|
|||
|
|
$user_log .= $item['buy_id'].'.'.$item['buy_email'].'-'.$status.' days:'.$days.' | '.$item['date'].' = '.$date_end."\n";
|
|||
|
|
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
file_put_contents('/vhosts/adanar.argumenti.ru/user.log', $user_log);
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$users = array('0'=>array('buy_email'=>'vak@argumenti.ru'), '3'=>array('buy_email'=>'usatiy.ded@gmail.com'));
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$users = explode(" - NO", $str);
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$nn =0;
|
|||
|
|
$col = 0;
|
|||
|
|
|
|||
|
|
$result = '';
|
|||
|
|
$pause = 1;
|
|||
|
|
|
|||
|
|
$errors = array();
|
|||
|
|
|
|||
|
|
if ($argv[1] == 'aktest' or $argv[1] == 'test' or $argv[1] == 'blat' or $argv[1] == 'local' or $argv[1] == 'support' ) {
|
|||
|
|
|
|||
|
|
//$emails = ['mail'=>'noreply@argumenti.ru', 'password'=>'eessoj8Let', 'port'=>465, 'host'=>'smtp.mail.ru', 'secure' => 'ssl'];
|
|||
|
|
/** $emails = ['mail'=>'news@mail.argumenti.ru',
|
|||
|
|
'password'=>'UgPn&KvErnkD$5',
|
|||
|
|
'port'=>465,
|
|||
|
|
'host'=>'mail.argumenti.ru',
|
|||
|
|
'secure' => PHPMailer::ENCRYPTION_SMTPS
|
|||
|
|
]; /
|
|||
|
|
|
|||
|
|
/** $emails = ['mail'=>'shop@argumenti.ru',
|
|||
|
|
'password'=>'5{5HgJjZMgwk',
|
|||
|
|
'port'=>465,
|
|||
|
|
'secure' => true,
|
|||
|
|
'host'=>'smtp.mail.ru'
|
|||
|
|
]; */
|
|||
|
|
|
|||
|
|
|
|||
|
|
$emails = ['mail'=>'grig@argumenti.ru',
|
|||
|
|
'password'=>'Rt90Fg',
|
|||
|
|
'port'=>25,
|
|||
|
|
'host'=>'mx4.argumenti.ru'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
else {
|
|||
|
|
|
|||
|
|
/** $emails = array (
|
|||
|
|
'gazeta@argumenti.ru',
|
|||
|
|
'angazeta@argumenti.ru',
|
|||
|
|
'gazeta-vsem@argumenti.ru',
|
|||
|
|
'nespam@argumenti.ru',
|
|||
|
|
'shoplist@argumenti.ru',
|
|||
|
|
'shop5@argumenti.ru',
|
|||
|
|
'shop4@argumenti.ru',
|
|||
|
|
'kinigian@argumenti.ru',
|
|||
|
|
'anshop@argumenti.ru',
|
|||
|
|
'gazeta@argumenti.ru',
|
|||
|
|
'knigian@argumenti.ru',
|
|||
|
|
'pokupka@argumenti.ru',
|
|||
|
|
'tovar@argumenti.ru',
|
|||
|
|
'zakaz@argumenti.ru',
|
|||
|
|
'order@argumenti.ru',
|
|||
|
|
'vash-zakaz@argumenti.ru',
|
|||
|
|
'vasha-gazeta@argumenti.ru',
|
|||
|
|
'vasha-an@argumenti.ru'
|
|||
|
|
); */
|
|||
|
|
|
|||
|
|
/*$email = [
|
|||
|
|
['login'=>'shop@argumenti.ru',
|
|||
|
|
'password'=>'5{5HgJjZMgwk',
|
|||
|
|
'port'=>465, 'smtp'=>'smtp.mail.ru'],
|
|||
|
|
['login'=>'gazeta@argumenti.ru', 'password'=>'eessoj8Let', 'port'=>465, 'smtp'=>'smtp.mail.ru']
|
|||
|
|
];*/
|
|||
|
|
|
|||
|
|
|
|||
|
|
$emails = ['mail'=>'grig@argumenti.ru',
|
|||
|
|
'password'=>'Rt90Fg',
|
|||
|
|
'port'=>25,
|
|||
|
|
'host'=>'mx4.argumenti.ru'
|
|||
|
|
];
|
|||
|
|
|
|||
|
|
|
|||
|
|
/** $emails = ['mail'=>'news@mail.argumenti.ru',
|
|||
|
|
'password'=>'UgPn&KvErnkD$5',
|
|||
|
|
'port'=>465,
|
|||
|
|
'host'=>'mail.argumenti.ru',
|
|||
|
|
'secure' => PHPMailer::ENCRYPTION_SMTPS
|
|||
|
|
]; */
|
|||
|
|
|
|||
|
|
/** $emails = ['mail'=>'shop@argumenti.ru',
|
|||
|
|
'password'=>'5{5HgJjZMgwk',
|
|||
|
|
'port'=>465,
|
|||
|
|
'secure' => true,
|
|||
|
|
'host'=>'smtp.mail.ru'
|
|||
|
|
]; */
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
//$keymail = 0;
|
|||
|
|
$frommail = $emails;
|
|||
|
|
|
|||
|
|
$data = array();
|
|||
|
|
$data['price_id'] = $endnumber['price_id'];
|
|||
|
|
$data['link'] = $link;
|
|||
|
|
$data['subscript_news'] = $subscript_news;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
foreach ($users as $user) {
|
|||
|
|
|
|||
|
|
$nn++;
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$data['linkuser'] = '';
|
|||
|
|
$data['group'] = $argv[1];
|
|||
|
|
$data['days'] = $user['days'];
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (isset($user['buy_email']))
|
|||
|
|
$currmail = $user['buy_email'];
|
|||
|
|
else
|
|||
|
|
$currmail = $user;
|
|||
|
|
|
|||
|
|
$currmail = mb_strtolower(trim($currmail));
|
|||
|
|
|
|||
|
|
|
|||
|
|
$client_sql = "SELECT * FROM `clients` WHERE `clientmail` = '$currmail' LIMIT 1";
|
|||
|
|
|
|||
|
|
$client = db_get($client_sql);
|
|||
|
|
$buy_id = (int)$user['buy_id'];
|
|||
|
|
|
|||
|
|
|
|||
|
|
if ($user['client_id'] == 0 and $buy_id > 0) { // заводим клиента
|
|||
|
|
if (!is_array($client) or count($client) == 0){
|
|||
|
|
$date = date("Y-m-d H:i:s");
|
|||
|
|
$hash = md5($currmail.$date);
|
|||
|
|
$addclient['clientmail'] = $currmail;
|
|||
|
|
$addclient['clienthash'] = $hash;
|
|||
|
|
$addclient['clientdate'] = $date;
|
|||
|
|
$addclient['clientpassword'] = '';
|
|||
|
|
$client_id = db_insert('clients', $addclient);
|
|||
|
|
echo "$client_id \n";
|
|||
|
|
if ($client_id > 0){
|
|||
|
|
$client['client_id'] = $client_id;
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (isset($client['client_id']) and $client['client_id'] > 0){ // добавляем клиента в заказ
|
|||
|
|
$sql_update = "
|
|||
|
|
UPDATE `anbuy`
|
|||
|
|
SET `client_id` = '".$client['client_id']."'
|
|||
|
|
WHERE `buy_id` = '$buy_id';
|
|||
|
|
";
|
|||
|
|
echo "$sql_update\n";
|
|||
|
|
$update = db_get($sql_update);
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if (isset($client['client_id']) and $client['clientpassword'] == '')
|
|||
|
|
$data['linkuser'] = 'http://klan.argumenti.ru/resetpwd/'.$client['clienthash'];
|
|||
|
|
|
|||
|
|
if ($end_id > 0 and $user['buy_id'] > $end_id)
|
|||
|
|
break;
|
|||
|
|
|
|||
|
|
|
|||
|
|
$zauglom = db_get("
|
|||
|
|
SELECT
|
|||
|
|
`news_id`,
|
|||
|
|
`title`,
|
|||
|
|
`alias`,
|
|||
|
|
DATE_FORMAT(date_insert, '%Y/%m') AS dateurl
|
|||
|
|
FROM
|
|||
|
|
`news`
|
|||
|
|
LEFT JOIN
|
|||
|
|
`siteparts3` ON `news`.`sitepart_id` = `siteparts3`.`sitepart_id`
|
|||
|
|
WHERE
|
|||
|
|
`news`.`sitepart_id` = '104' AND `active` = '1'
|
|||
|
|
ORDER BY
|
|||
|
|
`news_id` DESC LIMIT 1
|
|||
|
|
", 'newser');
|
|||
|
|
|
|||
|
|
if (isset($zauglom['news_id'])){
|
|||
|
|
$data['zauglom'] = $zauglom['title'];
|
|||
|
|
$data['zauglom_link'] = 'https://argumenti.ru/'.$zauglom['alias'].'/'.$zauglom['dateurl'].'/'.$zauglom['news_id'];
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
$message = view('views/subscript.phtml', $data);
|
|||
|
|
|
|||
|
|
|
|||
|
|
if (!in_array($currmail, $mails)) { // защита от повторной отправки
|
|||
|
|
|
|||
|
|
//file_put_contents("/vhosts/adanar.argumenti.ru/log/mailtest_$nn.html", $message);
|
|||
|
|
|
|||
|
|
// это отправка письма
|
|||
|
|
$sender = email($currmail, $subject, $message, $frommail);
|
|||
|
|
$keymail = $keymail + 1;
|
|||
|
|
|
|||
|
|
if (!isset($emails[$keymail])){
|
|||
|
|
$keymail = 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
if ($sender == 'NO') {
|
|||
|
|
$keymail = $keymail + 1;
|
|||
|
|
|
|||
|
|
if (!isset($emails[$keymail])){
|
|||
|
|
$keymail = 0;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
echo "paused $pause s ... \n";
|
|||
|
|
sleep($pause);
|
|||
|
|
|
|||
|
|
|
|||
|
|
// $sender = email($currmail, $subject, $message, $frommail);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//$frommail = $emails[$keymail];
|
|||
|
|
|
|||
|
|
if (isset($user['buy_id']))
|
|||
|
|
$buy_id = $user['buy_id'];
|
|||
|
|
else
|
|||
|
|
$buy_id = $nn;
|
|||
|
|
|
|||
|
|
if ($sender == 'NO'){
|
|||
|
|
$errors[] = ['buy_id' => $buy_id, 'buy_email' => $currmail];
|
|||
|
|
}
|
|||
|
|
else { //письмо отправлено
|
|||
|
|
$sql_okmail = "
|
|||
|
|
UPDATE `anbuy`
|
|||
|
|
SET `mail_status` = '1'
|
|||
|
|
WHERE `buy_id` = '$buy_id';
|
|||
|
|
";
|
|||
|
|
$okupdate = db_get($sql_okmail);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$senddate = date('H:i:s d-m-Y');
|
|||
|
|
|
|||
|
|
$str_info = 'ID: '.$client['client_id'].' BUY_ID: '.$buy_id.". $currmail - $sender $senddate (".$frommail['mail'].')';
|
|||
|
|
echo "$str_info\n";
|
|||
|
|
$resusers[] = $str_info;
|
|||
|
|
$mails[$currmail] = $currmail;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
//sleep(3);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
if ($argv[1] !== 'test') {
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
$arr_json = json_decode($errors);
|
|||
|
|
file_put_contents($ferr, $arr_json);
|
|||
|
|
|
|||
|
|
$sendsheff = new sendsheff();
|
|||
|
|
|
|||
|
|
$text = "Приветствую!\nНастоящим уверяю Вас в своем почтении. Высылаю результаты отправки подписки ".$endnumber['priceauthor'].' '.$endnumber['pricename']."\n";
|
|||
|
|
$text .= "\nВсего доставлено: '.$nn.' экз.\n\n";
|
|||
|
|
|
|||
|
|
foreach ($resusers as $resuser) {
|
|||
|
|
$text .= "$resuser\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$text .= errs2array($errors);
|
|||
|
|
$log_file = 'logs/subscript_'.$argv[1].'_'.date('H:i:s d-m-Y');
|
|||
|
|
|
|||
|
|
file_put_contents($log_file, $text);
|
|||
|
|
|
|||
|
|
|
|||
|
|
$prmails = array('0'=>'ak@argumenti.ru', '1' => 'shop@argumenti.ru', '3' => 'viatcheslav.zhuk@gmail.com', '4'=>'podpiska@argumenti.ru');
|
|||
|
|
$prmails = array('0'=>'ak@argumenti.ru');
|
|||
|
|
|
|||
|
|
foreach($prmails as $prmail) {
|
|||
|
|
$send = $sendsheff->send($prmail, 'Доставка подписки '.$endnumber['priceauthor'].' '.$endnumber['pricename'], $text);
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
file_put_contents('/vhosts/adanar.argumenti.ru/subscript.log', $text);
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
function errs2array($users) {
|
|||
|
|
$text = "\nC ошибками:\n";
|
|||
|
|
$text .= "\n".'$users'."= [\n";
|
|||
|
|
foreach ($users as $user){
|
|||
|
|
$text .= "\n'".$user['buy_email']."',\n";
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
$text .= "\n];\n";
|
|||
|
|
|
|||
|
|
return $text;
|
|||
|
|
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
|
|||
|
|
echo "\n\nSubscripts: ".$nn;
|