Example #1
0
 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();
 }