From 5f9eeb74d80d771d5a1dbfb99f90713d3a986a84 Mon Sep 17 00:00:00 2001 From: TL Date: Tue, 11 Apr 2023 18:58:12 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=89=E8=A3=85=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/Http/Kernel.php | 1 - app/Http/Middleware/CheckInstalled.php | 27 ------------------- .../Installer/Controllers/BaseController.php | 17 ++++++++++++ .../Controllers/DatabaseController.php | 4 +-- .../Controllers/EnvironmentController.php | 7 +++-- .../Installer/Controllers/FinalController.php | 5 ++-- .../Controllers/PermissionsController.php | 7 ++--- .../Controllers/RequirementsController.php | 7 ++--- .../Controllers/WelcomeController.php | 8 ++---- 9 files changed, 33 insertions(+), 50 deletions(-) delete mode 100644 app/Http/Middleware/CheckInstalled.php create mode 100644 beike/Installer/Controllers/BaseController.php diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 15177436..d5b08299 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -53,7 +53,6 @@ class Kernel extends HttpKernel \App\Http\Middleware\EncryptCookies::class, \Illuminate\Session\Middleware\StartSession::class, \Illuminate\View\Middleware\ShareErrorsFromSession::class, - \App\Http\Middleware\CheckInstalled::class, ], 'web' => [ diff --git a/app/Http/Middleware/CheckInstalled.php b/app/Http/Middleware/CheckInstalled.php deleted file mode 100644 index e756a97d..00000000 --- a/app/Http/Middleware/CheckInstalled.php +++ /dev/null @@ -1,27 +0,0 @@ - - * @created 2023-04-07 15:46:13 - * @modified 2023-04-07 15:46:13 - */ - -namespace App\Http\Middleware; - -use Closure; -use Illuminate\Http\Request; - -class CheckInstalled -{ - public function handle(Request $request, Closure $next) - { - if (installed()) { - exit('Already installed'); - } - - return $next($request); - } -} diff --git a/beike/Installer/Controllers/BaseController.php b/beike/Installer/Controllers/BaseController.php new file mode 100644 index 00000000..9b5fa05c --- /dev/null +++ b/beike/Installer/Controllers/BaseController.php @@ -0,0 +1,17 @@ +checkInstalled(); DB::statement('SET FOREIGN_KEY_CHECKS = 0'); $rows = DB::select('SHOW TABLES'); $database = config('database.connections.mysql.database'); diff --git a/beike/Installer/Controllers/EnvironmentController.php b/beike/Installer/Controllers/EnvironmentController.php index c96f6192..0651e23d 100644 --- a/beike/Installer/Controllers/EnvironmentController.php +++ b/beike/Installer/Controllers/EnvironmentController.php @@ -5,12 +5,11 @@ namespace Beike\Installer\Controllers; use Beike\Installer\Helpers\EnvironmentManager; use Illuminate\Http\RedirectResponse; use Illuminate\Http\Request; -use Illuminate\Routing\Controller; use Illuminate\Routing\Redirector; use Illuminate\Support\Facades\DB; use Illuminate\Support\Facades\Validator; -class EnvironmentController extends Controller +class EnvironmentController extends BaseController { /** * @var EnvironmentManager @@ -32,6 +31,7 @@ class EnvironmentController extends Controller */ public function index() { + $this->checkInstalled(); $steps = 4; return view('installer::environment-wizard', compact('steps')); @@ -46,6 +46,7 @@ class EnvironmentController extends Controller */ public function saveWizard(Request $request, Redirector $redirect): RedirectResponse { + $this->checkInstalled(); $rules = config('installer.environment.form.rules'); $messages = [ 'environment_custom.required_if' => trans('installer::installer_messages.environment.name_required'), @@ -78,6 +79,7 @@ class EnvironmentController extends Controller */ public function validateDatabase(Request $request): array { + $this->checkInstalled(); $rules = config('installer.environment.form.rules'); $messages = [ 'environment_custom.required_if' => trans('installer::installer_messages.environment.name_required'), @@ -108,6 +110,7 @@ class EnvironmentController extends Controller */ private function checkDatabaseConnection(Request $request): bool|array { + $this->checkInstalled(); $connection = $request->input('database_connection'); $settings = config("database.connections.$connection"); diff --git a/beike/Installer/Controllers/FinalController.php b/beike/Installer/Controllers/FinalController.php index 4fb40035..e8e57148 100644 --- a/beike/Installer/Controllers/FinalController.php +++ b/beike/Installer/Controllers/FinalController.php @@ -5,9 +5,8 @@ namespace Beike\Installer\Controllers; use Beike\Installer\Helpers\EnvironmentManager; use Beike\Installer\Helpers\FinalInstallManager; use Beike\Installer\Helpers\InstalledFileManager; -use Illuminate\Routing\Controller; -class FinalController extends Controller +class FinalController extends BaseController { /** * Update installed file and display finished view. @@ -19,6 +18,8 @@ class FinalController extends Controller */ public function index(InstalledFileManager $fileManager, FinalInstallManager $finalInstall, EnvironmentManager $environment) { + $this->checkInstalled(); + $finalMessages = $finalInstall->runFinal(); $finalStatusMessage = $fileManager->update(); $finalEnvFile = $environment->getEnvContent(); diff --git a/beike/Installer/Controllers/PermissionsController.php b/beike/Installer/Controllers/PermissionsController.php index 9501a293..2ddaf115 100644 --- a/beike/Installer/Controllers/PermissionsController.php +++ b/beike/Installer/Controllers/PermissionsController.php @@ -3,9 +3,8 @@ namespace Beike\Installer\Controllers; use Beike\Installer\Helpers\PermissionsChecker; -use Illuminate\Routing\Controller; -class PermissionsController extends Controller +class PermissionsController extends BaseController { /** * @var PermissionsChecker @@ -17,9 +16,6 @@ class PermissionsController extends Controller */ public function __construct(PermissionsChecker $checker) { - if (installed()) { - exit('Already installed'); - } $this->permissions = $checker; } @@ -30,6 +26,7 @@ class PermissionsController extends Controller */ public function index() { + $this->checkInstalled(); $permissions = $this->permissions->check( config('installer.permissions') ); diff --git a/beike/Installer/Controllers/RequirementsController.php b/beike/Installer/Controllers/RequirementsController.php index 9cc27bb2..8d848972 100644 --- a/beike/Installer/Controllers/RequirementsController.php +++ b/beike/Installer/Controllers/RequirementsController.php @@ -3,9 +3,8 @@ namespace Beike\Installer\Controllers; use Beike\Installer\Helpers\RequirementsChecker; -use Illuminate\Routing\Controller; -class RequirementsController extends Controller +class RequirementsController extends BaseController { /** * @var RequirementsChecker @@ -17,9 +16,6 @@ class RequirementsController extends Controller */ public function __construct(RequirementsChecker $checker) { - if (installed()) { - exit('Already installed'); - } $this->requirements = $checker; } @@ -30,6 +26,7 @@ class RequirementsController extends Controller */ public function index() { + $this->checkInstalled(); $phpSupportInfo = $this->requirements->checkPHPversion( config('installer.core.minPhpVersion') ); diff --git a/beike/Installer/Controllers/WelcomeController.php b/beike/Installer/Controllers/WelcomeController.php index 34fa95f3..8b76c6db 100644 --- a/beike/Installer/Controllers/WelcomeController.php +++ b/beike/Installer/Controllers/WelcomeController.php @@ -11,10 +11,9 @@ namespace Beike\Installer\Controllers; -use App\Http\Controllers\Controller; use Illuminate\Support\Facades\Redirect; -class WelcomeController extends Controller +class WelcomeController extends BaseController { private $languages = [ 'zh_cn' => '简体中文', @@ -23,10 +22,7 @@ class WelcomeController extends Controller public function index() { - if (installed()) { - exit('Already installed'); - } - + $this->checkInstalled(); $data['languages'] = $this->languages; $data['locale'] = $_COOKIE['locale'] ?? 'zh_cn'; $data['steps'] = 1;