Advertisement
gurumutant

[v3.2] Modifikasi edit_gelar() pada Controller Data_guru

Dec 12th, 2017
314
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.67 KB | None | 0 0
  1.     public function edit_gelar($id){
  2.         ini_set('display_errors', -1);
  3.         $guru = $this->guru->get($id);
  4.         if($_POST){
  5.             $gelar_depan = ($this->input->post('gelar_depan')) ? $this->input->post('gelar_depan') : array();
  6.             $gelar_belakang = ($this->input->post('gelar_belakang')) ? $this->input->post('gelar_belakang') : array();
  7.             $gelar_ptk = array_merge($gelar_depan, $gelar_belakang);
  8.             $get_gelar_ptk = $this->gelar_ptk->find_all("guru_id = $guru->id");
  9.             if($get_gelar_ptk){ // ada gelar existing di PTK ybs
  10.                 // dapatkan terlebih dahulu ID gelar yang dimiliki PTK secara unik
  11.                 $g_id = [];
  12.                 foreach($get_gelar_ptk as $key=>$g_ptk) {
  13.                     if(!in_array($g_ptk->gelar_akademik_id, $g_id)) // buat array untuk existing gelar di PTK ybs, secara unik
  14.                         $g_id[] = $g_ptk->gelar_akademik_id;
  15.                     if (!in_array($g_ptk->gelar_akademik_id, $gelar_ptk)) { // gelar ada di DB, tapi tidak ada di POST array
  16.                         $this->gelar_ptk->delete($g_ptk->id);
  17.                     }
  18.                 }
  19.                 foreach($gelar_ptk as $key=>$gl_ptk) { // iterasi berdasarkan gelar PTK yang disubmit
  20.                     if(!in_array($gl_ptk, $g_id)) { // gelar ada di POST array, dan tidak ada di DB
  21.                         $insert_gelar = array(
  22.                             'gelar_akademik_id' => $gl_ptk,
  23.                             'guru_id'           => $id,
  24.                             'ptk_id'            => $guru->guru_id_dapodik,
  25.                         );
  26.                         $this->gelar_ptk->insert($insert_gelar);
  27.                     } else { // gelar ada di POST array dan di DB, tapi pernah deleted. aktifkan kembali
  28.                         $update_gelar = array(
  29.                             'gelar_akademik_id' => $gl_ptk,
  30.                             'guru_id'           => $id,
  31.                             'ptk_id'            => $guru->guru_id_dapodik,
  32.                             'deleted_at'        => NULL,
  33.                         );
  34.                         $this->gelar_ptk->update($update_gelar);
  35.                     }
  36.                 }
  37.  
  38.             } else { // tidak ada gelar existing, insert semua saja
  39.                 foreach($gelar_ptk as $gtk){
  40.                     $insert_gelar = array(
  41.                         'gelar_akademik_id' => $gtk,
  42.                         'guru_id'           => $id,
  43.                         'ptk_id'            => $guru->guru_id_dapodik,
  44.                     );
  45.                     $this->gelar_ptk->insert($insert_gelar);
  46.                 }
  47.             }
  48.             after_update_log('guru',$id);
  49.             //redirect('admin/data_guru');
  50.         } else {
  51.             $this->template->title('Administrator Panel : Detil Guru')
  52.             ->set_layout($this->modal_tpl)
  53.             ->set('page_title', 'Detil Guru')
  54.             ->set('guru', $guru)
  55.             ->set('modal_footer', '<a href="javascript:void(0)" class="btn btn-success btn-sm edit_gelar"><i class="fa fa-save"></i> Simpan</a>')
  56.             ->build($this->admin_folder.'/guru/edit_gelar');
  57.         }
  58.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement