use Illuminate\Foundation\Application; use Illuminate\Foundation\Configuration\Exceptions; use Illuminate\Foundation\Configuration\Middleware; use Illuminate\Routing\Router; use App\Http\Middleware\AccountsMiddleware; use App\Http\Middleware\AdminMiddleware; use App\Http\Middleware\EmployeeMiddleware; use App\Http\Middleware\ManagerMiddleware; use App\Http\Middleware\SuperAdminMiddleware; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Auth\AuthenticationException; use Carbon\Carbon; return Application::configure(basePath: dirname(__DIR__)) // ->withProviders() ->withRouting( // web: __DIR__.'/../routes/web.php', // health: '/up', function (Router $router) { $router->middleware('web') ->group(base_path('routes/web.php')); $router->middleware('web') ->group(base_path('routes/user/user.php')); $router->middleware('web') ->group(base_path('routes/user/search.php')); $router->middleware('admin') ->group(base_path('routes/admin/admin.php')); $router->middleware('admin') ->group(base_path('routes/admin/search.php')); $router->middleware('agent') ->group(base_path('routes/agent/agent.php')); $router->middleware('agent') ->group(base_path('routes/agent/search.php')); }, commands: __DIR__.'/../routes/console.php', ) ->withMiddleware(function (Middleware $middleware) { $middleware->group('web', [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, \App\Http\Middleware\LastOnlineDetectUser::class, \App\Http\Middleware\PreventBlockAndUnactiveUsers::class, \App\Http\Middleware\LockScreenCheckUser::class, \App\Http\Middleware\PackageDetailsActiveCheck::class, ]); $middleware->group('admin', [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, \App\Http\Middleware\LastOnlineDetectAdmin::class, \App\Http\Middleware\LockScreenCheckAdmin::class, ]); $middleware->group('agent', [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, ]); $middleware->group('agentusers', [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\VerifyCsrfToken::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, ]); $middleware->alias([ 'auth' => \App\Http\Middleware\Authenticate::class, 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, 'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class, 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, 'can' => \Illuminate\Auth\Middleware\Authorize::class, 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, 'longaccesscheck' => \App\Http\Middleware\LongAccessCheck::class, 'agent_access' => \App\Http\Middleware\AgentAccess::class, 'agent_search_access' => \App\Http\Middleware\SearchAgentAccess::class, 'matchmaking' => \App\Http\Middleware\Matchmaking::class, 'smsreplies' => \App\Http\Middleware\SmsRepliesMiddleware::class, 'FrontendFeature' => \App\Http\Middleware\FrontendFeatureMiddlware::class, 'royalmatch' => \App\Http\Middleware\Royalmatch::class, 'otp_check' => \App\Http\Middleware\OtpMiddleware::class, ]); $middleware->priority([ \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, \App\Http\Middleware\Authenticate::class, \Illuminate\Session\Middleware\AuthenticateSession::class, \Illuminate\Routing\Middleware\SubstituteBindings::class, \Illuminate\Auth\Middleware\Authorize::class, ]); }) ->withSchedule(function (Schedule $schedule) { if (Storage::disk('public')->exists('cronjob/memberExpireSwitch.txt')){ $getSwitch = Storage::disk('public')->get('cronjob/memberExpireSwitch.txt'); if($getSwitch == 'on'){ if (Storage::disk('public')->exists('cronjob/memberExpireTimezone.txt')) { $timeZone = Storage::disk('public')->get('cronjob/memberExpireTimezone.txt'); $schedule->command('MembershipExpire:cron') ->timezone($timeZone) ->daily(); }else{ $schedule->command('MembershipExpire:cron') ->daily(); } } } if (Storage::disk('public')->exists('cronjob/matchmail.txt')) { $get_records = json_decode(Storage::disk('public')->get('cronjob/matchmail.txt')); if((int)$get_records->switch == 1){ $timeZone = $get_records->time_zone; $startTime = Carbon::parse($get_records->start_time)->format('h:i:s A'); $lastTime = Carbon::parse($get_records->end_time)->format('h:i:s A'); $presentTime = Carbon::now()->format('h:i:s A'); $lastStrToTime = strtotime($lastTime); $startStrToTime = strtotime($startTime); $presentStrToTime = strtotime($presentTime); $timeRange = range($startStrToTime,$lastStrToTime); if (in_array($presentStrToTime, $timeRange) !== false) { $schedule->command('MatchMail:cron') ->timezone($timeZone) ->everyMinute(); } } } }) ->withExceptions(function (Exceptions $exception) { // $exception->render(function (Exception $e, Request $request) { // $currentUrl = explode('/', url()->current()); // if($currentUrl[3] == "user"){ // if ($this->isHttpException($exception)) { // if ($exception->getStatusCode() == 404) { // return redirect()->route('user.404'); // } // if ($exception->getStatusCode() == 500) { // return response()->view('errors.user.' . '500', [], 500); // } // } // }elseif($currentUrl[3] == "admin"){ // if ($this->isHttpException($exception)) { // if ($exception->getStatusCode() == 404) { //return redirect()->route('admin.404'); // } // if ($exception->getStatusCode() == 500) { // return response()->view('errors.admin.' . '500', [], 500); // } // } // }else{ // if($exception->getMessage() === 'CSRF token mismatch.'){ // return redirect()->route('frontend.login'); // } // if ($this->isHttpException($exception)) { // if ($exception->getStatusCode() == 404) { // return response()->view('errors.' . '404', [], 404); // } // } // } // }); // $exception->render(function (AuthenticationException $e, Request $request) { // $guard = array_get($exception->guards(), 0); // // dd($guard); // switch ($guard) { // case 'admin': // $redirect = route('adminLogin'); // break; // case 'agent': // $redirect = route('agent.login'); // break; // default: // $redirect =route('frontend.login'); // break; // } // return $request->expectsJson() // ? response()->json(['message' => $exception->getMessage()], 401) // : redirect()->guest($redirect); // }); // $exception->render(function (Exception $e, Request $request) { // $guard = array_get($exception->guards(), 0); // switch ($guard) { // case 'admin': // $redirect = route('adminLogin'); // break; // case 'agent': // $redirect = route('agent.login'); // break; // default: // $redirect =route('frontend.login'); // break; // } // return $request->expectsJson() // ? response()->json(['message' => $exception->getMessage()], 401) // : redirect()->guest($redirect); // }); })->create();