route('dmvf', ['purchase_key' => $request['purchase_key'], 'username' => $request['username']]); $post = [ 'name' => $request['name'], 'email' => $request['email'], 'username' => $request['username'], 'purchase_key' => $request['purchase_key'], 'domain' => preg_replace("#^[^:/.]*[:/]+#i", "", url('/')), ]; $response = $this->dmvf($post); return redirect($response); } public function system_settings(Request $request) { DB::table('admins')->insertOrIgnore([ 'f_name' => $request['f_name'], 'l_name' => $request['l_name'], 'email' => $request['email'], 'role_id' => 1, 'password' => bcrypt($request['password']), 'phone' => $request['phone'], 'created_at' => now(), 'updated_at' => now() ]); DB::table('business_settings')->where(['key' => 'business_name'])->update([ 'value' => $request['business_name'] ]); $previousRouteServiceProvier = base_path('app/Providers/RouteServiceProvider.php'); $newRouteServiceProvier = base_path('app/Providers/RouteServiceProvider.txt'); copy($newRouteServiceProvier, $previousRouteServiceProvier); //sleep(5); return view('installation.step6'); } public function database_installation(Request $request) { if (self::check_database_connection($request->DB_HOST, $request->DB_DATABASE, $request->DB_USERNAME, $request->DB_PASSWORD)) { $key = base64_encode(random_bytes(32)); $output = 'APP_NAME=stackfood' . time() . 'APP_ENV=live APP_KEY=base64:' . $key . ' APP_DEBUG=false APP_INSTALL=true APP_LOG_LEVEL=debug APP_MODE=live APP_URL=' . URL::to('/') . ' DB_CONNECTION=mysql DB_HOST=' . $request->DB_HOST . ' DB_PORT=3306 DB_DATABASE=' . $request->DB_DATABASE . ' DB_USERNAME=' . $request->DB_USERNAME . ' DB_PASSWORD=' . $request->DB_PASSWORD . ' BROADCAST_DRIVER=log CACHE_DRIVER=file SESSION_DRIVER=file SESSION_LIFETIME=120 QUEUE_DRIVER=sync REDIS_HOST=127.0.0.1 REDIS_PASSWORD=null REDIS_PORT=6379 PUSHER_APP_ID= PUSHER_APP_KEY= PUSHER_APP_SECRET= PUSHER_APP_CLUSTER=mt1 PURCHASE_CODE=' . session('purchase_key') . ' BUYER_USERNAME=' . session('username') . ' SOFTWARE_ID=MzM1NzE3NTA= SOFTWARE_VERSION=6.2.0 REACT_APP_KEY=43218516 '; $file = fopen(base_path('.env'), 'w'); fwrite($file, $output); fclose($file); $path = base_path('.env'); if (file_exists($path)) { return redirect('step4'); } else { session()->flash('error', 'Database error!'); return redirect('step3'); } } else { session()->flash('error', 'Database error!'); return redirect('step3'); } } public function import_sql() { try { $sql_path = base_path('installation/backup/database.sql'); DB::unprepared(file_get_contents($sql_path)); return redirect('step5'); } catch (\Exception $exception) { session()->flash('error', 'Your database is not clean, do you want to clean database then import?'); return back(); } } public function force_import_sql() { try { Artisan::call('db:wipe', ['--force' => true]); $sql_path = base_path('installation/backup/database.sql'); DB::unprepared(file_get_contents($sql_path)); return redirect('step5'); } catch (\Exception $exception) { session()->flash('error', 'Check your database permission!'); return back(); } } function check_database_connection($db_host = "", $db_name = "", $db_user = "", $db_pass = "") { if (@mysqli_connect($db_host, $db_user, $db_pass, $db_name)) { return true; } else { return false; } } }