public function log() { if ((new CrawlerDetect())->isCrawler()) { return; } if (is_object(Auth::user())) { return; } if (!Session::has('views')) { Session::put('views', []); $this->logReferer(); } $slugs = Cache::get('post_slugs'); $path = (new UrlParser(Request::url()))->path; if (is_null($slugs)) { $slugs = []; } if (!in_array(substr($path, 1), $slugs)) { return; } $views = Session::get('views'); if (is_null($path)) { $path = '/'; } if (in_array($path, $views)) { return; } $views[] = $path; Session::put('views', $views); $view = View::where('path', $path)->first(); if (is_null($view)) { $view = new View(); $view->count = 0; } $view->path = $path; $view->count++; $view->save(); }