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

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