|
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/angkasapuraretail.com/public_html/application/modules/flashsale/controllers/ |
Upload File : |
<?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) {
$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,
products.alias as alias,
products.image1 as image1,
products.title as title,
products.id_products as id_products,
products.sale_price
');
$this->db->from('flashsale_products');
$this->db->join('products', 'products.id_products = flashsale_products.product_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');
$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);
}
}