- Добавлен скрипт фиксирующий каждые 5 секунд время присутствия на странице

parent ad4e166b
...@@ -25,7 +25,7 @@ class TriggerLogs extends \yii\db\ActiveRecord ...@@ -25,7 +25,7 @@ class TriggerLogs extends \yii\db\ActiveRecord
public static function logAction() public static function logAction()
{ {
if (!Yii::$app->user->isGuest) { if (!Yii::$app->user->isGuest && !Yii::$app->request->isAjax) {
$action = self::USER_VISITED; $action = self::USER_VISITED;
if (Yii::$app->controller->action->id=='registration') if (Yii::$app->controller->action->id=='registration')
$action = self::USER_REGISTRATION; $action = self::USER_REGISTRATION;
...@@ -36,7 +36,29 @@ class TriggerLogs extends \yii\db\ActiveRecord ...@@ -36,7 +36,29 @@ class TriggerLogs extends \yii\db\ActiveRecord
$model->url = Yii::$app->request->getUrl(); $model->url = Yii::$app->request->getUrl();
$model->datetime = $date->format('Y-m-d H:i:s'); $model->datetime = $date->format('Y-m-d H:i:s');
$model->presence_time = 1; $model->presence_time = 1;
$model->save(); if ($model->save()) {
$view = \Yii::$app->controller->view;
// Создаем скрипт
$script ='$(document).ready(function() {
var id='.($model->getPrimaryKey()).';
var interval = 5;
var value = 5;
setInterval(function() {
$.ajax({
url: "/triggers/default/settimeoflogs",
method: "GET",
async: false,
data: {
id: id,
value: value
},
});
value += interval;
}, (interval*1000));
});';
// Регистрируем его
$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