Example #1
0
 /**
  * Handle an incoming request.
  *
  * @param \Illuminate\Http\Request $request        	
  * @param \Closure $next        	
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $ignore = ['222.20.35.168', '127.0.0.1'];
     if (array_search($request->ip(), $ignore) === false) {
         $ip = $request->ip();
         $path = $request->path();
         $view = new View();
         $view->ip = $ip;
         $view->url = $path;
         $view->location = GeoipParser::parse($ip);
         $view->save();
     }
     return $next($request);
 }
Example #2
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();
 }