Commit 7323ebe8 authored by Shakarim Sapa's avatar Shakarim Sapa

- Добавили метод рассылки по расписанию

parent bf722066
......@@ -5,6 +5,8 @@ namespace common\modules\blog\controllers;
use common\components\BaseController;
use common\modules\blog\models\BlogBids;
use common\modules\blog\models\BlogSchedule;
use common\modules\triggers\models\TriggerSchedule;
use Yii;
use yii\widgets\ActiveForm;
use yii\web\NotFoundHttpException;
......@@ -15,9 +17,37 @@ class BlogBidController extends BaseController {
{
return [
'Add' => 'Subscribe to blog',
'Sendbyschedule' => 'Рассылка по расписанию блога'
];
}
public function actionSendbyschedule(){
// Тут хранится идентификатор шаблона для отправки по блогам
$template_id = 1;
// Получили текущую дату и время
$date = new \DateTime();
// Получили все записи в расписании на текущую дату
$schedule = BlogSchedule::find()->where(['date' => $date->format('Y-m-d')])->all();
// В цикле перебираем записи
foreach($schedule as $record) {
// Сформировали массив для шаблона
$templateData = [];
// Пытаемся произвести отправку
$sended = TriggerSchedule::sendMessage($record->email, $template_id, $templateData, null);
// Если отправка успешна
if ($sended===true) {
// Получаем запись
/** @var BlogSchedule $model */
$model = BlogSchedule::findOne($record->id);
// Переключаем параметр sent в состояние 1 (отправлено)
$model->sent = 1;
// Сохраняем модель
if (!$model->save())
echo current(current($model->getErrors()));
}
}
}
public function actionAdd(){
Yii::$app->response->format = Response::FORMAT_JSON;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment