Commit 134251f0 authored by Олег Гиммельшпах's avatar Олег Гиммельшпах

Merge branch 'master' of git.task-on.com:ktask/task-on.com

parents 9789f7ee ac49ea04
<?php
namespace common\components;
use app\models\TriggerLogs;
use common\modules\triggers\models\TriggerLogs;
use common\modules\triggers\components\conditions\conditions\CheckPresenceTime;
use common\modules\triggers\components\conditions\conditions\CheckScrolling;
use Yii;
......@@ -64,7 +64,7 @@ abstract class BaseController extends Controller
public function beforeAction($action)
{
// TriggerLogs::logAction();
TriggerLogs::logAction();
// CheckPresenceTime::init()->initScript();
// CheckScrolling::init()->initScript();
/*if(substr($currentUrl, -1) == '/' && $currentUrl!="/") {
......
......@@ -4,6 +4,7 @@ namespace common\modules\triggers\controllers;
use common\components\BaseController;
use common\modules\triggers\components\conditions\Conditions;
use common\modules\triggers\models\TriggerLogs;
use common\modules\triggers\models\TriggerSchedule;
use common\modules\triggers\models\TriggerTrigger;
use \DateTime;
......@@ -18,10 +19,25 @@ class DefaultController extends BaseController
return [
'Index' => 'Главная страница модуля',
'Rechecktriggers' => 'Запуск проверки срабатывания триггеров',
'Settimeoflogs' => 'Фиксация времени логов',
'Inittrigger' => 'Initiate trigger By id'
];
}
/**
* @param $id
* @param $value
*/
public function actionSettimeoflogs($id, $value)
{
/** @var TriggerLogs $model */
$model = TriggerLogs::findOne($id);
if (!is_null($model)) {
$model->presence_time = $value;
$model->save(false);
}
}
public function actionInittrigger($id){
if (\Yii::$app->request->isAjax) {
/** @var TriggerTrigger $trigger */
......
......@@ -25,15 +25,40 @@ class TriggerLogs extends \yii\db\ActiveRecord
public static function logAction()
{
if (!Yii::$app->user->isGuest) {
if (!Yii::$app->user->isGuest && !Yii::$app->request->isAjax) {
$action = self::USER_VISITED;
if (Yii::$app->controller->action->id=='registration')
$action = self::USER_REGISTRATION;
$date = new \DateTime();
$model = new TriggerLogs();
$model->user_id = Yii::$app->user->identity->id;
$model->action = self::USER_VISITED;
$model->action = $action;
$model->url = Yii::$app->request->getUrl();
$model->datetime = $date->format('Y-m-d H:i:s');
$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