[ 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: Smsbox.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed'); class Smsbox extends Member_Controller { private $kode_menu = 'sms-smsbox'; private $url = 'sms/smsbox'; function __construct(){ parent:: __construct(); $this->load->model('sms/inbox_model'); $this->load->model('sms/outbox_model'); $this->load->model('sms/queue_model'); } public function index($page=null, $id=null){ $data['kode_menu'] = $this->kode_menu; $data['nama'] = $this->access->get_nama(); $data['is_edit'] = $this->access->cek_akses_crud($this->kode_menu, 1); if($page=="sent"){ parent::cek_akses($data['kode_menu']); $this->template->display_admin($this->url.'/sent_view', 'SMS Sent', $data); }else if($page=="queue"){ parent::cek_akses($data['kode_menu']); $this->template->display_admin($this->url.'/queue_view', 'SMS Queue', $data); }else{ parent::cek_akses($data['kode_menu']); $this->template->display_admin($this->url.'/inbox_view', 'SMS Inbox', $data); } } /** * fungsi untuk menghapus inbox hasil seleksi */ function inboxdelete(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); if($is_edit){ $this->load->library('form_validation'); $this->form_validation->set_rules('id-inbox[]', 'ID Inbox','required'); if($this->form_validation->run() == TRUE){ $inbox = $this->input->post('id-inbox', TRUE); foreach( $inbox as $kunci => $isi ) { if($isi=="on"){ $this->inbox_model->delete($kunci); } } $status['status'] = 1; $status['pesan'] = 'Inbox berhasil dihapus'; }else{ $status['status'] = 0; $status['pesan'] = 'Inbox gagal dihapus'; } }else{ $status['status'] = 0; $status['pesan'] = 'Inbox gagal dihapus'; } echo json_encode($status); } function get_inbox($id=null){ if($id!=null){ $query_inbox = $this->inbox_model->get_inbox_by_id($id); if($query_inbox->num_rows()>0){ $query_inbox = $query_inbox->row(); $data['pengirim']=$query_inbox->pengirim; $data['pesan']=$query_inbox->pesan; $data['terminal']=$query_inbox->terminal; // disini update juga untuk status pesannya $update['status']=1; $this->inbox_model->update($update, $query_inbox->id); }else{ $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } }else{ $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } echo json_encode($data); } function get_all_inbox(){ $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->inbox_model->get_all_inbox($start, $rows, $search); $iFilteredTotal = $query->num_rows(); $iTotal=$this->inbox_model->get_all_inbox_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; $inbox = $query->result(); foreach ($inbox as $temp) { $record = array(); if($is_edit){ // Jika bisa edit, user bisa memindahkan terminal $record[] = '<input type="checkbox" name="id-inbox['.$temp->id.']" >'; }else{ $record[] = ++$i; } $record[] = '<a style="cursor: pointer;" onClick="bacasms(\''.$temp->id.'\')" title="Klik untuk membaca SMS">'.$temp->pengirim.'</a>'; $record[] = substr($temp->pesan,0,30).'...'; if($temp->status==1){ $record[] = 'Read'; }else{ $record[] = 'Unread'; } $record[] = $temp->terminal; $record[] = $temp->ts; $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } /** * fungsi untuk menghapus sent hasil seleksi */ function sentdelete(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); if($is_edit){ $this->load->library('form_validation'); $this->form_validation->set_rules('id-sent[]', 'ID Sent','required'); if($this->form_validation->run() == TRUE){ $sent = $this->input->post('id-sent', TRUE); foreach( $sent as $kunci => $isi ) { if($isi=="on"){ $this->outbox_model->delete($kunci); } } $status['status'] = 1; $status['pesan'] = 'SMS Sent berhasil dihapus'; }else{ $status['status'] = 0; $status['pesan'] = 'SMS Sent gagal dihapus'; } }else{ $status['status'] = 0; $status['pesan'] = 'SMS Sent gagal dihapus'; } echo json_encode($status); } function get_sent($id=null){ if($id!=null){ $query = $this->outbox_model->get_outbox_by_id($id); if($query->num_rows()>0){ $query = $query->row(); $data['pengirim']=$query->tujuan; $data['pesan']=$query->pesan; $data['terminal']=$query->terminal; }else{ $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } }else{ $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } echo json_encode($data); } function get_all_sent(){ $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->outbox_model->get_all_outbox($start, $rows, $search); $iFilteredTotal = $query->num_rows(); $iTotal=$this->outbox_model->get_all_outbox_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; $sent = $query->result(); foreach ($sent as $temp) { $record = array(); if($is_edit){ // Jika bisa edit, user bisa memindahkan terminal $record[] = '<input type="checkbox" name="id-sent['.$temp->id.']" >'; }else{ $record[] = ++$i; } $record[] = '<a style="cursor: pointer;" onClick="bacasms(\''.$temp->id.'\')" title="Klik untuk membaca SMS">'.$temp->tujuan.'</a>'; $record[] = substr($temp->pesan,0,30).'...'; $record[] = $temp->terminal; $record[] = $temp->ts; $output['aaData'][] = $record; } // format it to JSON, this output will be displayed in datatable echo json_encode($output); } /** * fungsi untuk menghapus queue hasil seleksi */ function queuedelete(){ $is_edit = $this->access->cek_akses_crud($this->kode_menu, 1); if($is_edit){ $this->load->library('form_validation'); $this->form_validation->set_rules('id-queue[]', 'ID Queue','required'); if($this->form_validation->run() == TRUE){ $queue = $this->input->post('id-queue', TRUE); foreach( $queue as $kunci => $isi ) { if($isi=="on"){ $this->queue_model->delete($kunci); } } $status['status'] = 1; $status['pesan'] = 'SMS Queue berhasil dihapus'; }else{ $status['status'] = 0; $status['pesan'] = 'SMS Queue gagal dihapus'; } }else{ $status['status'] = 0; $status['pesan'] = 'SMS Queue gagal dihapus'; } echo json_encode($status); } function get_queue($id=null){ if($id!=null){ $query = $this->queue_model->get_queue_by_id($id); if($query->num_rows()>0){ $query = $query->row(); $data['id_queue']=$query->id; $data['pengirim']=$query->tujuan; $data['pesan']=$query->pesan; $data['terminal']=$query->terminal; }else{ $data['id_queue']='Gagal'; $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } }else{ $data['pengirim']='Gagal'; $data['pesan']='Gagal'; $data['terminal']='Gagal'; } echo json_encode($data); } function queuepindah(){ $this->load->library('form_validation'); $this->form_validation->set_rules('pindah-id', 'ID Queue','required|integer|strip_tags'); $this->form_validation->set_rules('pindah-terminal', 'Terminal','required|integer|strip_tags'); if($this->form_validation->run() == TRUE){ $id = $this->input->post('pindah-id', true); $data['terminal'] = $this->input->post('pindah-terminal', true); $this->queue_model->update($data, $id); $status['status'] = 1; $status['pesan'] = 'Terminal berhasil disimpan'; }else{ $status['status'] = 0; $status['pesan'] = validation_errors(); } echo json_encode($status); } function get_all_queue(){ $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->queue_model->get_all_queue($start, $rows, $search); $iFilteredTotal = $query->num_rows(); $iTotal=$this->queue_model->get_all_queue_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; $queue = $query->result(); foreach ($queue as $temp) { $record = array(); if($is_edit){ // Jika bisa edit, user bisa memindahkan terminal $record[] = '<input type="checkbox" name="id-queue['.$temp->id.']" >'; }else{ $record[] = ++$i; } $record[] = '<a style="cursor: pointer;" onClick="bacasms(\''.$temp->id.'\')" title="Klik untuk membaca SMS">'.$temp->tujuan.'</a>'; $record[] = substr($temp->pesan,0,30).'...'; $record[] = $temp->terminal; $record[] = $temp->ts; if($is_edit){ // Jika bisa edit, user bisa memindahkan terminal $record[] = '<a onClick="pindahterminal(\''.$temp->id.'\')" title="Klik untuk memindahkan terminal" class="btn btn-default btn-xs">Alihkan</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; } }