/** * Фиксирум просмотр документа * Не более 1 раза с одного IP в день * @param $document_id - ID документа * @return bool */ public static function check($document_id) { $ip = $_SERVER["REMOTE_ADDR"]; // Проверяем наличие просмотров за сегодня с этого IP $model = Visit::find()->where('document_id=:document_id && ip=:ip && created_at>=:created_at', [':document_id' => $document_id, ':ip' => $ip, ':created_at' => date('Y-m-d') . ' 00:00:00'])->count(); // Сохраняем запись if (!$model) { $visit = new Visit(); $visit->document_id = $document_id; $visit->ip = $ip; $visit->user_id = Yii::$app->user->isGuest ? null : Yii::$app->user->id; $visit->user_agent = $_SERVER['HTTP_USER_AGENT']; $visit->save(); return true; } else { return false; } }