/** * Post accountcheck * checking prerequisites * @param type InstallerRequest $request * @return type view */ public function accountcheck(InstallerRequest $request) { // dd($request); // config/database.php management $default = $request->input('default'); $host = $request->input('host'); $database = $request->input('databasename'); $dbusername = $request->input('dbusername'); $dbpassword = $request->input('dbpassword'); // 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(); $form1 = new Form_details(); $form1->label = 'Name'; $form1->type = 'text'; $form1->form_name_id = '1'; $form1->save(); $form2 = new Form_details(); $form2->label = 'Phone'; $form2->type = 'number'; $form2->form_name_id = '1'; $form2->save(); $form3 = new Form_details(); $form3->label = 'Email'; $form3->type = 'text'; $form3->form_name_id = '1'; $form3->save(); $form4 = new Form_details(); $form4->label = 'Subject'; $form4->type = 'text'; $form4->form_name_id = '1'; $form4->save(); $form5 = new Form_details(); $form5->label = 'Details'; $form5->type = 'textarea'; $form5->form_name_id = '1'; $form5->save(); $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' => 'group A', 'primary_dpt' => 'support')); 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) { error_reporting(E_ALL & ~E_NOTICE); try { \DB::connection()->getDatabaseName(); // check for database connection if (\DB::connection()->getDatabaseName()) { echo "Connected sucessfully to database " . \DB::connection()->getDatabaseName() . "."; } // 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)); // Creating minum settings $system = System::where('id', '=', '1')->first(); $system->time_zone = $timezone; $system->date_time_format = $datetime; $system->save(); // Creating default form field $form1 = new Form_details(); $form1->label = 'Name'; $form1->type = 'text'; $form1->form_name_id = '1'; $form1->save(); $form2 = new Form_details(); $form2->label = 'Phone'; $form2->type = 'number'; $form2->form_name_id = '1'; $form2->save(); $form3 = new Form_details(); $form3->label = 'Email'; $form3->type = 'text'; $form3->form_name_id = '1'; $form3->save(); $form4 = new Form_details(); $form4->label = 'Subject'; $form4->type = 'text'; $form4->form_name_id = '1'; $form4->save(); $form5 = new Form_details(); $form5->label = 'Details'; $form5->type = 'textarea'; $form5->form_name_id = '1'; $form5->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' => 'group A', 'primary_dpt' => 'support')); // 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']; } } catch (\Exception $e) { return $e->getMessage(); } }
/** * 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)); // var_dump($datetime); // $date_time_format = Date_time_format::where('format','=',$datetime)->first(); // // dd($date_time_format->id); // if($date_time_format->id){ // $date_time = 1; // } else { // return 'date time format not supported'; // } // Creating minum settings $system = System::where('id', '=', '1')->first(); $system->time_zone = 1; $system->date_time_format = 1; $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']; } }
/** * Posted form * @param type Request $request * @param type User $user */ public function postedForm(User $user, ClientRequest $request, Ticket $ticket_settings, Ticket_source $ticket_source) { $form_extras = $request->except('Name', 'Phone', 'Email', 'Subject', 'Details', 'helptopic', '_wysihtml5_mode', '_token'); $name = $request->input('Name'); $phone = $request->input('Phone'); $email = $request->input('Email'); $subject = $request->input('Subject'); $details = $request->input('Details'); $System = System::where('id', '=', 1)->first(); $departments = Department::where('id', '=', $System->department)->first(); $department = $departments->id; $status = $ticket_settings->first()->status; $helptopic = $ticket_settings->first()->help_topic; $sla = $ticket_settings->first()->sla; $priority = $ticket_settings->first()->priority; $source = $ticket_source->where('name', '=', 'web')->first(); $collaborator = null; $assignto = null; if ($this->TicketController->create_user($email, $name, $subject, $details, $phone, $helptopic, $sla, $priority, $source->id, $collaborator, $department, $assignto, $form_extras)) { return Redirect::route('guest.getform')->with('success', 'Ticket Created Successfully'); } }