Advertisement
jamboljack

Save Data Revisi

Jan 15th, 2019
370
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.35 KB | None | 0 0
  1. public function savedatarevisi_post()
  2.     {
  3.         $username = trim($this->post('username'));
  4.         $id       = $this->post('id');
  5.         $level    = $this->post('level');
  6.         $nama     = $this->post('nama'); // Nama Pengusul/Dosen
  7.         $pesan    = $this->post('pesan');
  8.  
  9.         if ($username == '') {
  10.             $response = [
  11.                 'resp_error' => true,
  12.                 'resp_msg'   => 'Username kosong.',
  13.             ];
  14.         } elseif ($id == '') {
  15.             $response = [
  16.                 'resp_error' => true,
  17.                 'resp_msg'   => 'ID Proposal kosong.',
  18.             ];
  19.         } elseif ($level == '') {
  20.             $response = [
  21.                 'resp_error' => true,
  22.                 'resp_msg'   => 'Level tidak ditemukan.',
  23.             ];
  24.         } elseif ($nama == '') {
  25.             $response = [
  26.                 'resp_error' => true,
  27.                 'resp_msg'   => 'Nama Dosen kosong.',
  28.             ];
  29.         } elseif ($pesan == '') {
  30.             $response = [
  31.                 'resp_error' => true,
  32.                 'resp_msg'   => 'Pesan masih kosong.',
  33.             ];
  34.         } else {
  35.             if (!empty($_FILES['attachment']['name'])) {
  36.                 $jam                     = time();
  37.                 $config['file_name']     = 'Revisi_' . $username . '_' . $jam . '.jpg';
  38.                 $config['upload_path']   = './img/image_revisi/';
  39.                 $config['allowed_types'] = 'jpg|png|jpeg|gif';
  40.                 $config['overwrite']     = true;
  41.                 $config['max_size']      = 0;
  42.                 $this->load->library('upload', $config);
  43.                 if (!$this->upload->do_upload('attachment')) {
  44.                     $response = [
  45.                         'resp_error' => true,
  46.                         'resp_msg'   => 'File harus type Image.',
  47.                     ];
  48.                 } else {
  49.                     // Update Tgl. Revisi Reviewer
  50.                     $dataRevisiRev = array(
  51.                         'tgl_revisi'      => date('Y-m-d'),
  52.                         'reviewer_update' => date('Y-m-d H:i:s'),
  53.                     );
  54.  
  55.                     $this->db->where('user_username', $username);
  56.                     $this->db->where('propose_id', $id);
  57.                     $this->db->update('lemlit_reviewer', $dataRevisiRev);
  58.  
  59.                     // Update Tgl. Revisi
  60.                     $dataProposal = array(
  61.                         'propose_revisi' => date('Y-m-d'),
  62.                         'propose_update' => date('Y-m-d H:i:s'),
  63.                     );
  64.  
  65.                     $this->db->where('propose_id', $id);
  66.                     $this->db->update('lemlit_propose', $dataProposal);
  67.  
  68.                     // Data Footer
  69.                     $footer     = $this->db->get_where('lemlit_content', array('content_id' => 3))->row();
  70.                     $dataFooter = $footer->content_desc;
  71.  
  72.                     $dataRevisi = array(
  73.                         'user_username'   => $username,
  74.                         'propose_id'      => $id,
  75.                         'revision_desc'   => $pesan,
  76.                         'revision_post'   => date('Y-m-d H:i:s'),
  77.                         'revision_update' => date('Y-m-d H:i:s'),
  78.                     );
  79.  
  80.                     $this->db->insert('lemlit_revision', $dataRevisi);
  81.                     $revision_id = $this->db->insert_id(); // ID Revisi Baru
  82.  
  83.                     $pesansimpan = "Kepada : " . $nama . "<br><br>" . $pesan . "<br>Hormat Kami,<br>Reviewer<br><br>"
  84.                         . $dataFooter;
  85.  
  86.                     $dataDetail = array(
  87.                         'revision_id'      => $revision_id,
  88.                         'user_username'    => $username,
  89.                         'detail_level'     => 'Admin',
  90.                         'detail_message'   => $pesansimpan,
  91.                         'detail_image'     => $this->upload->file_name,
  92.                         'detail_date_post' => date('Y-m-d H:i:s'),
  93.                     );
  94.  
  95.                     $this->db->insert('lemlit_revision_detail', $dataDetail);
  96.                 }
  97.             } else {
  98.                 $footer     = $this->db->get_where('lemlit_content', array('content_id' => 3))->row();
  99.                 $dataFooter = $footer->content_desc;
  100.  
  101.                 $dataRevisi = array(
  102.                     'user_username'   => $username,
  103.                     'propose_id'      => $id,
  104.                     'revision_desc'   => $pesan,
  105.                     'revision_post'   => date('Y-m-d H:i:s'),
  106.                     'revision_update' => date('Y-m-d H:i:s'),
  107.                 );
  108.  
  109.                 $this->db->insert('lemlit_revision', $dataRevisi);
  110.                 $revision_id = $this->db->insert_id(); // ID Revisi Baru
  111.  
  112.                 $pesansimpan = "Kepada : " . $nama . "<br><br>" . $pesan . "<br>Hormat Kami,<br>Reviewer<br><br>"
  113.                     . $dataFooter;
  114.  
  115.                 $dataDetail = array(
  116.                     'revision_id'      => $revision_id,
  117.                     'user_username'    => $username,
  118.                     'detail_level'     => 'Admin',
  119.                     'detail_message'   => $pesansimpan,
  120.                     'detail_date_post' => date('Y-m-d H:i:s'),
  121.                 );
  122.  
  123.                 $this->db->insert('lemlit_revision_detail', $dataDetail);
  124.             }
  125.  
  126.             // Send Notifikasi ke Member
  127.             $dataProposal   = $this->db->get_where('v_proposal', array('propose_id' => $id))->row();
  128.             $username_dosen = $dataProposal->user_username;
  129.             $pesanNotif     = 'Revisi dari Reviewer untuk Proposal Anda, mohon di Cek';
  130.             $dataNotif      = array(
  131.                 'user_pengirim'    => $username,
  132.                 'user_username'    => $username_dosen,
  133.                 'notifikasi_date'  => date('Y-m-d'),
  134.                 'notifikasi_desc'  => $pesanNotif,
  135.                 'notifikasi_level' => 'Member',
  136.             );
  137.  
  138.             $this->db->insert('lemlit_notifikasi', $dataNotif);
  139.  
  140.             $dataDevice = $this->db->get_where('lemlit_users', array('device_id !=' => '', 'user_username' => $username_dosen))->row();
  141.             sendNotification($dataDevice->device_id, $pesanNotif);
  142.  
  143.             $response = [
  144.                 'resp_error' => false,
  145.                 'resp_msg'   => 'Simpan Data Revisi Berhasil.',
  146.             ];
  147.         }
  148.  
  149.         $this->response($response, 200);
  150.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement