/** * Create User while creating ticket * @param type $emailadd * @param type $username * @param type $subject * @param type $body * @param type $phone * @param type $helptopic * @param type $sla * @param type $priority * @param type $system * @return type bool */ public function create_user($emailadd, $username, $subject, $body, $phone, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data) { // define global variables // dd($source); // dd($emailadd); $email; $username; // check emails $ticket_creator = $username; $checkemail = $this->check_email($emailadd); $company = $this->company(); if ($checkemail == false) { // Generate password $password = $this->generateRandomString(); // create user $user = new User(); if ($username == null) { $username = $emailadd; } $user->user_name = $username; $user->email = $emailadd; $user->password = Hash::make($password); $user->phone_number = $phone; $user->role = "user"; $user->active = "1"; // mail user his/her password \Event::fire(new \App\Events\ClientTicketFormPost($from_data, $emailadd, $source)); if ($user->save()) { $user_id = $user->id; // Event fire \Event::fire(new \App\Events\ReadMailEvent($user_id, $password)); if (Mail::send('emails.pass', ['password' => $password, 'name' => $username, 'from' => $company, 'emailadd' => $emailadd], function ($message) use($emailadd, $username, $company) { $message->to($emailadd, $username)->subject('Welcome to ' . $company . ' helpdesk'); })) { // need to do something here.... } } } else { $username = $checkemail->username; $user_id = $checkemail->id; } $ticket_number = $this->check_ticket($user_id, $subject, $body, $helptopic, $sla, $priority, $source, $headers, $dept, $assignto, $from_data); $ticket_number2 = $ticket_number[0]; $ticketdata = Tickets::where('ticket_number', '=', $ticket_number2)->first(); $threaddata = Ticket_Thread::where('ticket_id', '=', $ticketdata->id)->first(); // dd($threaddata); $is_reply = $ticket_number[1]; $system = $this->system(); $updated_subject = $threaddata->title . '[#' . $ticket_number2 . ']'; if ($ticket_number2) { // send ticket create details to user if ($is_reply == 0) { $mail = "Admin_mail"; if (Auth::user()) { $sign = Auth::user()->agent_sign; } else { $sign = $company; } if ($source == 3) { Mail::send('emails.Ticket_Create', ['sign' => $sign, 'content' => $body, 'name' => $username, 'ticket_number' => $ticket_number2, 'system' => $system], function ($message) use($emailadd, $username, $ticket_number2, $updated_subject) { $message->to($emailadd, $username)->subject($updated_subject); }); } else { $body2 = null; Mail::send('emails.Ticket_Create', ['sign' => $sign, 'content' => $body2, 'name' => $username, 'ticket_number' => $ticket_number2, 'system' => $system], function ($message) use($emailadd, $username, $ticket_number2, $updated_subject) { $message->to($emailadd, $username)->subject($updated_subject); }); } } else { $mail = "email_reply"; } if (Alert::first()->ticket_status == 1 || Alert::first()->ticket_admin_email == 1) { // send email to admin $admins = User::where('role', '=', 'admin')->get(); // $ticket_creator = $user->user_name; foreach ($admins as $admin) { $admin_email = $admin->email; $admin_user = $admin->first_name; Mail::send('emails.' . $mail, ['agent' => $admin_user, 'content' => $body, 'ticket_number' => $ticket_number2, 'from' => $company, 'email' => $emailadd, 'name' => $ticket_creator, 'system' => $system], function ($message) use($admin_email, $admin_user, $ticket_number2, $updated_subject) { $message->to($admin_email, $admin_user)->subject($updated_subject); }); } } if ($is_reply == 0) { if (Alert::first()->ticket_status == 1 || Alert::first()->ticket_department_member == 1) { // send email to agents $agents = User::where('role', '=', 'agent')->get(); // dd($agents); foreach ($agents as $agent) { $department_data = Department::where('id', '=', $ticketdata->dept_id)->first(); if ($department_data->name == $agent->primary_dpt) { $agent_email = $agent->email; $agent_user = $agent->first_name; Mail::send('emails.' . $mail, ['agent' => $agent_user, 'content' => $body, 'ticket_number' => $ticket_number2, 'from' => $company, 'email' => $emailadd, 'name' => $ticket_creator, 'system' => $system], function ($message) use($agent_email, $agent_user, $ticket_number2, $updated_subject) { $message->to($agent_email, $agent_user)->subject($updated_subject); }); } } } } if ($ticketdata->assigned_to) { $assigned_to = User::where('id', '=', $ticketdata->assigned_to)->first(); $agent_email = $assigned_to->email; $agent_user = $assigned_to->first_name; Mail::send('emails.' . $mail, ['agent' => $assigned_to->user_name, 'content' => $body, 'ticket_number' => $ticket_number2, 'from' => $company, 'email' => $assigned_to->email, 'name' => $ticket_creator, 'system' => $system], function ($message) use($agent_email, $agent_user, $ticket_number2, $updated_subject) { $message->to($agent_email, $agent_user)->subject($updated_subject); }); } return ['0' => $ticket_number2, '1' => true]; } }
/** * function to assign ticket * @param type $id * @return type bool */ public function assign($id) { $UserEmail = Input::get('user'); // $UserEmail = '*****@*****.**'; $user = User::where('email', '=', $UserEmail)->first(); $user_id = $user->id; $ticket = Tickets::where('id', '=', $id)->first(); $ticket_number = $ticket->ticket_number; $ticket->assigned_to = $user_id; $ticket->save(); $ticket_thread = Ticket_Thread::where('ticket_id', '=', $id)->first(); $ticket_subject = $ticket_thread->title; $thread = new Ticket_Thread(); $thread->ticket_id = $ticket->id; $thread->user_id = Auth::user()->id; $thread->is_internal = 1; $thread->body = "This Ticket has been assigned to " . $user->first_name . " " . $user->last_name; $thread->save(); $company = $this->company(); $system = $this->system(); $agent = $user->first_name; $agent_email = $user->email; $master = Auth::user()->first_name . " " . Auth::user()->last_name; if (Alert::first()->internal_status == 1 || Alert::first()->internal_assigned_agent == 1) { // ticket assigned send mail Mail::send('emails.Ticket_assign', ['agent' => $agent, 'ticket_number' => $ticket_number, 'from' => $company, 'master' => $master, 'system' => $system], function ($message) use($agent_email, $agent, $ticket_number, $ticket_subject) { $message->to($agent_email, $agent)->subject($ticket_subject . '[#' . $ticket_number . ']'); }); } return 1; }
/** * Run the database seeds. * * @return void */ public function run() { Time_format::create(array('format' => 'H:i:s')); Time_format::create(array('format' => 'H.i.s')); $timezone = ['Pacific/Midway' => '(GMT-11:00) Midway Island', 'US/Samoa' => '(GMT-11:00) Samoa', 'US/Hawaii' => '(GMT-10:00) Hawaii', 'US/Alaska' => '(GMT-09:00) Alaska', 'US/Pacific' => '(GMT-08:00) Pacific Time (US & Canada)', 'America/Tijuana' => '(GMT-08:00) Tijuana', 'US/Arizona' => '(GMT-07:00) Arizona', 'US/Mountain' => '(GMT-07:00) Mountain Time (US & Canada)', 'America/Chihuahua' => '(GMT-07:00) Chihuahua', 'America/Mazatlan' => '(GMT-07:00) Mazatlan', 'America/Mexico_City' => '(GMT-06:00) Mexico City', 'America/Monterrey' => '(GMT-06:00) Monterrey', 'Canada/Saskatchewan' => '(GMT-06:00) Saskatchewan', 'US/Central' => '(GMT-06:00) Central Time (US & Canada)', 'US/Eastern' => '(GMT-05:00) Eastern Time (US & Canada)', 'US/East-Indiana' => '(GMT-05:00) Indiana (East)', 'America/Bogota' => '(GMT-05:00) Bogota', 'America/Lima' => '(GMT-05:00) Lima', 'America/Caracas' => '(GMT-04:30) Caracas', 'Canada/Atlantic' => '(GMT-04:00) Atlantic Time (Canada)', 'America/La_Paz' => '(GMT-04:00) La Paz', 'America/Santiago' => '(GMT-04:00) Santiago', 'Canada/Newfoundland' => '(GMT-03:30) Newfoundland', 'America/Buenos_Aires' => '(GMT-03:00) Buenos Aires', 'Greenland' => '(GMT-03:00) Greenland', 'Atlantic/Stanley' => '(GMT-02:00) Stanley', 'Atlantic/Azores' => '(GMT-01:00) Azores', 'Atlantic/Cape_Verde' => '(GMT-01:00) Cape Verde Is.', 'Africa/Casablanca' => '(GMT) Casablanca', 'Europe/Dublin' => '(GMT) Dublin', 'Europe/Lisbon' => '(GMT) Lisbon', 'Europe/London' => '(GMT) London', 'Africa/Monrovia' => '(GMT) Monrovia', 'Europe/Amsterdam' => '(GMT+01:00) Amsterdam', 'Europe/Belgrade' => '(GMT+01:00) Belgrade', 'Europe/Berlin' => '(GMT+01:00) Berlin', 'Europe/Bratislava' => '(GMT+01:00) Bratislava', 'Europe/Brussels' => '(GMT+01:00) Brussels', 'Europe/Budapest' => '(GMT+01:00) Budapest', 'Europe/Copenhagen' => '(GMT+01:00) Copenhagen', 'Europe/Ljubljana' => '(GMT+01:00) Ljubljana', 'Europe/Madrid' => '(GMT+01:00) Madrid', 'Europe/Paris' => '(GMT+01:00) Paris', 'Europe/Prague' => '(GMT+01:00) Prague', 'Europe/Rome' => '(GMT+01:00) Rome', 'Europe/Sarajevo' => '(GMT+01:00) Sarajevo', 'Europe/Skopje' => '(GMT+01:00) Skopje', 'Europe/Stockholm' => '(GMT+01:00) Stockholm', 'Europe/Vienna' => '(GMT+01:00) Vienna', 'Europe/Warsaw' => '(GMT+01:00) Warsaw', 'Europe/Zagreb' => '(GMT+01:00) Zagreb', 'Europe/Athens' => '(GMT+02:00) Athens', 'Europe/Bucharest' => '(GMT+02:00) Bucharest', 'Africa/Cairo' => '(GMT+02:00) Cairo', 'Africa/Harare' => '(GMT+02:00) Harare', 'Europe/Helsinki' => '(GMT+02:00) Helsinki', 'Europe/Istanbul' => '(GMT+02:00) Istanbul', 'Asia/Jerusalem' => '(GMT+02:00) Jerusalem', 'Europe/Kiev' => '(GMT+02:00) Kyiv', 'Europe/Minsk' => '(GMT+02:00) Minsk', 'Europe/Riga' => '(GMT+02:00) Riga', 'Europe/Sofia' => '(GMT+02:00) Sofia', 'Europe/Tallinn' => '(GMT+02:00) Tallinn', 'Europe/Vilnius' => '(GMT+02:00) Vilnius', 'Asia/Baghdad' => '(GMT+03:00) Baghdad', 'Asia/Kuwait' => '(GMT+03:00) Kuwait', 'Africa/Nairobi' => '(GMT+03:00) Nairobi', 'Asia/Riyadh' => '(GMT+03:00) Riyadh', 'Asia/Tehran' => '(GMT+03:30) Tehran', 'Europe/Moscow' => '(GMT+04:00) Moscow', 'Asia/Baku' => '(GMT+04:00) Baku', 'Europe/Volgograd' => '(GMT+04:00) Volgograd', 'Asia/Muscat' => '(GMT+04:00) Muscat', 'Asia/Tbilisi' => '(GMT+04:00) Tbilisi', 'Asia/Yerevan' => '(GMT+04:00) Yerevan', 'Asia/Kabul' => '(GMT+04:30) Kabul', 'Asia/Karachi' => '(GMT+05:00) Karachi', 'Asia/Tashkent' => '(GMT+05:00) Tashkent', 'Asia/Kolkata' => '(GMT+05:30) Kolkata', 'Asia/Kathmandu' => '(GMT+05:45) Kathmandu', 'Asia/Yekaterinburg' => '(GMT+06:00) Ekaterinburg', 'Asia/Almaty' => '(GMT+06:00) Almaty', 'Asia/Dhaka' => '(GMT+06:00) Dhaka', 'Asia/Novosibirsk' => '(GMT+07:00) Novosibirsk', 'Asia/Bangkok' => '(GMT+07:00) Bangkok', 'Asia/Ho_Chi_Minh' => '(GMT+07.00) Ho Chi Minh', 'Asia/Jakarta' => '(GMT+07:00) Jakarta', 'Asia/Krasnoyarsk' => '(GMT+08:00) Krasnoyarsk', 'Asia/Chongqing' => '(GMT+08:00) Chongqing', 'Asia/Hong_Kong' => '(GMT+08:00) Hong Kong', 'Asia/Kuala_Lumpur' => '(GMT+08:00) Kuala Lumpur', 'Australia/Perth' => '(GMT+08:00) Perth', 'Asia/Singapore' => '(GMT+08:00) Singapore', 'Asia/Taipei' => '(GMT+08:00) Taipei', 'Asia/Ulaanbaatar' => '(GMT+08:00) Ulaan Bataar', 'Asia/Urumqi' => '(GMT+08:00) Urumqi', 'Asia/Irkutsk' => '(GMT+09:00) Irkutsk', 'Asia/Seoul' => '(GMT+09:00) Seoul', 'Asia/Tokyo' => '(GMT+09:00) Tokyo', 'Australia/Adelaide' => '(GMT+09:30) Adelaide', 'Australia/Darwin' => '(GMT+09:30) Darwin', 'Asia/Yakutsk' => '(GMT+10:00) Yakutsk', 'Australia/Brisbane' => '(GMT+10:00) Brisbane', 'Australia/Canberra' => '(GMT+10:00) Canberra', 'Pacific/Guam' => '(GMT+10:00) Guam', 'Australia/Hobart' => '(GMT+10:00) Hobart', 'Australia/Melbourne' => '(GMT+10:00) Melbourne', 'Pacific/Port_Moresby' => '(GMT+10:00) Port Moresby', 'Australia/Sydney' => '(GMT+10:00) Sydney', 'Asia/Vladivostok' => '(GMT+11:00) Vladivostok', 'Asia/Magadan' => '(GMT+12:00) Magadan', 'Pacific/Auckland' => '(GMT+12:00) Auckland', 'Pacific/Fiji' => '(GMT+12:00) Fiji']; foreach ($timezone as $name => $location) { Timezones::create(array('name' => $name, 'location' => $location)); } Ticket_status::create(array('name' => 'Open', 'state' => 'open', 'mode' => '3', 'message' => 'Ticket have been Reopened by', 'flags' => '0', 'sort' => '1', 'properties' => 'Open tickets.')); Ticket_status::create(array('name' => 'Resolved', 'state' => 'closed', 'mode' => '1', 'message' => 'Ticket have been Resolved by', 'flags' => '0', 'sort' => '2', 'properties' => 'Resolved tickets.')); Ticket_status::create(array('name' => 'Closed', 'state' => 'closed', 'mode' => '3', 'message' => 'Ticket have been Closed by', 'flags' => '0', 'sort' => '3', 'properties' => 'Closed tickets. Tickets will still be accessible on client and staff panels.')); Ticket_status::create(array('name' => 'Archived', 'state' => 'archived', 'mode' => '3', 'message' => 'Ticket have been Archived by', 'flags' => '0', 'sort' => '4', 'properties' => 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.')); Ticket_status::create(array('name' => 'Deleted', 'state' => 'deleted', 'mode' => '3', 'message' => 'Ticket have been Deleted by', 'flags' => '0', 'sort' => '5', 'properties' => 'Tickets queued for deletion. Not accessible on ticket queues.')); Ticket::create(array('num_format' => '#ABCD 1234 1234567', 'num_sequence' => '0', 'priority' => 'low', 'sla' => '12 Hours', 'help_topic' => 'support query')); Ticket_priority::create(array('priority' => 'low', 'priority_desc' => 'Low', 'priority_color' => 'info', 'priority_urgency' => '4', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'normal', 'priority_desc' => 'Normal', 'priority_color' => 'info', 'priority_urgency' => '3', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'high', 'priority_desc' => 'High', 'priority_color' => 'warning', 'priority_urgency' => '2', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'emergency', 'priority_desc' => 'Emergency', 'priority_color' => 'danger', 'priority_urgency' => '1', 'ispublic' => '1')); Sla_plan::create(array('name' => 'Sla 1', 'grace_period' => '6 Hours', 'status' => '1')); Sla_plan::create(array('name' => 'Sla 2', 'grace_period' => '12 Hours', 'status' => '1')); Sla_plan::create(array('name' => 'Sla 3', 'grace_period' => '24 Hours', 'status' => '1')); $mailbox = ['IMAP+SSl', 'IMAP', 'POP+SSL', 'POP']; foreach ($mailbox as $protocol) { MailboxProtocol::create(array('name' => $protocol)); } $logs = ['WARN', 'DEBUG', 'ERROR']; foreach ($logs as $log) { Logs::create(['level' => $log]); } $languages = ['English' => 'en', 'Italian' => 'it', 'German' => 'de', 'French' => 'fr', 'Brazilian Portuguese' => 'pt_BR', 'Dutch' => 'nl', 'Spanish' => 'es', 'Norwegian' => 'nb_NO', 'Danish' => 'da']; foreach ($languages as $language => $locale) { Languages::create(['name' => $language, 'locale' => $locale]); } Guest_note::create(['heading' => 'Welcome to the Support Center', 'content' => 'Hello this is a new helpdesk support system ans it is in the development phase.']); Form_name::create(['name' => 'form', 'status' => '1', 'no_of_fields' => '5']); $date_time_formats = ['d/m/Y H:i:s', 'd.m.Y H:i:s', 'd-m-Y H:i:s', 'm/d/Y H:i:s', 'm.d.Y H:i:s', 'm-d-Y H:i:s', 'Y/m/d H:i:s', 'Y.m.d H:i:s', 'Y-m-d H:i:s']; foreach ($date_time_formats as $date_time_format) { Date_time_format::create(['format' => $date_time_format]); } $date_formats = ['dd/mm/yyyy', 'dd-mm-yyyy', 'dd.mm.yyyy', 'mm/dd/yyyy', 'mm:dd:yyyy', 'mm-dd-yyyy', 'dd-mm-yyyy', 'yyyy/mm/dd', 'yyyy.mm.dd', 'yyyy-mm-dd']; foreach ($date_formats as $date_format) { Date_format::create(['format' => $date_format]); } Teams::create(array('name' => 'Level 1 Support')); Teams::create(array('name' => 'Level 2 Support')); Teams::create(array('name' => 'Developer')); Groups::create(array('name' => 'Group A', 'group_status' => '1', 'can_create_ticket' => '1', 'can_edit_ticket' => '1', 'can_post_ticket' => '1', 'can_close_ticket' => '1', 'can_assign_ticket' => '1', 'can_transfer_ticket' => '1', 'can_delete_ticket' => '1', 'can_ban_email' => '1', 'can_manage_canned' => '1', 'can_manage_faq' => '1', 'can_view_agent_stats' => '1', 'department_access' => '1')); Groups::create(array('name' => 'Group B', 'group_status' => '1', 'can_create_ticket' => '1', 'can_edit_ticket' => '0', 'can_post_ticket' => '0', 'can_close_ticket' => '1', 'can_assign_ticket' => '1', 'can_transfer_ticket' => '1', 'can_delete_ticket' => '1', 'can_ban_email' => '1', 'can_manage_canned' => '1', 'can_manage_faq' => '1', 'can_view_agent_stats' => '1', 'department_access' => '1')); Groups::create(array('name' => 'Group C', 'group_status' => '1', 'can_create_ticket' => '0', 'can_edit_ticket' => '0', 'can_post_ticket' => '0', 'can_close_ticket' => '1', 'can_assign_ticket' => '0', 'can_transfer_ticket' => '0', 'can_delete_ticket' => '0', 'can_ban_email' => '0', 'can_manage_canned' => '0', 'can_manage_faq' => '0', 'can_view_agent_stats' => '0', 'department_access' => '0')); Department::create(array('name' => 'Support')); Department::create(array('name' => 'Sales')); Department::create(array('name' => 'Operation')); // Access::create(array('password_expire' => '1 Months', 'reg_method' => 'disable')); // Access::create(array('password_expire' => '2 Months', 'reg_method' => 'private')); // Access::create(array('password_expire' => '6 Months', 'reg_method' => 'public')); // Company::create(array('company_name' => 'D company', 'website' => 'dcompany.org', 'phone' => '8606574126')); // Emails::create(array('email_address' => '*****@*****.**', 'email_name' => 'maintain', 'department' => 'maintanance', 'priority' => 'low', 'help_topic' => 'maintanance query', 'user_name' => 'maintanance')); help_topic::create(array('topic' => 'Support query', 'parent_topic' => 'Support query', 'custom_form' => '1', 'department' => '1', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '1', 'type' => '1', 'auto_response' => '0')); help_topic::create(array('topic' => 'Sales query', 'parent_topic' => 'Sale query', 'custom_form' => '1', 'department' => '2', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '1', 'type' => '1', 'auto_response' => '0')); help_topic::create(array('topic' => 'Operational query', 'parent_topic' => 'Operational query', 'custom_form' => '1', 'department' => '3', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '1', 'type' => '1', 'auto_response' => '0')); Priority::create(array('name' => 'low')); Priority::create(array('name' => 'high')); Log_notification::create(['log' => 'NOT-1']); Access::create(array('id' => '1')); Alert::create(array('id' => '1')); Company::create(array('id' => '1')); Email::create(array('id' => '1')); Responder::create(array('id' => '1')); System::create(array('id' => '1')); Footer::create(array('id' => '1')); Footer2::create(array('id' => '1')); Footer3::create(array('id' => '1')); Footer4::create(array('id' => '1')); // Ticket::create(array('id' => '1')); Ticket_source::create(array('name' => 'web', 'value' => 'Web')); Ticket_source::create(array('name' => 'email', 'value' => 'E-mail')); Ticket_source::create(array('name' => 'agent', 'value' => 'Agent Panel')); Smtp::create(array('id' => '1')); Version_Check::create(['id' => '1']); $option = array('gmt_offset', 'date_format', 'time_format', 'date_time_format', 'sitename', 'sitedescription', 'admin_email', 'template', 'upload_url_path', 'timezone_string', 'siteurl', 'home', 'start_of_week', 'language', 'port', 'host', 'encryption', 'username', 'password', 'footer', 'uselogo', 'logo'); foreach ($option as $name) { Options::create(array('option_name' => $name)); } Social::create(['id' => '1']); Side1::create(['id' => '1']); Side2::create(['id' => '1']); Settings::create(['id' => 'id', 'paagination' => '10']); }
/** * Run the database seeds. * * @return void */ public function run() { /* Date time format */ $date_time_formats = ['d/m/Y H:i:s', 'd.m.Y H:i:s', 'd-m-Y H:i:s', 'm/d/Y H:i:s', 'm.d.Y H:i:s', 'm-d-Y H:i:s', 'Y/m/d H:i:s', 'Y.m.d H:i:s', 'Y-m-d H:i:s']; foreach ($date_time_formats as $date_time_format) { Date_time_format::create(['format' => $date_time_format]); } /* Date format */ $date_formats = ['dd/mm/yyyy', 'dd-mm-yyyy', 'dd.mm.yyyy', 'mm/dd/yyyy', 'mm:dd:yyyy', 'mm-dd-yyyy', 'yyyy/mm/dd', 'yyyy.mm.dd', 'yyyy-mm-dd']; foreach ($date_formats as $date_format) { Date_format::create(['format' => $date_format]); } /* Time format */ Time_format::create(array('format' => 'H:i:s')); Time_format::create(array('format' => 'H.i.s')); /* Timezone */ $timezone = ['Pacific/Midway' => '(GMT-11:00) Midway Island', 'US/Samoa' => '(GMT-11:00) Samoa', 'US/Hawaii' => '(GMT-10:00) Hawaii', 'US/Alaska' => '(GMT-09:00) Alaska', 'US/Pacific' => '(GMT-08:00) Pacific Time (US & Canada)', 'America/Tijuana' => '(GMT-08:00) Tijuana', 'US/Arizona' => '(GMT-07:00) Arizona', 'US/Mountain' => '(GMT-07:00) Mountain Time (US & Canada)', 'America/Chihuahua' => '(GMT-07:00) Chihuahua', 'America/Mazatlan' => '(GMT-07:00) Mazatlan', 'America/Mexico_City' => '(GMT-06:00) Mexico City', 'America/Monterrey' => '(GMT-06:00) Monterrey', 'Canada/Saskatchewan' => '(GMT-06:00) Saskatchewan', 'US/Central' => '(GMT-06:00) Central Time (US & Canada)', 'US/Eastern' => '(GMT-05:00) Eastern Time (US & Canada)', 'US/East-Indiana' => '(GMT-05:00) Indiana (East)', 'America/Bogota' => '(GMT-05:00) Bogota', 'America/Lima' => '(GMT-05:00) Lima', 'America/Caracas' => '(GMT-04:30) Caracas', 'Canada/Atlantic' => '(GMT-04:00) Atlantic Time (Canada)', 'America/La_Paz' => '(GMT-04:00) La Paz', 'America/Santiago' => '(GMT-04:00) Santiago', 'Canada/Newfoundland' => '(GMT-03:30) Newfoundland', 'America/Buenos_Aires' => '(GMT-03:00) Buenos Aires', 'Greenland' => '(GMT-03:00) Greenland', 'Atlantic/Stanley' => '(GMT-02:00) Stanley', 'Atlantic/Azores' => '(GMT-01:00) Azores', 'Atlantic/Cape_Verde' => '(GMT-01:00) Cape Verde Is.', 'Africa/Casablanca' => '(GMT) Casablanca', 'Europe/Dublin' => '(GMT) Dublin', 'Europe/Lisbon' => '(GMT) Lisbon', 'Europe/London' => '(GMT) London', 'Africa/Monrovia' => '(GMT) Monrovia', 'Europe/Amsterdam' => '(GMT+01:00) Amsterdam', 'Europe/Belgrade' => '(GMT+01:00) Belgrade', 'Europe/Berlin' => '(GMT+01:00) Berlin', 'Europe/Bratislava' => '(GMT+01:00) Bratislava', 'Europe/Brussels' => '(GMT+01:00) Brussels', 'Europe/Budapest' => '(GMT+01:00) Budapest', 'Europe/Copenhagen' => '(GMT+01:00) Copenhagen', 'Europe/Ljubljana' => '(GMT+01:00) Ljubljana', 'Europe/Madrid' => '(GMT+01:00) Madrid', 'Europe/Paris' => '(GMT+01:00) Paris', 'Europe/Prague' => '(GMT+01:00) Prague', 'Europe/Rome' => '(GMT+01:00) Rome', 'Europe/Sarajevo' => '(GMT+01:00) Sarajevo', 'Europe/Skopje' => '(GMT+01:00) Skopje', 'Europe/Stockholm' => '(GMT+01:00) Stockholm', 'Europe/Vienna' => '(GMT+01:00) Vienna', 'Europe/Warsaw' => '(GMT+01:00) Warsaw', 'Europe/Zagreb' => '(GMT+01:00) Zagreb', 'Europe/Athens' => '(GMT+02:00) Athens', 'Europe/Bucharest' => '(GMT+02:00) Bucharest', 'Africa/Cairo' => '(GMT+02:00) Cairo', 'Africa/Harare' => '(GMT+02:00) Harare', 'Europe/Helsinki' => '(GMT+02:00) Helsinki', 'Europe/Istanbul' => '(GMT+02:00) Istanbul', 'Asia/Jerusalem' => '(GMT+02:00) Jerusalem', 'Europe/Kiev' => '(GMT+02:00) Kyiv', 'Europe/Minsk' => '(GMT+02:00) Minsk', 'Europe/Riga' => '(GMT+02:00) Riga', 'Europe/Sofia' => '(GMT+02:00) Sofia', 'Europe/Tallinn' => '(GMT+02:00) Tallinn', 'Europe/Vilnius' => '(GMT+02:00) Vilnius', 'Asia/Baghdad' => '(GMT+03:00) Baghdad', 'Asia/Kuwait' => '(GMT+03:00) Kuwait', 'Africa/Nairobi' => '(GMT+03:00) Nairobi', 'Asia/Riyadh' => '(GMT+03:00) Riyadh', 'Asia/Tehran' => '(GMT+03:30) Tehran', 'Europe/Moscow' => '(GMT+04:00) Moscow', 'Asia/Baku' => '(GMT+04:00) Baku', 'Europe/Volgograd' => '(GMT+04:00) Volgograd', 'Asia/Muscat' => '(GMT+04:00) Muscat', 'Asia/Tbilisi' => '(GMT+04:00) Tbilisi', 'Asia/Yerevan' => '(GMT+04:00) Yerevan', 'Asia/Kabul' => '(GMT+04:30) Kabul', 'Asia/Karachi' => '(GMT+05:00) Karachi', 'Asia/Tashkent' => '(GMT+05:00) Tashkent', 'Asia/Kolkata' => '(GMT+05:30) Kolkata', 'Asia/Kathmandu' => '(GMT+05:45) Kathmandu', 'Asia/Yekaterinburg' => '(GMT+06:00) Ekaterinburg', 'Asia/Almaty' => '(GMT+06:00) Almaty', 'Asia/Dhaka' => '(GMT+06:00) Dhaka', 'Asia/Novosibirsk' => '(GMT+07:00) Novosibirsk', 'Asia/Bangkok' => '(GMT+07:00) Bangkok', 'Asia/Ho_Chi_Minh' => '(GMT+07.00) Ho Chi Minh', 'Asia/Jakarta' => '(GMT+07:00) Jakarta', 'Asia/Krasnoyarsk' => '(GMT+08:00) Krasnoyarsk', 'Asia/Chongqing' => '(GMT+08:00) Chongqing', 'Asia/Hong_Kong' => '(GMT+08:00) Hong Kong', 'Asia/Kuala_Lumpur' => '(GMT+08:00) Kuala Lumpur', 'Australia/Perth' => '(GMT+08:00) Perth', 'Asia/Singapore' => '(GMT+08:00) Singapore', 'Asia/Taipei' => '(GMT+08:00) Taipei', 'Asia/Ulaanbaatar' => '(GMT+08:00) Ulaan Bataar', 'Asia/Urumqi' => '(GMT+08:00) Urumqi', 'Asia/Irkutsk' => '(GMT+09:00) Irkutsk', 'Asia/Seoul' => '(GMT+09:00) Seoul', 'Asia/Tokyo' => '(GMT+09:00) Tokyo', 'Australia/Adelaide' => '(GMT+09:30) Adelaide', 'Australia/Darwin' => '(GMT+09:30) Darwin', 'Asia/Yakutsk' => '(GMT+10:00) Yakutsk', 'Australia/Brisbane' => '(GMT+10:00) Brisbane', 'Australia/Canberra' => '(GMT+10:00) Canberra', 'Pacific/Guam' => '(GMT+10:00) Guam', 'Australia/Hobart' => '(GMT+10:00) Hobart', 'Australia/Melbourne' => '(GMT+10:00) Melbourne', 'Pacific/Port_Moresby' => '(GMT+10:00) Port Moresby', 'Australia/Sydney' => '(GMT+10:00) Sydney', 'Asia/Vladivostok' => '(GMT+11:00) Vladivostok', 'Asia/Magadan' => '(GMT+12:00) Magadan', 'Pacific/Auckland' => '(GMT+12:00) Auckland', 'Pacific/Fiji' => '(GMT+12:00) Fiji']; foreach ($timezone as $name => $location) { Timezones::create(array('name' => $name, 'location' => $location)); } /* Ticket status */ Ticket_status::create(array('name' => 'Open', 'state' => 'open', 'mode' => '3', 'message' => 'Ticket have been Reopened by', 'flags' => '0', 'sort' => '1', 'properties' => 'Open tickets.')); Ticket_status::create(array('name' => 'Resolved', 'state' => 'closed', 'mode' => '1', 'message' => 'Ticket have been Resolved by', 'flags' => '0', 'sort' => '2', 'properties' => 'Resolved tickets.')); Ticket_status::create(array('name' => 'Closed', 'state' => 'closed', 'mode' => '3', 'message' => 'Ticket have been Closed by', 'flags' => '0', 'sort' => '3', 'properties' => 'Closed tickets. Tickets will still be accessible on client and staff panels.')); Ticket_status::create(array('name' => 'Archived', 'state' => 'archived', 'mode' => '3', 'message' => 'Ticket have been Archived by', 'flags' => '0', 'sort' => '4', 'properties' => 'Tickets only adminstratively available but no longer accessible on ticket queues and client panel.')); Ticket_status::create(array('name' => 'Deleted', 'state' => 'deleted', 'mode' => '3', 'message' => 'Ticket have been Deleted by', 'flags' => '0', 'sort' => '5', 'properties' => 'Tickets queued for deletion. Not accessible on ticket queues.')); /* Ticket priority */ Ticket_priority::create(array('priority' => 'low', 'priority_desc' => 'Low', 'priority_color' => 'info', 'priority_urgency' => '4', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'normal', 'priority_desc' => 'Normal', 'priority_color' => 'info', 'priority_urgency' => '3', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'high', 'priority_desc' => 'High', 'priority_color' => 'warning', 'priority_urgency' => '2', 'ispublic' => '1')); Ticket_priority::create(array('priority' => 'emergency', 'priority_desc' => 'Emergency', 'priority_color' => 'danger', 'priority_urgency' => '1', 'ispublic' => '1')); /* SLA Plans */ Sla_plan::create(array('name' => 'Sla 1', 'grace_period' => '6 Hours', 'status' => '1')); Sla_plan::create(array('name' => 'Sla 2', 'grace_period' => '12 Hours', 'status' => '1')); Sla_plan::create(array('name' => 'Sla 3', 'grace_period' => '24 Hours', 'status' => '1')); /* Mailbox protocol */ $mailbox = ['IMAP' => '/imap', 'IMAP+SSL' => '/imap/ssl', 'IMAP+TLS' => '/imap/tls', 'IMAP+SSL/No-validate' => '/imap/ssl/novalidate-cert']; foreach ($mailbox as $name => $value) { MailboxProtocol::create(['name' => $name, 'value' => $value]); } /* Languages */ $languages = ['English' => 'en', 'Italian' => 'it', 'German' => 'de', 'French' => 'fr', 'Brazilian Portuguese' => 'pt_BR', 'Dutch' => 'nl', 'Spanish' => 'es', 'Norwegian' => 'nb_NO', 'Danish' => 'da']; foreach ($languages as $language => $locale) { Languages::create(['name' => $language, 'locale' => $locale]); } /* Teams */ Teams::create(array('name' => 'Level 1 Support', 'status' => '1')); Teams::create(array('name' => 'Level 2 Support')); Teams::create(array('name' => 'Developer')); /* Groups */ Groups::create(array('name' => 'Group A', 'group_status' => '1', 'can_create_ticket' => '1', 'can_edit_ticket' => '1', 'can_post_ticket' => '1', 'can_close_ticket' => '1', 'can_assign_ticket' => '1', 'can_transfer_ticket' => '1', 'can_delete_ticket' => '1', 'can_ban_email' => '1', 'can_manage_canned' => '1', 'can_view_agent_stats' => '1', 'department_access' => '1')); Groups::create(array('name' => 'Group B', 'group_status' => '1', 'can_create_ticket' => '1', 'can_edit_ticket' => '0', 'can_post_ticket' => '0', 'can_close_ticket' => '1', 'can_assign_ticket' => '1', 'can_transfer_ticket' => '1', 'can_delete_ticket' => '1', 'can_ban_email' => '1', 'can_manage_canned' => '1', 'can_view_agent_stats' => '1', 'department_access' => '1')); Groups::create(array('name' => 'Group C', 'group_status' => '1', 'can_create_ticket' => '0', 'can_edit_ticket' => '0', 'can_post_ticket' => '0', 'can_close_ticket' => '1', 'can_assign_ticket' => '0', 'can_transfer_ticket' => '0', 'can_delete_ticket' => '0', 'can_ban_email' => '0', 'can_manage_canned' => '0', 'can_view_agent_stats' => '0', 'department_access' => '0')); /* Department */ Department::create(array('name' => 'Support', 'sla' => '1')); Department::create(array('name' => 'Sales', 'sla' => '1')); Department::create(array('name' => 'Operation', 'sla' => '1')); /* Helptopic */ help_topic::create(array('topic' => 'Support query', 'department' => '1', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '1', 'type' => '1', 'auto_response' => '0')); help_topic::create(array('topic' => 'Sales query', 'department' => '2', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '0', 'type' => '1', 'auto_response' => '0')); help_topic::create(array('topic' => 'Operational query', 'department' => '3', 'ticket_status' => '1', 'priority' => '2', 'sla_plan' => '1', 'ticket_num_format' => '1', 'status' => '0', 'type' => '1', 'auto_response' => '0')); /* Daily notification log */ Log_notification::create(['log' => 'NOT-1']); /* System complete settings */ Alert::create(['id' => '1', 'ticket_status' => '1', 'ticket_admin_email' => '1', 'assignment_status' => '1', 'assignment_assigned_status' => '1', 'assignment_assigned_agent' => '1']); Company::create(array('id' => '1')); Email::create(array('id' => '1', 'email_fetching' => '1', 'notification_cron' => '1', 'all_emails' => '1', 'email_collaborator' => '1', 'attachment' => '1')); Responder::create(array('id' => '1', 'new_ticket' => '1', 'agent_new_ticket' => '1')); System::create(array('id' => '1', 'status' => '1', 'department' => '1', 'date_time_format' => '1', 'time_zone' => '32')); Ticket::create(array('num_format' => '#ABCD 1234 1234567', 'num_sequence' => '0', 'priority' => '1', 'sla' => '2', 'help_topic' => '1', 'status' => '1')); /* Ticket source */ Ticket_source::create(array('name' => 'web', 'value' => 'Web')); Ticket_source::create(array('name' => 'email', 'value' => 'E-mail')); Ticket_source::create(array('name' => 'agent', 'value' => 'Agent Panel')); /* Mail configuration */ Smtp::create(array('id' => '1')); /* Version check */ Version_Check::create(['id' => '1']); /* System widgets */ Widgets::create(['id' => '1', 'name' => 'footer1']); Widgets::create(['id' => '2', 'name' => 'footer2']); Widgets::create(['id' => '3', 'name' => 'footer3']); Widgets::create(['id' => '4', 'name' => 'footer4']); Widgets::create(['id' => '5', 'name' => 'side1']); Widgets::create(['id' => '6', 'name' => 'side2']); Widgets::create(['id' => '7', 'name' => 'linkedin']); Widgets::create(['id' => '8', 'name' => 'stumble']); Widgets::create(['id' => '9', 'name' => 'google']); Widgets::create(['id' => '10', 'name' => 'deviantart']); Widgets::create(['id' => '11', 'name' => 'flickr']); Widgets::create(['id' => '12', 'name' => 'skype']); Widgets::create(['id' => '13', 'name' => 'rss']); Widgets::create(['id' => '14', 'name' => 'twitter']); Widgets::create(['id' => '15', 'name' => 'facebook']); Widgets::create(['id' => '16', 'name' => 'youtube']); Widgets::create(['id' => '17', 'name' => 'vimeo']); Widgets::create(['id' => '18', 'name' => 'pinterest']); Widgets::create(['id' => '19', 'name' => 'dribbble']); Widgets::create(['id' => '20', 'name' => 'instagram']); /* Knowledge base setting */ Settings::create(['id' => 'id', 'pagination' => '10']); }
/** * Update the specified resource in storage. * @param type $id * @param type Alert $alert * @param type Request $request * @return type Response */ public function postalert($id, Alert $alert, Request $request) { try { /* fetch the values of alert request */ $alerts = $alert->whereId('1')->first(); /* Insert Checkbox to DB */ $alerts->assignment_status = $request->input('assignment_status'); $alerts->ticket_status = $request->input('ticket_status'); $alerts->overdue_department_member = $request->input('overdue_department_member'); $alerts->sql_error = $request->input('sql_error'); $alerts->excessive_failure = $request->input('excessive_failure'); $alerts->overdue_status = $request->input('overdue_status'); $alerts->overdue_assigned_agent = $request->input('overdue_assigned_agent'); $alerts->overdue_department_manager = $request->input('overdue_department_manager'); $alerts->internal_status = $request->input('internal_status'); $alerts->internal_last_responder = $request->input('internal_last_responder'); $alerts->internal_assigned_agent = $request->input('internal_assigned_agent'); $alerts->internal_department_manager = $request->input('internal_department_manager'); $alerts->assignment_assigned_agent = $request->input('assignment_assigned_agent'); $alerts->assignment_team_leader = $request->input('assignment_team_leader'); $alerts->assignment_team_member = $request->input('assignment_team_member'); $alerts->system_error = $request->input('system_error'); $alerts->transfer_department_member = $request->input('transfer_department_member'); $alerts->transfer_department_manager = $request->input('transfer_department_manager'); $alerts->transfer_assigned_agent = $request->input('transfer_assigned_agent'); $alerts->transfer_status = $request->input('transfer_status'); $alerts->message_organization_accmanager = $request->input('message_organization_accmanager'); $alerts->message_department_manager = $request->input('message_department_manager'); $alerts->message_assigned_agent = $request->input('message_assigned_agent'); $alerts->message_last_responder = $request->input('message_last_responder'); $alerts->message_status = $request->input('message_status'); $alerts->ticket_organization_accmanager = $request->input('ticket_organization_accmanager'); $alerts->ticket_department_manager = $request->input('ticket_department_manager'); $alerts->ticket_department_member = $request->input('ticket_department_member'); $alerts->ticket_admin_email = $request->input('ticket_admin_email'); if ($request->input('system_error') == null) { $str = '%0%'; $path = app_path('../config/app.php'); $content = \File::get($path); $content = str_replace('%1%', $str, $content); \File::put($path, $content); } else { $str = '%1%'; $path = app_path('../config/app.php'); $content = \File::get($path); $content = str_replace('%0%', $str, $content); \File::put($path, $content); } /* fill the values to coompany table */ /* Check whether function success or not */ if ($alerts->save() == true) { /* redirect to Index page with Success Message */ return redirect('getalert')->with('success', 'Alert Updated Successfully'); } else { /* redirect to Index page with Fails Message */ return redirect('getalert')->with('fails', 'Alert can not Updated'); } } catch (Exception $e) { /* redirect to Index page with Fails Message */ return redirect('getalert')->with('fails', 'Alert can not Updated'); } }