[ 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: Pengumuman.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Pengumuman extends Member_Controller { private $kode_menu = 'sms-pengumuman'; private $url = 'sms/pengumuman'; function __construct(){ parent:: __construct(); $this->load->model('sms/terminal_model'); $this->load->model('sms/grupkontak_model'); $this->load->model('sms/grup_model'); $this->load->model('sms/queue_model'); $this->load->model('akademik/pegawai_model'); $this->load->model('akademik/thnajaran_model'); $this->load->model('akademik/siswa_model'); $this->load->model('akademik/tingkat_model'); } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['nama'] = $this->access->get_nama(); parent::cek_akses($data['kode_menu']); $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['siswa_tingkat'] = $select; $data['siswa_thnajaran'] = $query_thnajaran->thnajaran; $select = '<option value="kosong">Kosong</option>'; $query_grup = $this->grup_model->get_all(); if($query_grup->num_rows()>0){ $query_grup=$query_grup->result(); $select = ''; foreach($query_grup as $temp){ $select = $select.'<option value="'.$temp->grup.'">'.$temp->grup.' - '.$temp->keterangan.'</option>'; } } $data['kontak_grup'] = $select; $this->template->display_admin($this->url.'/pengumuman_view', 'Kirim Pengumuman', $data); } function tes(){ $terminal = $this->terminal_model->get_sender('0852'); echo $terminal.' - '.'<br />'; } function kirim(){ $this->load->library('form_validation'); $this->form_validation->set_rules('pengirim', 'Pengirim','required|max_length[25]|strip_tags'); $this->form_validation->set_rules('pesan', 'Pesan','required|max_length[250]|strip_tags'); $this->form_validation->set_rules('pilih', 'Pilihan Tujuan','required|strip_tags'); if($this->form_validation->run() == TRUE){ $pilih = $this->input->post('pilih', true); $pengirim = $this->input->post('pengirim', true); $pesan = $this->input->post('pesan', true); if($pilih==1){//pegawai $status_kepegawaian = $this->input->post('pegawai-status', true); if($status_kepegawaian=='SEMUA'){ $pegawai = $this->pegawai_model->get_all(); if($pegawai->num_rows()>0){ $pegawai = $pegawai->result(); foreach($pegawai as $temp){ $queue['tujuan']=$temp->hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->hp,0,4)); $this->queue_model->save($queue); } } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; }else{ $pegawai = $this->pegawai_model->get_all_pegawai_by_status($status_kepegawaian); if($pegawai->num_rows()>0){ $pegawai = $pegawai->result(); foreach($pegawai as $temp){ $queue['tujuan']=$temp->hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->hp,0,4)); $this->queue_model->save($queue); } } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; } }else if($pilih==2){//siswa per kelas $tujuan = $this->input->post('siswa-tujuan', true); $id_kelas = $this->input->post('siswa-kelas', true); if($id_kelas!='kosong'){ $siswa = $this->siswa_model->get_siswa_by_kelas($id_kelas); if($siswa->num_rows()>0){ $siswa = $siswa->result(); foreach($siswa as $temp){ if($tujuan=='SISWA'){ $queue['tujuan']=$temp->hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->hp,0,4)); $this->queue_model->save($queue); }else{ $queue['tujuan']=$temp->wali_hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->wali_hp,0,4)); $this->queue_model->save($queue); } } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; }else{ $status['status'] = 0; $status['pesan'] = 'Data siswa dalam kelas tersebut tidak tersedia.'; } }else{ $status['status'] = 0; $status['pesan'] = 'Data kelas tidak tersedia.'; } }else if($pilih==3){//semua siswa $tujuan = $this->input->post('semua-tujuan', true); $siswa = $this->siswa_model->get_siswa_by_status('AKTIF'); if($siswa->num_rows()>0){ $siswa = $siswa->result(); foreach($siswa as $temp){ if($tujuan=='SISWA'){ $queue['tujuan']=$temp->hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->hp,0,4)); $this->queue_model->save($queue); }else{ $queue['tujuan']=$temp->wali_hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->wali_hp,0,4)); $this->queue_model->save($queue); } } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; }else{ $status['status'] = 0; $status['pesan'] = 'Data siswa dalam kelas tersebut tidak tersedia.'; } }else if($pilih==6){//lainnya $this->form_validation->set_rules('lain-hp', 'Daftar HP Tujuan','required'); if($this->form_validation->run() == TRUE){ $hp = $this->input->post('lain-hp', true); foreach( $hp as $kunci => $isi ) { $queue['tujuan']=$isi; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($isi,0,4)); $this->queue_model->save($queue); } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } }else if($pilih==4){//berdasarkan grup kontak $this->form_validation->set_rules('kontak-grup', 'Daftar HP Tujuan','required'); if($this->form_validation->run() == TRUE){ $kontak_grup = $this->input->post('kontak-grup', true); if($kontak_grup=='kosong'){ $status['status'] = 0; $status['pesan'] = 'Grub kontak masih kosong'; }else{ $query_kontak = $this->grupkontak_model->get_grupkontak_by_grup($kontak_grup); if($query_kontak->num_rows()>0){ $query_kontak = $query_kontak->result(); foreach($query_kontak as $temp ) { $queue['tujuan']=$temp->hp; $queue['pesan']=$pengirim.': '.$pesan; $queue['terminal']=$this->terminal_model->get_sender(substr($temp->hp,0,4)); $this->queue_model->save($queue); } $status['status'] = 1; $status['pesan'] = 'SMS Berhasil dikirim.'; }else{ $status['status'] = 0; $status['pesan'] = 'Daftar kontak dalam grup masih kosong'; } } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } }else{ $status['status'] = 0; $status['pesan'] = 'Terjadi kegagalan sistem. Hubungi admin anda.'; } }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_all_terminal(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); $this->load->model('sms/terminal_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->terminal_model->get_all_terminal($start, $rows, $search); $iFilteredTotal = $query->num_rows(); $iTotal=$this->terminal_model->get_all_terminal_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; $user = $query->result(); foreach ($user as $temp) { $record = array(); $record[] = ++$i; $record[] = $temp->terminal; if($temp->jenis==1){ $record[] = 'SMS Sender'; }else{ $record[] = 'SMS Center'; } $record[] = $temp->prefix; $record[] = $temp->hash; $record[] = $temp->keterangan; if($is_edit AND $temp->terminal!='1'){ $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; } }