App\Http\Controllers\InstallController::install PHP Method

install() public method

public install ( Illuminate\Http\Request $request, Illuminate\Contracts\Cookie\QueueingFactory $cookie )
$request Illuminate\Http\Request
$cookie Illuminate\Contracts\Cookie\QueueingFactory
    public function install(Request $request, JarContract $cookie)
    {
        if ($this->isInstalled() === true) {
            throw new \Exception('Already installed');
        }
        app('config')->set('app.debug', true);
        $url = $this->getUrl($request->get('web_url', ''));
        $validator = $this->getValidationFactory()->make(array_merge($request->all(), ['web_url' => $url]), ['admin_email' => 'required|email', 'admin_password' => 'required|confirmed', 'admin_password_confirmation' => 'required', 'database_name' => 'required', 'database_password' => 'required', 'web_url' => 'url']);
        if ($validator->fails()) {
            return $this->back($validator->getMessageBag()->first());
        }
        $configPath = storage_path('app') . '/installConfig';
        $string = Yaml::dump(['site' => ['locale' => $request->get('locale') != '' ? $request->get('locale') : 'ko', 'url' => $url != '' ? $url : 'http://localhost', 'timezone' => $request->get('web_timezone') != '' ? $request->get('web_timezone') : 'Asia/Seoul'], 'admin' => ['email' => $request->get('admin_email'), 'password' => $request->get('admin_password'), 'displayName' => $request->get('admin_display_name') != '' ? $request->get('admin_display_name') : 'admin'], 'database' => ['host' => $request->get('database_host') != '' ? $request->get('database_host') : 'localhost', 'port' => $request->get('database_port') != '' ? $request->get('database_port') : '3306', 'dbname' => $request->get('database_name'), 'username' => $request->get('database_user_name') != '' ? $request->get('database_user_name') : 'root', 'password' => $request->get('database_password'), 'prefix' => $request->get('database_prefix') != '' ? $request->get('database_prefix') : 'xe']]);
        File::put($configPath, $string);
        Artisan::call('xe:install', ['--config' => $configPath, '--no-interaction' => true]);
        File::delete($configPath);
        if (!empty($request->get('locale'))) {
            $cookie->queue($cookie->forever('locale', $request->get('locale')));
        }
        return redirect($request->root());
    }