- Добавлены новые параметры в метод afterSubscribe, для возврата ошибок

parent cbf3de8e
...@@ -641,7 +641,7 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter ...@@ -641,7 +641,7 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
* @param array $params * @param array $params
* @return bool * @return bool
*/ */
public function afterSubscribe($params=array()){ public function afterSubscribe($params=array(), $return=false){
$date = new \DateTime(); $date = new \DateTime();
/** @var TriggerTrigger[] $actualTriggers */ /** @var TriggerTrigger[] $actualTriggers */
$actualTriggers = TriggerTrigger::getActualTriggers(); $actualTriggers = TriggerTrigger::getActualTriggers();
...@@ -655,27 +655,44 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter ...@@ -655,27 +655,44 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
// Указываем дату следующей отправки (по умолчанию сегодня, в момент срабатывания триггера) // Указываем дату следующей отправки (по умолчанию сегодня, в момент срабатывания триггера)
$user=User::findOne($this->id); $user=User::findOne($this->id);
$user->delivery_date = $date->format('Y-m-d'); $user->delivery_date = $date->format('Y-m-d');
$user->save(); if ($user->save()) {
// Вызываем перезапуск всех триггеров // Вызываем перезапуск всех триггеров
$curl = curl_init(); $curl = curl_init();
curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/rechecktriggers')); curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/rechecktriggers'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
if (!curl_exec($curl)) { if (!curl_exec($curl)) {
if ($return===false) {
$this->addError('email', curl_error($curl)); $this->addError('email', curl_error($curl));
return false; return false;
} else
return curl_error($curl);
} }
// Затем инициируем рассылку // Затем инициируем рассылку
$curl = curl_init(); $curl = curl_init();
curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/recheckcases')); curl_setopt($curl, CURLOPT_URL, Yii::$app->urlManager->createAbsoluteUrl('/triggers/default/recheckcases'));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true); curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);
if (!curl_exec($curl)) { if (!curl_exec($curl)) {
if ($return===false) {
$this->addError('email', curl_error($curl)); $this->addError('email', curl_error($curl));
return false; return false;
} else
return curl_error($curl);
} }
return true; return true;
} else { } else {
if ($return===false) {
$this->addError('email', current(current($user->getErrors())));
return false;
} else
return current(current($user->getErrors()));
}
} else {
if ($return===false) {
$this->addError('email', $init); $this->addError('email', $init);
return false; return false;
} else {
return $init;
}
} }
} }
} }
......
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