Files
shipping-portal/app/Http/Middleware/RouteLogs.php
T
2022-12-31 11:53:41 +08:00

56 lines
1.5 KiB
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use App\Models\RouteLog;
use Auth;
class RouteLogs
{
/**
* Handle an incoming request.
*
* @param \Illuminate\Http\Request $request
* @param \Closure(\Illuminate\Http\Request): (\Illuminate\Http\Response|\Illuminate\Http\RedirectResponse) $next
* @return \Illuminate\Http\Response|\Illuminate\Http\RedirectResponse
*/
public function handle(Request $request, Closure $next)
{
$ip_address = getenv('REMOTE_ADDR');
$url = $request->fullUrl();
$request_method = $request->method();
$platform = $request->header('sec-ch-ua-platform');
$browser = Str::after($request->header('sec-ch-ua'), 'Not?A_Brand";v="8", "Chromium";v="108", "');
$geo = unserialize(file_get_contents("http://www.geoplugin.net/php.gp?ip=$ip_address"));
$longitude = $geo["geoplugin_longitude"];
$latitude = $geo["geoplugin_latitude"];
$last_page = url()->previous();
$countryName = $geo["geoplugin_countryName"];
dd($user);
// RouteLog::create([
// 'user_id' => Auth::user() ? Auth::user()->id : 0,
// 'ip_address' => $request->ip(),
// 'url' => $url,
// 'request_method' => $request_method,
// 'browser' => $browser,
// 'platform' => $platform,
// 'longitude' => $longitude,
// 'latitude' => $latitude,
// 'last_page' => $last_page,
// 'countryname' => $countryName,
// 'route_type' => 1
// ]);
return $next($request);
}
}