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/modules/flashsale/controllers/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //var/www/rabbithabit.com/public_html/application/modules/flashsale/controllers/Flashsale.php
<?php  if ( ! defined('BASEPATH')) exit('No direct script access allowed');

class Flashsale extends Public_Controller {
    
    function __construct() {
        parent::__construct();      
    }

    public function initialize() {

        $this->session->unset_userdata('flashsale_id_active');
        $before_time= '';
        $fs_id      = 0;
        $datenow    = strtotime(date("Y-m-d H:i:s"));
        error_reporting(0);
        $fs_get     = $this->db->select('*')->from('flashsale')->get()->result();
        if($fs_get != null){
            foreach ($fs_get as $item) {
                if(($datenow >= strtotime($item->time_start)) && ($datenow <= strtotime($item->time_end))){
                    if($before_time == ''){
                        $before_time= strtotime($item->time_start);
                        $fs_id      = $item->id;
                    }
                    else{
                        if($before_time > strtotime($item->time_start)){
                            $before_time= strtotime($item->time_start);
                            $fs_id      = $item->id;
                        }
                    }
                }
                else {
                    if($datenow > strtotime($item->time_end)){
                        $status = array(
                            'status' => 'expired', 
                        );
                        $this->db->where('id',$item->id);
                        $this->db->update('flashsale',$status);
                    }
                }
            }
            if($fs_id != 0){
                $status = array(
                    'status' => 'active', 
                );
                $this->db->where('id',$fs_id);
                $this->db->update('flashsale',$status);
                $this->session->set_userdata('flashsale_id_active', $fs_id);
            }
        }
    }
    
    public function preview() {

        /*cek flash sale*/
        $data['fs_cek'] = 0; 

        if($this->session->userdata('flashsale_id_active') != null) {

            
            if($this->session->userdata('site_lang') == 'english') {
                $this->lang->load('homepage', 'english');
            } else {
                $this->lang->load('homepage', 'indonesian'); 
            }
            
            $data['fs_cek'] = 1;

            $data['time']   = $this->db->select('time_end')->from('flashsale')->where('id',$this->session->userdata('flashsale_id_active'))->get()->row()->time_end;
            $data['fs_id']  = $this->session->userdata('flashsale_id_active');
            
            //get flashsale product
            $this->db->select('
                flashsale_products.discounted_price,
                flashsale_products.product_details_id,
                products.alias as alias, 
                products.image1 as image1,
                products.title as title, 
                products.id_products as id_products, 
                product_details.price as price, 
                product_images.image as product_image, 
                products.sale_price
            ');
            $this->db->from('flashsale_products');
            $this->db->join('products', 'products.id_products = flashsale_products.product_id');

            $this->db->join('product_details', 'product_details.product_id = products.id_products');

            $this->db->join('product_images', 'product_details.id = product_images.product_details_id');

            $this->db->where('flashsale_products.flashsale_id', $data['fs_id']);
            $this->db->where('products.product_status', 1);
            $this->db->order_by('flashsale_products.product_id', 'RANDOM');
            $this->db->group_by(array("products.title", "products.id_products")); 
            $data['flashsale'] = $this->db->get()->result();

            $this->load->view("$this->theme_no/flashsale", $data);     
        }
    }

    public function view($id) {

        if($this->session->userdata('flashsale_id_active') == 0){
            redirect();
        }
        elseif ($this->session->userdata('flashsale_id_active') != $id) {
            redirect();
        }

        //check if post sort_product is exist
        if ($this->input->post('sort_product')) {
            $this->session->set_userdata('sort_product', $this->input->post('sort_product'));
        }

        //PRODUCTS
        //pagination in action. 
        //get no. of products per page (pagination) from configuration table
        $this->db->select('products_displayed')->from('configuration')->where('id_configuration', 1);
        $per_page = $this->db->get()->row(); 

        //PRODUCTS
        //pagination in action 
        $this->load->library('pagination');
        $config = array();
        $this->load->helper('pagination_helper');
        $config = pagination_format();
        $config['base_url'] = base_url() . 'flashsale/view/';
        $this->load->model('product_m');
        $config['total_rows'] = $this->product_m->count_products_flashsale($id);
        $config['per_page'] = (int) $per_page->products_displayed;  
        $config['uri_segment'] = 4;
        $this->pagination->initialize($config); 
        
        $this->data['sort_product_by'] = $this->session->userdata('sort_product');

        $this->data['total_products'] = $config['total_rows'];

        $this->data['products'] = $this->product_m->get_products_flashsale($config['per_page'], $this->uri->segment($config['uri_segment']),$id);  

        //get all category landing page banner
        // $this->db->select('category_landingpage_image')->from('configuration')->where('id_configuration', 1);
        // $this->data['category_landingpage_image'] = $this->db->get()->row()->category_landingpage_image;      
        //to display title on product_list view
        $this->data['product_list_title'] = 'Flash Sale';   

        //get SEO
        $this->db->select('website_name')->from('configuration')->where('id_configuration', 1);
        $website_name = $this->db->get()->row();
        $this->data_header['browser_title'] =  ucwords($website_name->website_name) . ' - Flash Sale'; 
        $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - Flash Sale';

        //LOAD LANGUAGE FILES FOR HOMEPAGE & BLOG
        if($this->session->userdata('site_lang') == 'english') {
            $this->lang->load('homepage', 'english');
            $this->lang->load('product_list', 'english');
        } else {
            $this->lang->load('homepage', 'indonesian');
            $this->lang->load('product_list', 'indonesian');
        }

        $this->data['category_url'] = $config['base_url'].$id;

        $this->data['time']   = $this->db->select('time_end')->from('flashsale')->where('id',$this->session->userdata('flashsale_id_active'))->get()->row()->time_end;
        /*get next sale*/
        $next_sale_time         = '';
        $this->data['next_sale_id'] = 0;
        $fs_next = $this->db->select('*')->from('flashsale')->where('status','next')->get()->result();
        foreach ($fs_next as $item) {
            if(strtotime($this->data['time']) < strtotime($item->time_start)){
                if($next_sale_time == ''){
                    $next_sale_time         = $item->time_start;
                    $this->data['next_sale_id'] = $item->id;
                }
                else{
                    if(strtotime($next_sale_time) > strtotime($item->time_start)){
                        $next_sale_time         = $item->time_start;
                        $this->data['next_sale_id'] = $item->id;
                    }
                }
            }
        }
        /*get next sale*/

        $this->load->view("themes/$this->theme_no/header", $this->data_header);
        $this->load->view("themes/$this->theme_no/product_list", $this->data);
        $this->load->view("themes/$this->theme_no/footer", $this->data_footer); 
    }

    public function next($id) {
        if($id == $this->session->userdata('flashsale_id_active')){
            redirect();
        }
        if($this->session->userdata('flashsale_id_active') == 0){
            redirect();
        }

        //check if post sort_product is exist
        if ($this->input->post('sort_product')) {
            $this->session->set_userdata('sort_product', $this->input->post('sort_product'));
        }

        //PRODUCTS
        //pagination in action. 
        //get no. of products per page (pagination) from configuration table
        $this->db->select('products_displayed')->from('configuration')->where('id_configuration', 1);
        $per_page = $this->db->get()->row(); 

        //PRODUCTS
        //pagination in action 
        $this->load->library('pagination');
        $config = array();
        $this->load->helper('pagination_helper');
        $config = pagination_format();
        $config['base_url'] = base_url() . 'flashsale/next/';
        $this->load->model('product_m');
        $config['total_rows'] = $this->product_m->count_products_flashsale_next($id);
        $config['per_page'] = (int) $per_page->products_displayed;  
        $config['uri_segment'] = 4;
        $this->pagination->initialize($config); 
        
        $this->data['sort_product_by'] = $this->session->userdata('sort_product');

        $this->data['total_products'] = $config['total_rows'];

        $this->data['products'] = $this->product_m->get_products_flashsale_next($config['per_page'], $this->uri->segment($config['uri_segment']),$id);  

        //get all category landing page banner
        // $this->db->select('category_landingpage_image')->from('configuration')->where('id_configuration', 1);
        // $this->data['category_landingpage_image'] = $this->db->get()->row()->category_landingpage_image;      
        //to display title on product_list view
        $this->data['product_list_title'] = 'Next Flash Sale';   

        //get SEO
        $this->db->select('website_name')->from('configuration')->where('id_configuration', 1);
        $website_name = $this->db->get()->row();
        $this->data_header['browser_title'] =  ucwords($website_name->website_name) . ' - Next Flash Sale'; 
        $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - Next Flash Sale';

        //LOAD LANGUAGE FILES FOR HOMEPAGE & BLOG
        if($this->session->userdata('site_lang') == 'english') {
            $this->lang->load('homepage', 'english');
            $this->lang->load('product_list', 'english');
        } else {
            $this->lang->load('homepage', 'indonesian');
            $this->lang->load('product_list', 'indonesian');
        }

        $this->data['category_url'] = $config['base_url'].$id;

        $this->data['time']   = $this->db->select('time_end')->from('flashsale')->where('id',$this->session->userdata('flashsale_id_active'))->get()->row()->time_end;
        /*back to active sale*/
        $this->data['next_sale_id'] = $this->session->userdata('flashsale_id_active');
        /*back to active sale*/

        $this->load->view("themes/$this->theme_no/header", $this->data_header);
        $this->load->view("themes/$this->theme_no/product_list", $this->data);
        $this->load->view("themes/$this->theme_no/footer", $this->data_footer); 
    }
}

https://t.me/RX1948 - 2025