From d86e4c18054478849013cd31e8d2c55a1ef7cf84 Mon Sep 17 00:00:00 2001 From: Pig Fang Date: Tue, 9 Apr 2019 13:21:31 +0800 Subject: [PATCH] Do not publish .env file --- app/Http/Controllers/SetupController.php | 43 ++++++++++++------- app/Http/Middleware/CheckInstallation.php | 2 +- app/Providers/RuntimeCheckServiceProvider.php | 2 +- config/database.php | 2 +- routes/setup.php | 2 +- scripts/release.sh | 3 +- 6 files changed, 32 insertions(+), 22 deletions(-) diff --git a/app/Http/Controllers/SetupController.php b/app/Http/Controllers/SetupController.php index 5ddda826..77fe7423 100644 --- a/app/Http/Controllers/SetupController.php +++ b/app/Http/Controllers/SetupController.php @@ -16,6 +16,17 @@ use App\Exceptions\PrettyPageException; class SetupController extends Controller { + public function welcome() + { + // @codeCoverageIgnoreStart + if (! File::exists(base_path('.env'))) { + File::copy(base_path('.env.example'), base_path('.env')); + } + // @codeCoverageIgnoreEnd + + return view('setup.wizard.welcome'); + } + public function database(Request $request) { if ($request->isMethod('get')) { @@ -35,8 +46,8 @@ class SetupController extends Controller 'database.connections.temp.port' => $request->input('port'), 'database.connections.temp.username' => $request->input('username'), 'database.connections.temp.password' => $request->input('password'), - 'database.connections.temp.database' => $request->input('db') == '' ? null : $request->input('db'), - 'database.connections.temp.prefix' => $request->input('prefix') == '' ? null : $request->input('prefix'), + 'database.connections.temp.database' => $request->input('db'), + 'database.connections.temp.prefix' => $request->input('prefix'), ]); try { @@ -52,38 +63,38 @@ class SetupController extends Controller } $content = File::get(base_path('.env')); - $content = str_replace( - 'DB_CONNECTION = '.env('DB_CONNECTION'), + $content = preg_replace( + '/DB_CONNECTION.+/', 'DB_CONNECTION = '.$request->input('type'), $content ); - $content = str_replace( - 'DB_HOST = '.env('DB_HOST'), + $content = preg_replace( + '/DB_HOST.+/', 'DB_HOST = '.$request->input('host'), $content ); - $content = str_replace( - 'DB_PORT = '.env('DB_PORT'), + $content = preg_replace( + '/DB_PORT.+/', 'DB_PORT = '.$request->input('port'), $content ); - $content = str_replace( - 'DB_DATABASE = '.env('DB_DATABASE'), + $content = preg_replace( + '/DB_DATABASE.+/', 'DB_DATABASE = '.$request->input('db'), $content ); - $content = str_replace( - 'DB_USERNAME = '.env('DB_USERNAME'), + $content = preg_replace( + '/DB_USERNAME.+/', 'DB_USERNAME = '.$request->input('username'), $content ); - $content = str_replace( - 'DB_PASSWORD = '.env('DB_PASSWORD'), + $content = preg_replace( + '/DB_PASSWORD.+/', 'DB_PASSWORD = '.$request->input('password'), $content ); - $content = str_replace( - 'DB_PREFIX = '.env('DB_PREFIX'), + $content = preg_replace( + '/DB_PREFIX.+/', 'DB_PREFIX = '.$request->input('prefix'), $content ); diff --git a/app/Http/Middleware/CheckInstallation.php b/app/Http/Middleware/CheckInstallation.php index df003fde..6ec0abb5 100644 --- a/app/Http/Middleware/CheckInstallation.php +++ b/app/Http/Middleware/CheckInstallation.php @@ -8,7 +8,7 @@ class CheckInstallation { public function handle($request, \Closure $next) { - if (env('DB_CONNECTION') == 'dummy') { + if (config('database.default') == 'dummy') { return $next($request); // @codeCoverageIgnore } diff --git a/app/Providers/RuntimeCheckServiceProvider.php b/app/Providers/RuntimeCheckServiceProvider.php index 3117ae5b..9a3794f5 100644 --- a/app/Providers/RuntimeCheckServiceProvider.php +++ b/app/Providers/RuntimeCheckServiceProvider.php @@ -33,7 +33,7 @@ class RuntimeCheckServiceProvider extends ServiceProvider protected function checkInstallation() { // Redirect to setup wizard - if (env('DB_CONNECTION') == 'dummy' || ! SetupController::checkTablesExist()) { + if (config('database.default') == 'dummy' || ! SetupController::checkTablesExist()) { return redirect('/setup')->send(); } diff --git a/config/database.php b/config/database.php index 091b280c..4e8f09d0 100644 --- a/config/database.php +++ b/config/database.php @@ -26,7 +26,7 @@ return [ | */ - 'default' => env('DB_CONNECTION', 'mysql'), + 'default' => env('DB_CONNECTION', 'dummy'), /* |-------------------------------------------------------------------------- diff --git a/routes/setup.php b/routes/setup.php index 95590382..b22c865d 100644 --- a/routes/setup.php +++ b/routes/setup.php @@ -16,7 +16,7 @@ */ Route::group(['prefix' => 'setup'], function () { Route::group(['middleware' => 'setup'], function () { - Route::view('/', 'setup.wizard.welcome'); + Route::any('/', 'SetupController@welcome'); Route::any('/database', 'SetupController@database'); Route::get('/info', 'SetupController@info'); Route::post('/finish', 'SetupController@finish'); diff --git a/scripts/release.sh b/scripts/release.sh index ce3079e9..97e67f00 100755 --- a/scripts/release.sh +++ b/scripts/release.sh @@ -4,7 +4,6 @@ composer install --no-dev rm -rf vendor/bin yarn yarn build -cp .env.example .env zip -9 -r blessing-skin-server-$RELEASE_TAG.zip \ app \ bootstrap \ @@ -17,7 +16,7 @@ zip -9 -r blessing-skin-server-$RELEASE_TAG.zip \ routes \ storage \ vendor \ - .env \ + .env.example \ artisan \ LICENSE \ README.md \