/** * Post accountcheck * checking prerequisites * @param type InstallerRequest $request * @return type view */ public function accountcheck(InstallerRequest $request) { // migrate database Artisan::call('migrate', array('--force' => true)); Artisan::call('db:seed', array('--force' => true)); // create user $firstname = $request->input('firstname'); $lastname = $request->input('Lastname'); $email = $request->input('email'); $username = $request->input('username'); $password = $request->input('password'); $language = $request->input('language'); $timezone = $request->input('timezone'); $date = $request->input('date'); $datetime = $request->input('datetime'); // $system = System::where('id','=','1')->first(); // $system->time_zone = $timezone; // $system->date_time_format = $datetime; // $system->save(); // checking requested timezone for the admin and system $timezones = Timezones::where('name', '=', $timezone)->first(); if ($timezones->id == null) { return ['response' => 'fail', 'reason' => 'Invalid time-zone', 'status' => '0']; } // var_dump($datetime); // checking requested date time format for the admin and system $date_time_format = Date_time_format::where('format', '=', $datetime)->first(); // dd($date_time_format); if ($date_time_format->id == null) { return ['response' => 'fail', 'reason' => 'invalid date-time format', 'status' => '0']; } // Creating minum settings for system $system = new System(); $system->status = 1; $system->department = 1; $system->date_time_format = $date_time_format->id; $system->time_zone = $timezones->id; $system->save(); // creating an user $user = User::create(array('first_name' => $firstname, 'last_name' => $lastname, 'email' => $email, 'user_name' => $username, 'password' => Hash::make($password), 'assign_group' => 1, 'primary_dpt' => 1, 'active' => 1, 'role' => 'admin')); // checking if the user have been created if ($user) { Session::put('step6', 'step6'); return Redirect::route('final'); } }
/** * config_database * This function is to configure the database and install the application via API call. * @return type Json */ public function config_system(Request $request) { // Check for pre install if (\Config::get('database.install') == '%0%') { $firstname = $request->firstname; $lastname = $request->lastname; $email = $request->email; $username = $request->username; $password = $request->password; $timezone = $request->timezone; $datetime = $request->datetime; // Migrate database Artisan::call('migrate', array('--force' => true)); Artisan::call('db:seed', array('--force' => true)); // checking requested timezone for the admin and system $timezones = Timezones::where('name', '=', $timezone)->first(); if ($timezones->id == null) { return ['response' => 'fail', 'reason' => 'Invalid time-zone', 'status' => '0']; } // checking requested date time format for the admin and system $date_time_format = Date_time_format::where('format', '=', $datetime)->first(); if ($date_time_format->id == null) { return ['response' => 'fail', 'reason' => 'invalid date-time format', 'status' => '0']; } // Creating minum settings for system $system = new System(); $system->status = 1; $system->department = 1; $system->date_time_format = $date_time_format->id; $system->time_zone = $timezones->id; $system->save(); // Creating user $user = User::create(array('first_name' => $firstname, 'last_name' => $lastname, 'email' => $email, 'user_name' => $username, 'password' => Hash::make($password), 'active' => 1, 'role' => 'admin', 'assign_group' => 1, 'primary_dpt' => 1)); // Setting database installed status $value = '1'; $install = app_path('../config/database.php'); $datacontent = File::get($install); $datacontent = str_replace('%0%', $value, $datacontent); File::put($install, $datacontent); // Applying email configuration on route $smtpfilepath = "\\App\\Http\\Controllers\\Common\\SettingsController::smtp()"; $path22 = app_path('Http/routes.php'); $content23 = File::get($path22); $content23 = str_replace('"%smtplink%"', $smtpfilepath, $content23); File::put($path22, $content23); // If user created return success if ($user) { return ['response' => 'success', 'status' => '1']; } } else { return ['response' => 'fail', 'reason' => 'this system is already installed', 'status' => '0']; } }