envPath = base_path('.env'); $this->envExamplePath = base_path('.env.example'); } /** * Get the content of the .env file. * * @return string */ public function getEnvContent() { if (! file_exists($this->envPath)) { if (file_exists($this->envExamplePath)) { copy($this->envExamplePath, $this->envPath); } else { touch($this->envPath); } } return file_get_contents($this->envPath); } /** * Get the the .env file path. * * @return string */ public function getEnvPath() { return $this->envPath; } /** * Get the the .env.example file path. * * @return string */ public function getEnvExamplePath() { return $this->envExamplePath; } /** * Save the edited content to the .env file. * * @param Request $input * @return string */ public function saveFileClassic(Request $input) { $message = trans('installer::installer_messages.environment.success'); try { file_put_contents($this->envPath, $input->get('envConfig')); } catch (Exception $e) { $message = trans('installer::installer_messages.environment.errors'); } return $message; } /** * Save the form content to the .env file. * * @param Request $request * @return string */ public function saveFileWizard(Request $request) { $results = trans('installer::installer_messages.environment.success'); $scheme = is_secure() ? 'https' : 'http'; $appUrl = $scheme . '://' . $_SERVER['HTTP_HOST']; $envFileData = 'APP_NAME=\'' . ($request->app_name ?: 'BeikeShop') . "'\n" . 'APP_ENV=' . $request->environment . "\n" . 'APP_KEY=' . 'base64:' . base64_encode(Str::random(32)) . "\n" . 'APP_DEBUG=false' . "\n" . 'APP_LOG_LEVEL=' . $request->app_log_level . "\n" . 'APP_URL=' . $appUrl . "\n\n" . 'BEIKE_API_URL=https://beikeshop.com' . "\n\n" . 'DB_CONNECTION=' . $request->database_connection . "\n" . 'DB_HOST=' . $request->database_hostname . "\n" . 'DB_PORT=' . $request->database_port . "\n" . 'DB_DATABASE=' . $request->database_name . "\n" . 'DB_USERNAME=' . $request->database_username . "\n" . 'DB_PASSWORD=\'' . $request->database_password . "'\n\n" . 'BROADCAST_DRIVER=log' . "\n" . 'CACHE_DRIVER=file' . "\n" . 'SESSION_DRIVER=file' . "\n" . 'QUEUE_CONNECTION=sync' . "\n\n" . 'MAIL_DRIVER=' . $request->mail_driver . "\n" . 'MAIL_HOST=' . $request->mail_host . "\n" . 'MAIL_PORT=' . $request->mail_port . "\n" . 'MAIL_USERNAME=' . $request->mail_username . "\n" . 'MAIL_PASSWORD=' . $request->mail_password . "\n" . 'MAIL_ENCRYPTION=' . $request->mail_encryption . "\n\n"; try { file_put_contents($this->envPath, $envFileData); } catch (Exception $e) { $results = trans('installer::installer_messages.environment.errors'); } return $results; } }