From e4cdb26c2f7670d9a23a3662526f584f0f1118a6 Mon Sep 17 00:00:00 2001 From: xiaomlove <1939737565@qq.com> Date: Sun, 31 May 2026 03:35:13 +0700 Subject: [PATCH] api add middleware: CheckSiteStatus --- app/Http/Kernel.php | 2 ++ app/Http/Middleware/CheckSiteStatus.php | 27 +++++++++++++++++++++++++ app/Models/Setting.php | 5 +++++ nexus/PTGen/PTGen.php | 2 +- resources/lang/en/misc.php | 5 +++++ resources/lang/zh_CN/misc.php | 5 +++++ resources/lang/zh_TW/misc.php | 5 +++++ 7 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 app/Http/Middleware/CheckSiteStatus.php create mode 100644 resources/lang/en/misc.php create mode 100644 resources/lang/zh_CN/misc.php create mode 100644 resources/lang/zh_TW/misc.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index bffc09db..149617f0 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -2,6 +2,7 @@ namespace App\Http; +use App\Http\Middleware\CheckSiteStatus; use App\Http\Middleware\Filament; use App\Http\Middleware\Locale; use App\Http\Middleware\LogUserIp; @@ -48,6 +49,7 @@ class Kernel extends HttpKernel 'api' => [ 'throttle:api', \Illuminate\Routing\Middleware\SubstituteBindings::class, + CheckSiteStatus::class, ], 'filament' => [ \Illuminate\Session\Middleware\StartSession::class, diff --git a/app/Http/Middleware/CheckSiteStatus.php b/app/Http/Middleware/CheckSiteStatus.php new file mode 100644 index 00000000..bf34e084 --- /dev/null +++ b/app/Http/Middleware/CheckSiteStatus.php @@ -0,0 +1,27 @@ +user(); + if ($user && $user->class < User::CLASS_ADMINISTRATOR && !Setting::getIsSiteOnline()) { + throw new NexusException(nexus_trans('misc.site_down_for_maintenance')); + } + return $next($request); + } +} diff --git a/app/Models/Setting.php b/app/Models/Setting.php index b6c40d8e..47dc4671 100644 --- a/app/Models/Setting.php +++ b/app/Models/Setting.php @@ -339,4 +339,9 @@ class Setting extends NexusModel { return (int)self::get("bonus.self_enable", BonusLogs::DEFAULT_BONUS_SELF_ENABLE); } + + public static function getIsSiteOnline(): bool + { + return self::get('main.site_online') == 'yes'; + } } diff --git a/nexus/PTGen/PTGen.php b/nexus/PTGen/PTGen.php index 52be37c4..f1fead09 100644 --- a/nexus/PTGen/PTGen.php +++ b/nexus/PTGen/PTGen.php @@ -364,7 +364,7 @@ HTML; } } - public function listRatings(array $ptGenData, string $imdbLink, string $desc = ''): array + public function listRatings(array $ptGenData, ?string $imdbLink, string $desc = ''): array { $results = []; $log = ""; diff --git a/resources/lang/en/misc.php b/resources/lang/en/misc.php new file mode 100644 index 00000000..e0401c3f --- /dev/null +++ b/resources/lang/en/misc.php @@ -0,0 +1,5 @@ + "Site is down for maintenance, please check back again later... thanks", +]; diff --git a/resources/lang/zh_CN/misc.php b/resources/lang/zh_CN/misc.php new file mode 100644 index 00000000..9fbe46ee --- /dev/null +++ b/resources/lang/zh_CN/misc.php @@ -0,0 +1,5 @@ + '站点关闭维护中,请稍后再访问...谢谢', +]; diff --git a/resources/lang/zh_TW/misc.php b/resources/lang/zh_TW/misc.php new file mode 100644 index 00000000..e49cd8b8 --- /dev/null +++ b/resources/lang/zh_TW/misc.php @@ -0,0 +1,5 @@ + '站點關閉維護中,請稍後再訪問...謝謝', +];