Commit b58239bb authored by Shakarim Sapa's avatar Shakarim Sapa

- Расписан метод, проверяющий срабатывание условия "переход по ссылке";

parent 3921af27
......@@ -3,6 +3,8 @@ namespace common\modules\triggers\components\conditions\conditions;
use common\modules\triggers\components\conditions\vendor\ConditionBase;
use common\modules\triggers\components\conditions\vendor\ConditionInterface;
use common\modules\triggers\models\TriggerParam;
use common\components\UnisenderAPI;
class CheckClickingOnTheLink extends ConditionBase implements ConditionInterface {
const CONDITION_ID = 2;
......@@ -11,6 +13,8 @@ class CheckClickingOnTheLink extends ConditionBase implements ConditionInterface
public $params=[];
public $model;
/**
* @param null|string $conditionName
* @return $this mixed
......@@ -19,7 +23,26 @@ class CheckClickingOnTheLink extends ConditionBase implements ConditionInterface
return parent::init($conditionName);
}
public function check(){
return true;
/**
* Осуществляем проверку на переход по ссылке
* @param $message
* @return bool
*/
public function check($message){
// Если модель условия указана и полученное сообщение не нуль
if (!is_null($this->model) && !is_null($message)) {
// Получаем параметр link
$param = TriggerParam::find()->where(['condition_id' => $this->model->id, 'key' => 'link'])->one();
// Если параметр есть, и идентификатор кампании в сообщении не равен нулю
if (!is_null($param) && !is_null($message->campaign_id)) {
// Создаем объект унисендера
$sender=new UnisenderAPI();
// Делаем запрос на получение ссылок по которым переходили
$sender->getVisitedLinks($message->campaign_id);
// Возвращаем переход по конкретной ссылке
return $sender->linkIsVisited($message->email, $param->value);
}
}
return false;
}
}
\ No newline at end of file
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