Advertisement
jamboljack

Balas Ticket

Oct 6th, 2018
371
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.71 KB | None | 0 0
  1. public function balasticket_post()
  2.     {
  3.         $username  = trim($this->post('username'));
  4.         $level     = trim($this->post('level'));
  5.         $ticket_id = trim($this->post('ticket_id'));
  6.         $pesan     = trim($this->post('pesan'));
  7.  
  8.         if ($username == '') {
  9.             $response = [
  10.                 'resp_error' => true,
  11.                 'resp_msg'   => 'Username kosong.',
  12.             ];
  13.         } elseif ($ticket_id == '') {
  14.             $response = [
  15.                 'resp_error' => true,
  16.                 'resp_msg'   => 'ID Ticket kosong.',
  17.             ];
  18.         } else {
  19.             if (!empty($_FILES['attachment']['name'])) {
  20.                 $jam                     = time();
  21.                 $config['file_name']     = 'Ticket_' . $jam . '.jpg';
  22.                 $config['upload_path']   = './ticket/';
  23.                 $config['allowed_types'] = 'jpg|png|gif|jpeg';
  24.                 $config['overwrite']     = true;
  25.                 $this->load->library('upload', $config);
  26.                 $this->upload->do_upload('attachment');
  27.                 $config['image_library']  = 'gd2';
  28.                 $config['source_image']   = $this->upload->upload_path . $this->upload->file_name;
  29.                 $config['maintain_ratio'] = true;
  30.                 $this->load->library('image_lib', $config);
  31.                 $this->image_lib->resize();
  32.             } elseif (empty($_FILES['attachment']['name'])) {
  33.                 $config['file_name'] = '';
  34.             }
  35.  
  36.             if ($level == 'Member') {
  37.                 $message = $pesan;
  38.             } else {
  39.                 // Insert ke Tabel Ticket
  40.                 $dataTicket = $this->db->get_where('v_ticket', array('ticket_id' => $ticket_id))->row();
  41.                 $footer     = $this->ticket_model->select_footer()->row();
  42.                 $dataFooter = $footer->content_desc;
  43.                 // Kirim Email
  44.                 $user_username = $this->session->userdata('username');
  45.                 $namapetugas   = trim(ucwords(strtolower($this->session->userdata('nama')))); // Nama Petugas
  46.                 $level         = trim($this->session->userdata('level'));
  47.                 $sender_email  = 'sipto.bpmppt@gmail.com';
  48.                 $sender_name   = 'DPM PTSP Kudus';
  49.                 $subject       = '[Ticket ID : #' . $ticket_id . ' ] ' . $dataTicket->ticket_subject;
  50.                 $email         = $dataTicket->user_email;
  51.                 $message       = "Halo, <br><br>" . $pesan . "<p>Terima Kasih<br><br>Hormat Kami,<br>" . $namapetugas . "<br>" . $level . "<br>" . $dataFooter . "</p>";
  52.  
  53.                 $this->load->library('email');
  54.                 $this->email->set_mailtype("html");
  55.                 $this->email->from($sender_email, $sender_name);
  56.                 $this->email->to($email);
  57.                 $this->email->subject($subject);
  58.                 $this->email->message($message);
  59.                 $this->email->send();
  60.             }
  61.  
  62.             if ($level == 'Member') {
  63.                 $ticket_status = 'Member-reply';
  64.                 $detail_level  = 'Member';
  65.             } else {
  66.                 $ticket_status = 'Answered';
  67.                 $detail_level  = 'Petugas';
  68.             }
  69.  
  70.             // Update Ticket
  71.             $dataUpdateTicket = array(
  72.                 'user_username' => $username,
  73.                 'ticket_status' => $ticket_status,
  74.                 'ticket_update' => date('Y-m-d H:i:s'),
  75.             );
  76.  
  77.             $this->db->where('ticket_id', $ticket_id);
  78.             $this->db->update('bpmppt_ticket', $dataUpdateTicket);
  79.  
  80.             // Insert ke Detail Ticket
  81.             if (!empty($_FILES['attachment']['name'])) {
  82.                 $dataDetail = array(
  83.                     'ticket_id'        => $ticket_id,
  84.                     'user_username'    => $username,
  85.                     'detail_level'     => $detail_level,
  86.                     'detail_message'   => $message,
  87.                     'detail_image'     => $this->upload->file_name,
  88.                     'detail_date_post' => date('Y-m-d'),
  89.                     'detail_time_post' => date('Y-m-d H:i:s'),
  90.                 );
  91.             } else {
  92.                 $dataDetail = array(
  93.                     'ticket_id'        => $ticket_id,
  94.                     'user_username'    => $username,
  95.                     'detail_level'     => $detail_level,
  96.                     'detail_message'   => $message,
  97.                     'detail_date_post' => date('Y-m-d'),
  98.                     'detail_time_post' => date('Y-m-d H:i:s'),
  99.                 );
  100.             }
  101.  
  102.             $this->db->insert('bpmppt_ticket_detail', $dataDetail);
  103.  
  104.             $resp = ['resp_error' => false, 'resp_msg' => "success"];
  105.         }
  106.  
  107.         $this->response($resp, 200);
  108.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement