isMethod('GET') && !$request->is('admin/*', 'admin') && !$request->ajax() && !$request->expectsJson() && str_contains($response->headers->get('Content-Type', ''), 'text/html') ) { $today = now()->toDateString(); $ip = $request->ip(); $isNew = Cache::add("visit_ip_{$today}_{$ip}", 1, now()->endOfDay()); DB::table('page_visits') ->upsert( ['date' => $today, 'views' => 1, 'unique_ips' => $isNew ? 1 : 0], ['date'], ['views' => DB::raw('views + 1'), 'unique_ips' => DB::raw('unique_ips + ' . ($isNew ? 1 : 0))] ); } return $response; } }