public function beforeSave($insert) { $logsMonitor = new LogsMonitor(); $logsMonitor->setAttributes($this->attributes); $logsMonitor->rendered = 0; $logsMonitor->save(false); return parent::beforeSave($insert); }
public function actionIndex() { if (\Yii::$app->request->isAjax) { $data = array(); $logs = LogsMonitor::find()->where('rendered!=1')->orderBy('date DESC')->all(); if (count($logs) > 0) { $data['html'] = ''; } foreach ($logs as $log) { $q = $log->attributes; $q['user_name'] = $log->user->username; $data['html'] .= $this->renderPartial('_log', ['q' => $q]); } LogsMonitor::updateAll(['rendered' => 1]); return json_encode($data); } LogsMonitor::clearOld(); $logs = LogsMonitor::find()->orderBy('date DESC')->all(); LogsMonitor::updateAll(['rendered' => 1]); return $this->render('index', ['logs' => $logs]); }
public function getLogs() { return $this->hasMany(LogsMonitor::className(), ['user_id' => 'id']); }
$color = 'red'; break; } ?> <div class="log" style="color: <?php echo $color; ?> ;"> <div class="date"><?php echo date('H:i:s', $q['date']); ?> </div> <div class="text"> <p class="title"><?php echo LogsMonitor::operationType($q['type']); ?> "<?php echo $q['client_name']; ?> " пользователем <?php echo $q['user_name']; ?> </p> <?php if ($q['field']) { ?> <p class="changes">изменено поле "<?php echo $q['field']; ?> "
public static function clearOld($seconds = 300) { $date = time() - $seconds; LogsMonitor::deleteAll('date < :date', [':date' => $date]); return true; }