[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
xampp
/
htdocs
/
smk
/
application
/
controllers
/
akademik
/
[
Home
]
File: Kelas.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Kelas extends Member_Controller { private $kode_menu = 'akademik-referensi'; private $url = 'akademik/kelas'; function __construct(){ parent:: __construct(); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/thnajaran_model'); } function cek_kebutuhan(){ $jurusan = $this->jurusan_model->get_all_jurusan_count()->row()->hasil; $thnajaran = $this->thnajaran_model->get_all_thnajaran_count()->row()->hasil; $tingkat = $this->tingkat_model->get_all_tingkat_count()->row()->hasil; if($jurusan>0 AND $thnajaran>0 AND $tingkat>0){ return true; }else{ return false; } } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['nama'] = $this->access->get_nama(); if($this->cek_kebutuhan()){ $query_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_jurusan = $this->jurusan_model->get_all()->result(); $query_tingkat = $this->tingkat_model->get_all()->result(); $select = ''; foreach($query_jurusan as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->jurusan.'</option>'; } $data['info_jurusan'] = $select; $select = ''; foreach($query_tingkat as $temp){ $select = $select.'<option value="'.$temp->id.'">'.$temp->tingkat.'</option>'; } $data['info_tingkat'] = $select; $data['info_thnajaran'] = $query_thnajaran->thnajaran; $data['info_keterangan'] = $query_thnajaran->keterangan; if($page=="add"){ parent::cek_akses_crud($data['kode_menu'], 0); $this->template->display_admin($this->url.'/add_view', 'Tambah Kelas', $data); }else if($page=="edit"){ parent::cek_akses_crud($data['kode_menu'], 1); if(empty($id)){ redirect($this->url); }else{ $query = $this->kelas_model->get_kelas_by_id($id); if($query->num_rows()>0){ $temp = $query->row(); $data['id'] = $temp->id; $data['kelas'] = $temp->kelas; $data['jurusan'] = $temp->id_jurusan; $data['tingkat'] = $temp->id_tingkat; $data['wali_nip'] = $temp->nip_pegawai; $data['wali_nama'] = $temp->nama; $data['keterangan'] = $temp->keterangan; }else{ redirect($this->url); } } $this->template->display_admin($this->url.'/edit_view', 'Edit Kelas', $data); }else{ parent::cek_akses($data['kode_menu']); $this->template->display_admin($this->url.'/list_view', 'Daftar Kelas', $data); } }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan Kelas', $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('kelas', 'Kelas','required|strip_tags'); $this->form_validation->set_rules('wali-nip', 'NIP Wali','required|strip_tags'); $this->form_validation->set_rules('keterangan', 'Keterangan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $aksi = $this->input->post('aksi', TRUE); $id = $this->input->post('id', TRUE); if($aksi==0){//hapus $this->load->model('akademik/riwayatkelas_model'); if($this->riwayatkelas_model->cek_riwayatkelas_by_kelas($id)->row()->hasil>0){ $status['status'] = 0; $status['pesan'] = 'Kelas masih digunakan, Tidak bisa dihapus'; }else{ $this->kelas_model->delete($id); $status['status'] = 1; $status['pesan'] = 'Kelas berhasil dihapus'; } }else if($aksi==1){//simpan $data['nip_pegawai'] = $this->input->post('wali-nip', true); $data['keterangan'] = $this->input->post('keterangan', true); $this->kelas_model->update($data, $id); $status['status'] = 1; $status['pesan'] = 'Kelas berhasil di Simpan'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function add(){ $this->load->library('form_validation'); $this->form_validation->set_rules('info-thnajaran', 'Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('info-jurusan', 'Jurusan','required|strip_tags'); $this->form_validation->set_rules('info-tingkat', 'Tingkat','required|strip_tags'); $this->form_validation->set_rules('kelas', 'Kelas','required|strip_tags'); $this->form_validation->set_rules('wali-nip', 'NIP Wali','required|strip_tags'); $this->form_validation->set_rules('keterangan', 'Keterangan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $kelas = strtoupper($this->input->post('kelas', true)); $thnajaran = $this->input->post('info-thnajaran', true); if($this->kelas_model->cek_kelas($kelas, $thnajaran)->row()->hasil>0){ $status['status'] = 0; $status['pesan'] = 'Kelas sudah terpakai'; }else{ $data['thnajaran'] = $thnajaran; $data['kelas'] = $kelas; $data['nip_pegawai'] = $this->input->post('wali-nip', true); $data['id_jurusan'] = $this->input->post('info-jurusan', true); $data['id_tingkat'] = $this->input->post('info-tingkat', true); $data['keterangan'] = $this->input->post('keterangan', true); $this->kelas_model->save($data); $status['status'] = 1; $status['pesan'] = 'Kelas berhasil disimpan'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_all_kelas(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); $thnajaran = $this->input->get('thnajaran'); $jurusan = $this->input->get('jurusan'); $tingkat = $this->input->get('tingkat'); //echo $thnajaran.' - '.$jurusan.' - '.$tingkat; // 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->kelas_model->get_all_kelas($start, $rows, $search, $thnajaran, $jurusan, $tingkat); $iFilteredTotal = $query->num_rows(); $iTotal=$this->kelas_model->get_all_kelas_count($search, $thnajaran, $jurusan, $tingkat)->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; $jurusan = $query->result(); foreach ($jurusan as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->kelas; $record[] = $temp->nip.' - '.$temp->nama; $record[] = $temp->keterangan; 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; } }