From 66136547c51f1a39d4cb206012366d3e69da7a1a Mon Sep 17 00:00:00 2001 From: TL Date: Tue, 30 Aug 2022 18:06:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E8=A3=85=E5=BC=95=E5=AF=BC=20https://?= =?UTF-8?q?guangdagit.com/beike/beikeshop/issues/209?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Kernel.php | 1 - app/Http/Middleware/SetLocaleInstaller.php | 6 +++--- .../Installer/Controllers/WelcomeController.php | 2 +- beike/Installer/Routes/installer.php | 17 +++++++++++------ .../Views/environment-wizard.blade.php | 12 ++++++------ public/index.php | 4 ++++ 6 files changed, 25 insertions(+), 17 deletions(-) diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 2050e4ac..09b2a11a 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -54,7 +54,6 @@ class Kernel extends HttpKernel 'installer' => [ \App\Http\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, - \App\Http\Middleware\SetLocaleInstaller::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, ], diff --git a/app/Http/Middleware/SetLocaleInstaller.php b/app/Http/Middleware/SetLocaleInstaller.php index b12e504b..7aeda58b 100644 --- a/app/Http/Middleware/SetLocaleInstaller.php +++ b/app/Http/Middleware/SetLocaleInstaller.php @@ -17,12 +17,12 @@ class SetLocaleInstaller */ public function handle(Request $request, Closure $next) { - $sessionLocale = session('locale'); + $locale = $_COOKIE['locale'] ?? 'en'; $languageDir = base_path('beike/Installer/Lang'); $languages = array_values(array_diff(scandir($languageDir), array('..', '.'))); - if ($sessionLocale && in_array($sessionLocale, $languages)) { - App::setLocale($sessionLocale); + if ($locale && in_array($locale, $languages)) { + App::setLocale($locale); } else { App::setLocale('en'); } diff --git a/beike/Installer/Controllers/WelcomeController.php b/beike/Installer/Controllers/WelcomeController.php index b54f962d..48325364 100644 --- a/beike/Installer/Controllers/WelcomeController.php +++ b/beike/Installer/Controllers/WelcomeController.php @@ -40,7 +40,7 @@ class WelcomeController extends Controller public function locale($lang) { if (in_array($lang, languages()->toArray())) { - Session::put('locale', $lang); + setcookie('locale', $lang, 0, '/'); } return Redirect::back(); } diff --git a/beike/Installer/Routes/installer.php b/beike/Installer/Routes/installer.php index 7890ff94..adfc9b30 100644 --- a/beike/Installer/Routes/installer.php +++ b/beike/Installer/Routes/installer.php @@ -6,18 +6,23 @@ use Beike\Installer\Controllers\FinalController; use Beike\Installer\Controllers\PermissionsController; use Beike\Installer\Controllers\RequirementsController; use Beike\Installer\Controllers\WelcomeController; +use Illuminate\Support\Facades\Route; + Route::prefix('installer') ->name('installer.') - ->middleware(['installer']) + ->middleware(\App\Http\Middleware\SetLocaleInstaller::class) ->group(function () { Route::get('/', [WelcomeController::class, 'index'])->name('welcome'); - Route::get('lang/{lang}', [WelcomeController::class, 'locale'])->name('lang.switch'); Route::get('requirements', [RequirementsController::class, 'index'])->name('requirements'); Route::get('permissions', [PermissionsController::class, 'index'])->name('permissions'); - Route::get('environment', [EnvironmentController::class, 'index'])->name('environment'); - Route::post('environment/save', [EnvironmentController::class, 'saveWizard'])->name('environment.save'); - Route::get('database', [DatabaseController::class, 'index'])->name('database'); - Route::get('final', [FinalController::class, 'index'])->name('final'); + Route::middleware(['installer']) + ->group(function () { + Route::get('lang/{lang}', [WelcomeController::class, 'locale'])->name('lang.switch'); + Route::get('environment', [EnvironmentController::class, 'index'])->name('environment'); + Route::post('environment/save', [EnvironmentController::class, 'saveWizard'])->name('environment.save'); + Route::get('database', [DatabaseController::class, 'index'])->name('database'); + Route::get('final', [FinalController::class, 'index'])->name('final'); + }); }); diff --git a/beike/Installer/Views/environment-wizard.blade.php b/beike/Installer/Views/environment-wizard.blade.php index c083ee8b..e561a8ba 100644 --- a/beike/Installer/Views/environment-wizard.blade.php +++ b/beike/Installer/Views/environment-wizard.blade.php @@ -36,12 +36,12 @@ diff --git a/public/index.php b/public/index.php index 002ee24d..e9f8d91e 100644 --- a/public/index.php +++ b/public/index.php @@ -3,6 +3,10 @@ use Illuminate\Contracts\Http\Kernel; use Illuminate\Http\Request; +if (version_compare(PHP_VERSION, '8.0.2', '<') == true) { + exit('PHP8.0.2+ Required'); +} + define('LARAVEL_START', microtime(true)); /*