From 5b5630cd95da9726525f560ecaecb9fe176fdeb4 Mon Sep 17 00:00:00 2001 From: TL Date: Thu, 28 Jul 2022 16:37:27 +0800 Subject: [PATCH] =?UTF-8?q?=E8=AF=AD=E8=A8=80=E5=88=87=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Middleware/Language.php | 2 +- beike/Helpers.php | 6 +++--- beike/Repositories/LanguageRepo.php | 9 +++++++++ beike/Shop/Http/Controllers/LanguageController.php | 2 +- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/app/Http/Middleware/Language.php b/app/Http/Middleware/Language.php index 0ab67ba1..64c8dd49 100644 --- a/app/Http/Middleware/Language.php +++ b/app/Http/Middleware/Language.php @@ -18,7 +18,7 @@ class Language */ public function handle(Request $request, Closure $next) { - if (Session()->has('locale') AND array_key_exists(Session()->get('locale'), LanguageRepo::all()->where('status', true)->pluck('code'))) { + if (Session()->has('locale') AND array_key_exists(Session()->get('locale'), languages())) { App::setLocale(Session()->get('locale')); } else { // This is optional as Laravel will automatically set the fallback language if there is none specified diff --git a/beike/Helpers.php b/beike/Helpers.php index 32b232ee..45b73a53 100644 --- a/beike/Helpers.php +++ b/beike/Helpers.php @@ -2,6 +2,7 @@ use Beike\Models\Customer; use Beike\Models\AdminUser; +use Beike\Repositories\LanguageRepo; use Illuminate\Support\Str; use TorMorten\Eventy\Facades\Eventy; use Illuminate\Support\Facades\Route; @@ -231,12 +232,11 @@ function image_origin($image) /** * 获取当前所有语言列表 * - * @return array|false + * @return \Illuminate\Support\Collection */ function languages() { - $languageDir = resource_path('lang'); - return array_diff(scandir($languageDir), array('..', '.')); + return LanguageRepo::enabled()->pluck('code'); } /** diff --git a/beike/Repositories/LanguageRepo.php b/beike/Repositories/LanguageRepo.php index 4c76021a..8a7d2274 100644 --- a/beike/Repositories/LanguageRepo.php +++ b/beike/Repositories/LanguageRepo.php @@ -74,4 +74,13 @@ class LanguageRepo { return Language::query()->get(); } + + /** + * 获取所有启用的语言 + * @return Builder[]|Collection + */ + public static function enabled() + { + return Language::query()->where('status', true)->get(); + } } diff --git a/beike/Shop/Http/Controllers/LanguageController.php b/beike/Shop/Http/Controllers/LanguageController.php index 0dce85a0..2ea388f2 100644 --- a/beike/Shop/Http/Controllers/LanguageController.php +++ b/beike/Shop/Http/Controllers/LanguageController.php @@ -17,7 +17,7 @@ class LanguageController extends Controller { public function index($lang) { - if (array_key_exists($lang, LanguageRepo::all()->where('status', true)->pluck('code'))) { + if (array_key_exists($lang, languages())) { Session::put('locale', $lang); } return Redirect::back();