Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /var/www/rabbithabit.com/public_html/application/models/ |
Upload File : |
<?php class Notifpembelian extends CI_Model { public function __construct() { parent::__construct(); $this->load->model('User'); } public function getAll() { $this->db->order_by('date','desc'); $query = $this->db->get('notifpembelian'); return $query->result(); } public function countAll() { $query = $this->db->get('notifpembelian'); $this->session->set_userdata('c_notifbuy', $query->num_rows()); return $query->num_rows(); } public function updateStatusread($id_notif){ $data = array( 'read_satatus' => '1' ); $this->db->where('notifpembelian_id',$id_notif); $this->db->where('user_id',$this->session->userdata('admin')['id']); $this->db->update('notifpembelianread', $data); } public function updateStatusDelete($id_notif){ $this->db->select('*'); $this->db->from('notifpembelian'); $this->db->where('id',$id_notif); $query = $this->db->get(); if($query->num_rows() > 0){ $result = $query->row(); $data = array( 'read_satatus' => '2' ); $this->db->where('notifpembelian_id',$result->id); $this->db->where('user_id',$this->session->userdata('admin')['id']); $this->db->update('notifpembelianread', $data); return $result->link; } else { return false; } } public function saveSatatusRead($insertData){ $ex = explode('#',$insertData['role']); $this->db->select('*'); $this->db->from('users'); $query = $this->db->get(); foreach ($query->result() as $value) { if(in_array($value->role, $ex)){ $data = array( 'user_id' => $value->id, 'notifpembelian_id' => $insertData['nid'], 'read_satatus' => '0' ); $this->db->insert('notifpembelianread', $data); } } } public function saveNotif($insertData){ $data = array( 'title' => $insertData['title'], 'link' => $insertData['link'], 'user_id' => $this->session->userdata('admin')['id'], 'message' => $insertData['pesan'], 'date' => gmdate("Y-m-d H:i:s", time()+60*60*7), 'id_transaction' => $insertData['tid'] ); $this->db->insert('notifpembelian', $data); $insert_id = $this->db->insert_id(); return $insert_id; } public function htmlshow(){ $data = $this->notShow(); $result['hasil'] = false; //or false $html = ''; foreach ($data as $value) { $this->updateStatusread($value['id']); $html .= '<li><div class="col-md-9 col-sm-9 col-xs-9" onclick="location.href=\''.base_url('admin/pembelian/directnotif/'.$value['id']).'\'">'; $html .= '<div>'.$value['title'].'</div>'; $html .= '<p>'.$value['message'].'</p>'; $html .= '<p class="time" style="text-align: center;">'.$this->time2str($value['date']).'</p>'; $html .= '</div></li>'; $result['link'] = $value['link']; $result['title'] = $value['title']; $result['pesan'] = $value['message']; $result['hasil'] = true; } $result['count'] = count($data); $result['html'] = $html; return $result; } public function htmlfshow(){ $data = $this->isShow(); $html = ''; foreach ($data as $value) { $html .= '<li><div class="col-md-9 col-sm-9 col-xs-9" onclick="location.href=\''.base_url('admin/pembelian/directnotif/'.$value['id']).'\'">'; $html .= '<div>'.$value['title'].'</div>'; $html .= '<p>'.$value['message'].'</p>'; $html .= '<p class="time" style="text-align: center;">'.$this->time2str($value['date']).'</p>'; $html .= '</div></li>'; } if(count($data) > 0){ $result['hasil'] = true; $result['html'] = $html; } else { $result['hasil'] = false; } return $result; } public function notShow(){ $this->db->select('*'); $this->db->from('notifpembelian'); $this->db->join('notifpembelianread', 'notifpembelianread.notifpembelian_id = notifpembelian.id', 'left outer'); $this->db->where("notifpembelianread.user_id", $this->session->userdata('admin')['id']); $this->db->where("notifpembelianread.read_satatus", '0'); $this->db->order_by('notifpembelian.date','desc'); $query = $this->db->get(); return $query->result_array(); } public function isShow(){ $this->db->select('*'); $this->db->from('notifpembelian'); $this->db->join('notifpembelianread', 'notifpembelianread.notifpembelian_id = notifpembelian.id'); $this->db->where("notifpembelianread.user_id", $this->session->userdata('admin')['id']); $this->db->where("notifpembelianread.read_satatus", '1'); $this->db->order_by('notifpembelian.date','desc'); $query = $this->db->get(); return $query->result_array(); } public function isRead(){ $this->db->select('*'); $this->db->from('notifpembelian'); $this->db->join('notifpembelianread', 'notifpembelianread.notifpembelian_id = notifpembelian.id'); $this->db->where("notifpembelianread.user_id", $this->session->userdata('admin')['id']); $this->db->where("notifpembelianread.read_satatus", '2'); $this->db->order_by('notifpembelian.date','desc'); $query = $this->db->get(); return $query->result_array(); } public function time2str($ts) { if(!ctype_digit($ts)) { $ts = strtotime($ts); } $diff = time() - $ts; if($diff == 0) { return 'now'; } elseif($diff > 0) { $day_diff = floor($diff / 86400); if($day_diff == 0) { if($diff < 60) return 'just now'; if($diff < 120) return '1 minute ago'; if($diff < 3600) return floor($diff / 60) . ' minutes ago'; if($diff < 7200) return '1 hour ago'; if($diff < 86400) return floor($diff / 3600) . ' hours ago'; } if($day_diff == 1) { return 'Yesterday'; } if($day_diff < 7) { return $day_diff . ' days ago'; } if($day_diff < 31) { return ceil($day_diff / 7) . ' weeks ago'; } if($day_diff < 60) { return 'last month'; } return date('F Y', $ts); } else { $diff = abs($diff); $day_diff = floor($diff / 86400); if($day_diff == 0) { if($diff < 120) { return 'in a minute'; } if($diff < 3600) { return 'in ' . floor($diff / 60) . ' minutes'; } if($diff < 7200) { return 'in an hour'; } if($diff < 86400) { return 'in ' . floor($diff / 3600) . ' hours'; } } if($day_diff == 1) { return 'Tomorrow'; } if($day_diff < 4) { return date('l', $ts); } if($day_diff < 7 + (7 - date('w'))) { return 'next week'; } if(ceil($day_diff / 7) < 4) { return 'in ' . ceil($day_diff / 7) . ' weeks'; } if(date('n', $ts) == date('n') + 1) { return 'next month'; } return date('F Y', $ts); } } }