[ Mini Kiebo ]
Server: Windows NT AKFAR_SERVER 10.0 build 26200 (Windows 10) AMD64
Path:
D:
/
BACKUP C 19-12
/
XAMPP74
/
htdocs
/
smk
/
application
/
controllers
/
sms
/
[
Home
]
File: Presensi_harian.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Presensi_harian extends Member_Controller { private $kode_menu = 'sms-presensi'; private $url = 'sms/presensi_harian'; function __construct(){ parent:: __construct(); $this->load->model('akademik/kelas_model'); $this->load->model('akademik/siswa_model'); $this->load->model('akademik/tingkat_model'); $this->load->model('akademik/jurusan_model'); $this->load->model('akademik/thnajaran_model'); $this->load->model('akademik/presensi_model'); $this->load->model('akademik/presensisiswa_model'); $this->load->model('akademik/konfigurasi_model'); $this->load->model('sms/queue_model'); $this->load->model('sms/terminal_model'); $this->load->library('tools'); } function cek_kebutuhan(){ $thnajaran = $this->thnajaran_model->get_all_thnajaran_count()->row()->hasil; $tingkat = $this->tingkat_model->get_all_tingkat_count()->row()->hasil; if($thnajaran>0 AND $tingkat>0){ $query_tingkat = $this->tingkat_model->get_all()->result(); $temp_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); foreach($query_tingkat as $temp_tingkat){ $hasil = $this->kelas_model->cek_kelas_by_thnajaran_tingkat($temp_tingkat->id, $temp_thnajaran->thnajaran)->row()->hasil; if($hasil<1){ return false; } } return true; }else{ return false; } } public function index(){ $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_tingkat = $this->tingkat_model->get_all()->result(); $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; $data['tanggal'] = $this->tools->indonesian_date(date('Y-m-d'), 'j F Y', ''); $this->template->display_admin($this->url.'/presensi_view', 'SMS Presensi Harian Siswa', $data); }else{ $this->template->display_admin($this->url.'/kebutuhan_view', 'Kebutuhan SMS Presensi Harian', $data); } } function presensi(){ $this->load->library('form_validation'); $this->form_validation->set_rules('info-thnajaran', 'Tahun Ajaran','required|strip_tags'); $this->form_validation->set_rules('info-tingkat', 'Tingkat','required|strip_tags'); $this->form_validation->set_rules('info-kelas', 'Kelas','required|strip_tags'); $this->form_validation->set_rules('pengirim', 'Pengirim','required|strip_tags'); $this->form_validation->set_rules('tujuan', 'Tujuan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $thnajaran = $this->input->post('info-thnajaran', true); $tingkat = $this->input->post('info-tingkat', true); $kelas = $this->input->post('info-kelas', true); $tujuan = $this->input->post('tujuan', true); $pengirim = $this->input->post('pengirim', true); $jenis = $this->input->post('jenis', true); // Jika semua siswa dalam satu tingkat if($kelas == 'semua'){ $query_siswa=$this->siswa_model->get_siswa_by_tingkat_thnajaran($thnajaran, $tingkat); }else{ $query_siswa=$this->siswa_model->get_siswa_by_kelas($kelas); } if($query_siswa->num_rows()>0){ $query_siswa = $query_siswa->result(); $tanggal = date('Y-m-d'); $hp='0'; $format_hadir=$this->konfigurasi_model->get_konfigurasi_by_kode('SMS-HADIR')->row()->kunci1; $format_sakit=$this->konfigurasi_model->get_konfigurasi_by_kode('SMS-SAKIT')->row()->kunci1; $format_ijin=$this->konfigurasi_model->get_konfigurasi_by_kode('SMS-IJIN')->row()->kunci1; $format_alpha=$this->konfigurasi_model->get_konfigurasi_by_kode('SMS-ALPHA')->row()->kunci1; $total_data = 0; $total_hp = 0; $total_presensi = 0 ; foreach ($query_siswa as $siswa) { ++$total_data; if($tujuan=='siswa'){ if(!empty($siswa->hp)){ $hp = $siswa->hp; } }else{ if(!empty($siswa->wali_hp)){ $hp = $siswa->wali_hp; } } if($hp!='0'){ ++$total_hp; if($jenis=='semua'){ $presensi = $this->presensisiswa_model->get_presensi_by_siswa_tanggal_tunggal($siswa->id, $tanggal); }else{ $presensi = $this->presensisiswa_model->get_presensi_by_siswa_tanggal_tunggal_tidakhadir($siswa->id, $tanggal); } if($presensi->num_rows()>0){ ++$total_presensi; $presensi = $presensi->row(); //Kirim SMS $queue['tujuan']=$hp; if($presensi->status=='H'){ $pesan = $format_hadir; }else if($presensi->status=='S'){ $pesan = $format_sakit; }else if($presensi->status=='I'){ $pesan = $format_ijin; }else{ $pesan = $format_alpha; } $pesan = str_replace('[siswa]', $siswa->nama, $pesan); $pesan = str_replace('[ortu]', $siswa->wali_nama, $pesan); $pesan = str_replace('[tanggal]', $presensi->tanggal, $pesan); $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($hp,0,4)); $this->queue_model->save($queue); } } } if($total_presensi==0){ $status['status'] = 0; $status['pesan'] = 'Data Presensi Siswa untuk hari ini masih kosong. Silahkan input data presensi terlebih dahulu !'; }else{ $status['status'] = 1; $status['pesan'] = 'SMS Presensi berhasil dikirim. <br /> Catatan : <br /> 1. Total Data Siswa adalah '.$total_data.' siswa<br /> 2. Total Data Siswa yang memiliki Nomor HP adalah '.$total_hp.' <br /> 3. Total Data Presensi Siswa yang diproses adalah '.$total_presensi.' data '; } }else{ $status['status'] = 0; $status['pesan'] = 'Data siswa kosong, silahkan tambah terlebih dahulu data siswa !'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_kelas($id_tingkat=null){ if(!empty($id_tingkat)){ $temp_thnajaran = $this->thnajaran_model->get_thnajaran_by_last_ts()->row(); $query_kelas = $this->kelas_model->get_kelas_by_tingkat_thnajaran($id_tingkat, $temp_thnajaran->thnajaran)->result(); foreach($query_kelas as $temp){ $kelas['id'] = $temp->id; $kelas['kelas'] = $temp->kelas; $select['data'][] = $kelas; } }else{ $kelas['id'] = 'kosong'; $kelas['kelas'] = 'KOSONG'; $select['data'] = $kelas; } echo json_encode($select); } }