[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
sdm
/
[
Home
]
File: Pegawai.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Pegawai extends Member_Controller { private $kode_menu = 'sdm-pegawai'; private $url = 'sdm/pegawai'; function __construct(){ parent:: __construct(); $this->load->model('akademik/pegawai_model'); } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['nama'] = $this->access->get_nama(); if($page=="add"){ parent::cek_akses_crud($data['kode_menu'], 0); $this->template->display_admin($this->url.'/add_view', 'Tambah Pegawai', $data); }else if($page=="edit"){ parent::cek_akses_crud($data['kode_menu'], 1); if(empty($id)){ redirect($this->url); }else{ $query = $this->pegawai_model->get_pegawai_by_id($id); if($query->num_rows()>0){ $temp = $query->row(); $data['id'] = $temp->id; $data['status'] = $temp->status; $data['status_pegawai'] = $temp->status_pegawai; $data['nip'] = $temp->nip; $data['nuptk'] = $temp->nuptk; $data['nama'] = $temp->nama; $data['kelamin'] = $temp->kelamin; $data['tmplahir'] = $temp->tmplahir; $data['tgllahir'] = $temp->tgllahir; $data['agama'] = $temp->agama; $data['alamat'] = $temp->alamat; $data['hp'] = $temp->hp; $data['nikah'] = $temp->nikah; $data['keterangan'] = $temp->keterangan; }else{ redirect($this->url); } } $this->template->display_admin($this->url.'/edit_view', 'Edit Pegawai', $data); }else{ parent::cek_akses($data['kode_menu']); $this->template->display_admin($this->url.'/list_view', 'Daftar Pegawai', $data); } } function edit(){ $this->load->library('form_validation'); $this->form_validation->set_rules('id', 'ID Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('aksi', 'Pilihan Aksi','required|strip_tags'); $this->form_validation->set_rules('nip', 'NIP','required|strip_tags'); $this->form_validation->set_rules('nama', 'Nama','required|strip_tags'); $this->form_validation->set_rules('tmplahir', 'Tempat Lahir','required|strip_tags'); $this->form_validation->set_rules('tgllahir', 'Tanggal Lahir','required|strip_tags'); $this->form_validation->set_rules('hp', 'Nomor HP','required|max_length[15]|strip_tags'); if($this->form_validation->run() == TRUE){ $aksi = $this->input->post('aksi', TRUE); $id = $this->input->post('id', TRUE); $nip = $this->input->post('nip', TRUE); $hp_lama = $this->input->post('hp-lama', true); $hp = $this->input->post('hp', true); if($aksi==0){//hapus $this->load->model('akademik/kelas_model'); // cek di kelas dan table user if($this->kelas_model->cek_kelas_by_pegawai($nip)->row()->hasil>0 OR $this->users_model->cek_user_by_username($nip)->row()->hasil>0){ $status['status'] = 0; $status['pesan'] = 'Data Pegawai masih digunakan, Tidak bisa dihapus'; }else{ $this->pegawai_model->delete($id); $status['status'] = 1; $status['pesan'] = 'Data Pegawai Berhasil berhasil dihapus'; } }else if($aksi==1){//simpan $update = true; if($hp_lama!=$hp){ if($this->pegawai_model->cek_hp($hp)->row()->hasil>0){ $update = false; } } if($update){ $data['status'] = $this->input->post('status', true); $data['status_pegawai'] = $this->input->post('status-pegawai', true); $data['nuptk'] = $this->input->post('nuptk', true); $data['nama'] = strtoupper($this->input->post('nama', true)); $data['kelamin'] = strtoupper($this->input->post('kelamin', true)); $data['tmplahir'] = strtoupper($this->input->post('tmplahir', true)); $data['tgllahir'] = $this->input->post('tgllahir', true); $data['agama'] = $this->input->post('agama', true); $data['alamat'] = strtoupper($this->input->post('alamat', true)); $data['nikah'] = $this->input->post('status-menikah', true); $data['keterangan'] = $this->input->post('keterangan', true); $data['hp'] = $hp; $this->pegawai_model->update($data, $id); $status['status'] = 1; $status['pesan'] = 'Data Pegawai berhasil di Simpan'; }else{ $status['status'] = 0; $status['pesan'] = 'Nomor HP sudah digunakan pegawai lain'; } } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function add(){ $this->load->library('form_validation'); $this->form_validation->set_rules('nip', 'NIP','required|strip_tags'); $this->form_validation->set_rules('nama', 'Nama','required|strip_tags'); $this->form_validation->set_rules('tmplahir', 'Tempat Lahir','required|strip_tags'); $this->form_validation->set_rules('tgllahir', 'Tanggal Lahir','required|strip_tags'); $this->form_validation->set_rules('hp', 'Nomor HP','required|max_length[15]|strip_tags'); if($this->form_validation->run() == TRUE){ $nip = $this->input->post('nip', true); $hp = $this->input->post('hp', true); if($this->pegawai_model->cek_nip($nip)->row()->hasil>0){ $status['status'] = 0; $status['pesan'] = 'NIP sudah terpakai'; }else{ if($this->pegawai_model->cek_hp($hp)->row()->hasil>0){ $status['status'] = 0; $status['pesan'] = 'Nomor HP sudah digunakan pegawai lain'; }else{ $data['nip'] = $nip; $data['nuptk'] = $this->input->post('nuptk', true); $data['nama'] = strtoupper($this->input->post('nama', true)); $data['kelamin'] = strtoupper($this->input->post('kelamin', true)); $data['tmplahir'] = strtoupper($this->input->post('tmplahir', true)); $data['tgllahir'] = $this->input->post('tgllahir', true); $data['agama'] = $this->input->post('agama', true); $data['alamat'] = strtoupper($this->input->post('alamat', true)); $data['hp'] = $hp; $data['nikah'] = $this->input->post('status-menikah', true); $data['keterangan'] = $this->input->post('keterangan', true); $data['status'] = 'AKTIF'; $data['status_pegawai'] = $this->input->post('status-pegawai', true); $this->pegawai_model->save($data); $status['status'] = 1; $status['pesan'] = 'Pegawai berhasil disimpan'; } } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_pilihan_sdm(){ $this->load->model('akademik/pegawai_model'); // variable initialization $search = ""; $start = 0; $rows = 10; // get search value (if any) if (isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) { $search = $_GET['sSearch']; } // limit $start = $this->get_start(); $rows = $this->get_rows(); // run query to get user listing $query = $this->pegawai_model->get_all_pegawai($start, $rows, $search, 'AKTIF'); $iFilteredTotal = $query->num_rows(); $iTotal=$this->pegawai_model->get_all_pegawai_count($search, 'AKTIF')->row()->hasil; $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iTotal, "aaData" => array() ); // get result after running query and put it in array $i=$start; $sdm = $query->result(); foreach ($sdm as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->nip; $record[] = $temp->nama; $record[] = $temp->hp; $record[] = '<a onclick="pilihsdm(\''.$temp->nama.'\',\''.$temp->hp.'\')" class="btn btn-default btn-xs">Pilih</a>'; $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } function get_all_pegawai(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); // variable initialization $search = ""; $start = 0; $rows = 10; // get search value (if any) if (isset($_GET['sSearch']) && $_GET['sSearch'] != "" ) { $search = $_GET['sSearch']; } // limit $start = $this->get_start(); $rows = $this->get_rows(); // run query to get user listing $query = $this->pegawai_model->get_all_pegawai($start, $rows, $search); $iFilteredTotal = $query->num_rows(); $iTotal=$this->pegawai_model->get_all_pegawai_count($search)->row()->hasil; $output = array( "sEcho" => intval($_GET['sEcho']), "iTotalRecords" => $iTotal, "iTotalDisplayRecords" => $iTotal, "aaData" => array() ); // get result after running query and put it in array $i=$start; $pegawai = $query->result(); foreach ($pegawai as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->nip; $record[] = $temp->nama; $record[] = $temp->status; $record[] = $temp->alamat; $record[] = $temp->hp; $record[] = $temp->status_pegawai; if($is_edit){ $record[] = '<a href="'.site_url($this->url.'/index/edit/'.$temp->id).'" class="btn btn-default btn-xs">Edit</a>'; }else{ $record[] = ''; } $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } /** * funsi tambahan * * */ function get_start() { $start = 0; if (isset($_GET['iDisplayStart'])) { $start = intval($_GET['iDisplayStart']); if ($start < 0) $start = 0; } return $start; } function get_rows() { $rows = 10; if (isset($_GET['iDisplayLength'])) { $rows = intval($_GET['iDisplayLength']); if ($rows < 5 || $rows > 500) { $rows = 10; } } return $rows; } function get_sort_dir() { $sort_dir = "ASC"; $sdir = strip_tags($_GET['sSortDir_0']); if (isset($sdir)) { if ($sdir != "asc" ) { $sort_dir = "DESC"; } } return $sort_dir; } }