diff --git a/app/Console/Commands/V2boardInstall.php b/app/Console/Commands/V2boardInstall.php index 05bf3ecd..ea15c403 100644 --- a/app/Console/Commands/V2boardInstall.php +++ b/app/Console/Commands/V2boardInstall.php @@ -109,6 +109,30 @@ class V2boardInstall extends Command private function saveToEnv($data = []) { + function set_env_var($key, $value) + { + if (! is_bool(strpos($value, ' '))) { + $value = '"' . $value . '"'; + } + $key = strtoupper($key); + + $envPath = app()->environmentFilePath(); + $contents = file_get_contents($envPath); + + preg_match("/^{$key}=[^\r\n]*/m", $contents, $matches); + + $oldValue = count($matches) ? $matches[0] : ''; + + if ($oldValue) { + $contents = str_replace("{$oldValue}", "{$key}={$value}", $contents); + } else { + $contents = $contents . "\n{$key}={$value}\n"; + } + + $file = fopen($envPath, 'w'); + fwrite($file, $contents); + return fclose($file); + } foreach($data as $key => $value) { set_env_var($key, $value); }