Commit 77f3abd6 authored by Shakarim Sapa's avatar Shakarim Sapa

- Добавили обработчик, выполняющий условие в триггере по подписке на блог

parent 56fba3f1
......@@ -7,6 +7,7 @@ use common\modules\messageTemplate\models\MessageTemplate;
use common\modules\triggers\components\conditions\Conditions;
use common\modules\triggers\components\conditions\conditions\CheckUserToRegistration;
use common\modules\triggers\components\conditions\conditions\CheckUserToSubscribe;
use common\modules\triggers\components\conditions\conditions\CheckUserToSubscribeToBlog;
use common\modules\triggers\models\AuthHashes;
use common\modules\triggers\models\TriggerCondition;
use common\modules\triggers\models\TriggerLogs;
......@@ -699,8 +700,43 @@ class User extends \common\components\ActiveRecordModel implements IdentityInter
return true;
}
/**
* @param array $params
* @param bool $return
* @return bool|string
*/
public function afterSubscribeToBlog($params=array(), $return=false){
/** @var TriggerTrigger[] $actualTriggers */
$actualTriggers = TriggerTrigger::getActualTriggers();
foreach($actualTriggers as $trigger) {
$exists = TriggerCondition::find()->where(['trigger_id'=>$trigger->id, 'condition_id'=>CheckUserToSubscribeToBlog::CONDITION_ID])->exists();
$count = TriggerCondition::find()->where(['trigger_id'=>$trigger->id])->count();
// Добавляем в расписание срабатывание триггера регистрации только при условии что у триггера условие регистрации есть и оно там одно
if ($exists===true && $count==1) {
$init = $trigger->initAction($params);
if ($init===true) {
// Вызываем перезапуск всех триггеров
$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);
}
} else {
if ($return===false) {
$this->addError('email', $init);
return false;
} else {
return $init;
}
}
}
}
return true;
}
/**
......
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