Commit 1cf2c31b authored by Shakarim Sapa's avatar Shakarim Sapa

- Добавлена функция подключения js скрипта к определенной странице по url-у

parent 8fca25f6
......@@ -11,6 +11,7 @@ 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\TriggerCondition;
use common\modules\triggers\models\TriggerParam;
use common\modules\triggers\models\TriggerTrigger;
......@@ -31,16 +32,32 @@ class CheckPresenceTime extends ConditionBase implements ConditionInterface {
public function initScript(){
/** @var TriggerTrigger[] $actualTriggers */
// $actualTriggers = TriggerTrigger::getActualTriggers(self::CONDITION_ID);
// foreach($actualTriggers as $trigger) {
// foreach($trigger->getTriggerConditions() as $condition) {
// /** @var TriggerParam $paramUrl */
// $paramUrl = TriggerParam::find()->where(['condition_id'=>$condition->getPrimaryKey(), 'key'=>'url']);
// if ($condition->condition_id==self::CONDITION_ID && $paramUrl!==null && $paramUrl->value==\Yii::$app->request->getUrl()) {
// echo '<script type="text/javascript">$(document).ready(function(){alert("ASD")});</script>';
// }
// }
// }
$actualTriggers = TriggerTrigger::getActualTriggers(self::CONDITION_ID);
foreach($actualTriggers as $trigger) {
$conditions = TriggerCondition::find()->where(['trigger_id' => $trigger->getPrimaryKey()])->all();
foreach($conditions as $condition) {
/** @var TriggerParam $paramUrl */
$paramUrl = TriggerParam::find()->where(['condition_id'=>$condition->getPrimaryKey(), 'key'=>'url'])->one();
$paramTime = TriggerParam::find()->where(['condition_id'=>$condition->getPrimaryKey(), 'key'=>'time'])->one();
if ($condition->condition_id==self::CONDITION_ID && $paramUrl!==null && $paramUrl->value==\Yii::$app->request->getUrl()) {
$view = \Yii::$app->controller->view;
$script ='$(window).on("beforeunload", function() {
var timer='.(($paramTime!==null) ? $paramTime->value : 0).';
if(timer>0){
$.ajax({
url: "/triggers/default/inittrigger",
method: "GET",
async: false,
data: {
id: '.$trigger->getPrimaryKey().'
},
});
}
});';
echo $view->registerJs($script, $view::POS_READY);
}
}
}
}
/**
......
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