https://t.me/RX1948
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 :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/rabbithabit.com/public_html/application/models/Notifpembelian.php
<?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);
        }
    }
}

https://t.me/RX1948 - 2025