public function actionAccept($id) { return self::doAction($id, function (\app\models\Union $item) { $item->accept(); \cs\Application::mail($item->getUser()->getEmail(), 'Ваше объединение прошло модерацию', 'moderator_unions/accept', ['item' => $item]); Subscribe::add($item); SiteUpdate::add($item); $item->update(['is_added_site_update' => 1]); }); }
/** * AJAX * Добавляет site_update * Делает рассылку * * @param integer $id - идентификатор услуги * * @return string */ public function actionSubscribe($id) { $item = Service::find($id); if (is_null($item)) { return self::jsonError(101, 'Не найдено послание'); } Subscribe::add($item); SiteUpdate::add($item); $item->update(['is_added_site_update' => 1]); return self::jsonSuccess(); }
/** * Расчитывет значение счетчика * Если будет запущено второй раз за сессию то вычисление происходить не будут */ public static function calc() { if (\Yii::$app->session->get(self::SESSION_KEY, false) === false) { $lastAction = \Yii::$app->user->identity->getField('last_action'); $count = 0; if ($lastAction) { $count = SiteUpdate::query(['>', 'date_insert', $lastAction])->count(); } else { $count = 0; } \Yii::$app->session->set(self::SESSION_KEY, $count); } }
/** * AJAX * Добавляет site_update * Делает рассылку * * @param integer $id - идентификатор события * * @return string */ public function actionSubscribe($id) { $item = \app\models\Event::find($id); if (is_null($item)) { return self::jsonError(101, 'Не найдено событие'); } $start = microtime(true); Subscribe::add($item); SiteUpdate::add($item); $item->update(['is_added_site_update' => 1]); \Yii::info(microtime(true) - $start, 'gs\\actionSubscribe'); return self::jsonSuccess(); }
public function actionSite_update_ajax() { $typeId = self::getParam('id'); return self::jsonSuccess($this->renderFile('@app/views/site/site_update_ajax.php', ['list' => SiteUpdate::query(['type' => $typeId])->orderBy(['date_insert' => SORT_DESC])->limit(50)->all()])); }
/** * делает рассылку о том что добавлено объединение * * @param int $id идентификатор объединения * * @return \yii\web\Response */ public function actionObjects_subscribe($id) { return self::doAction($id, function (\app\models\Union $item) { Subscribe::add($item); SiteUpdate::add($item); $item->update(['is_added_site_update' => 1]); }); }