|
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/ptbos.biz/public_html/application/core/ |
Upload File : |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class MY_Controller extends MX_Controller {
protected $data = array();
protected $data_header = array();
protected $data_footer = array();
function __construct() {
parent::__construct();
$this->db->select('website_default_language')->from('configuration');
$language=$this->db->get()->row()->website_default_language;
if ($language=='english') {
$this->session->set_userdata('lang','english');
} else {
$this->session->set_userdata('lang','indonesian');
}
}
protected function common_functions() {
//check if website is active
$this->db->select('website_active, website_ip')->from('configuration')->where('id_configuration', 1);
$website_status = $this->db->get()->row();
if($website_status->website_active == 'no') {
//WEBSITE IS NOT ACTIVE (MAINTENANCE MODE)
//get current IP
$current_ip = $this->input->ip_address(); //localhost ip is ::1
//check for allowed IP
$allowed_ips = explode(',', $website_status->website_ip);
if (in_array($current_ip, $allowed_ips) == 0) {
redirect(base_url('maintenance'));
} else {
//WEBSITE IS ACTIVE
$this->website_active();
}
} else {
//WEBSITE IS ACTIVE
$this->website_active();
}
}
private function website_active() {
$this->load->helper('form');
$this->load->library('cart');
//GET WEBSITE DETAILS, GOOGLE ANALYTICS
$this->db->select('background_home2,logo, website_name, facebook, twitter, instagram, google_analytic_id, tawkto_id, primary_color_theme, website_icon, from_email, phone')->from('configuration')->where('id_configuration', 1);
$website_infos = $this->db->get()->row();
$this->data_header['logo'] = $website_infos->logo;
$this->data_header['background_home2'] = $website_infos->background_home2;
$this->data_header['website_name'] = $website_infos->website_name;
$this->data_header['google_analytic_id'] = $website_infos->google_analytic_id;
$this->data_header['tawkto_id'] = $website_infos->tawkto_id;
$this->data_header['email'] = $website_infos->from_email;
$this->data_header['phone'] = $website_infos->phone;
$this->data['facebook'] = $website_infos->facebook;
$this->data['twitter'] = $website_infos->twitter;
$this->data['instagram'] = $website_infos->instagram;
$this->data_header['primary_colortheme'] = $website_infos->primary_color_theme;
$this->data_header['website_icon'] = $website_infos->website_icon;
//TOP MAIN MENUS
if($this->session->userdata('site_lang') == 'english') {
$this->db->select('*')->from('menus')->where('status', 1)->where('parent_id', NULL)->order_by('priority', 'ASC');
} else {
$this->db->select('*')->from('menus')->where('status', 1)->where('parent_id', NULL)->order_by('priority', 'ASC');
}
$this->data_header['top_main_menus'] = $this->db->get()->result();
//LOAD TOP MENU HELPER
$this->load->helper('menu');
//FOOTER
//get left footer
$this->db->select('title, title_en, description, description_en')->from('home_footer')->where('id_home_footer', 1);
$footer1 = $this->db->get()->row();
if($this->session->userdata('site_lang') == 'english') {
$this->data_footer['footer_title1'] = $footer1->title_en;
$this->data_footer['footer_description1'] = $footer1->description_en;
} else {
$this->data_footer['footer_title1'] = $footer1->title;
$this->data_footer['footer_description1'] = $footer1->description;
}
//get left center footer
$this->db->select('title, title_en, description, description_en')->from('home_footer')->where('id_home_footer', 2);
$footer2 = $this->db->get()->row();
if($this->session->userdata('site_lang') == 'english') {
$this->data_footer['footer_title2'] = $footer2->title_en;
$this->data_footer['footer_description2'] = $footer2->description_en;
} else {
$this->data_footer['footer_title2'] = $footer2->title;
$this->data_footer['footer_description2'] = $footer2->description;
}
//get right center footer
$this->db->select('title, title_en, description, description_en')->from('home_footer')->where('id_home_footer', 3);
$footer3 = $this->db->get()->row();
if($this->session->userdata('site_lang') == 'english') {
$this->data_footer['footer_title3'] = $footer3->title_en;
$this->data_footer['footer_description3'] = $footer3->description_en;
} else {
$this->data_footer['footer_title3'] = $footer3->title;
$this->data_footer['footer_description3'] = $footer3->description;
}
//get right footer
$this->db->select('title, title_en, description, description_en')->from('home_footer')->where('id_home_footer', 4);
$footer4 = $this->db->get()->row();
if($this->session->userdata('site_lang') == 'english') {
$this->data_footer['footer_title4'] = $footer4->title_en;
$this->data_footer['footer_description4'] = $footer4->description_en;
} else {
$this->data_footer['footer_title4'] = $footer4->title;
$this->data_footer['footer_description4'] = $footer4->description;
}
}
protected function send_email($view_file, $email_data, $e_msg = false) {
//get website data
$website_data = $this->db->select('logo, from_email, website_name, email_smtp_host, email_smtp_port, email_smtp_password, email_smtp')->from('configuration')->where('id_configuration', 1)->get()->row();
$email_data['website_name'] = $website_data->website_name;
$email_data['logo'] = $website_data->logo;
$this->load->library('email');
// $config['protocol'] = 'ssmtp';
$config['protocol'] = 'smtp';
$config['smtp_host'] = $website_data->email_smtp_host;
$config['smtp_port'] = $website_data->email_smtp_port;
$config['smtp_user'] = $website_data->email_smtp;
$config['smtp_pass'] = $website_data->email_smtp_password;
$config['mailtype'] = 'html';
$config['smtp_crypto'] = 'ssl';
//$config['charset'] = 'iso-8859-1';
$config['charset'] = 'UTF-8';
$config['wordwrap'] = TRUE;
$config['newline'] = "\r\n"; //use double quotes to comply with RFC 822 standard
$this->email->set_crlf( "\r\n" ); //must add this for hotmail
$this->email->initialize($config);
// echo '<pre>';
// print_r($config);
// echo '</pre>';
// echo '<pre>';
// print_r($website_data);
// echo '</pre>';
// exit;
$this->email->from($website_data->from_email, $website_data->website_name);
// $this->email->to($email_data['email']);
$this->email->to('herman.canvasweb@gmail.com');
//$this->email->cc($data['emails']->from_email);
$this->email->subject($email_data['subject']);
if($e_msg === false){
$email = $this->load->view($view_file, $email_data, TRUE);
$this->email->message($email);
}else{
$this->email->message($view_file);
}
$respon_email = $this->email->send();
if(!$respon_email){
var_dump($this->email->print_debugger()); exit();
}
}
}
class Public_controller extends MY_Controller {
function __construct() {
parent::__construct();
$this->common_functions();
$this->session->set_userdata('site_lang','indonesian');
}
}
class Customer_controller extends MY_Controller {
function __construct() {
parent::__construct();
$this->common_functions();
$this->load->model('customer_m');
//logged in check, if loggedin is false, then kickout
//exclude some pages from the check
$exception_uris = array(
'register',
'register/new_registration',
'register/logout',
'register/guest_checkout',
'login',
'login/login',
'login/lost_password',
'login/set_new_password'
);
if(in_array(uri_string(), $exception_uris) == FALSE) {
if($this->customer_m->loggedin() == FALSE) {
redirect('register');
}
}
}
}
class Admin_controller extends MY_Controller {
function __construct() {
parent::__construct();
$this->load->helper('cms_helper');
$this->load->model('user_m');
$this->load->library('form_validation');
$this->form_validation->set_error_delimiters('<div class="error">', '</div>'); //above is to add class to form validation error, to be styled
$this->load->helper('form');
//logged in check, if loggedin is false, then kickout
//first exclude login and logout page from the check
$exception_uris = array(
'admin/user/login',
'admin/user/logout'
);
if(in_array(uri_string(), $exception_uris) == FALSE) {
if($this->user_m->loggedin() == FALSE) {
redirect('admin/user/login');
}
}
//get Website Name
$this->db->select('website_name, meta_description')->from('configuration')->where('id_configuration', 1);
$config = $this->db->get()->row();
$this->data_header['meta_title'] = 'Administration Page';
$this->data_header['meta_description'] = $config->meta_description;
$this->data_header['website_name'] = $config->website_name;
}
}