|
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/kamariallee.com/public_html/application/controllers/ |
Upload File : |
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Shipping extends Customer_Controller
{
function __construct()
{
parent::__construct();
$this->load->model('customer_m');
$this->load->library('form_validation');
}
public function index()
{
if (!$this->cart->contents())
{
redirect('cart');
}
else
{
$id_customer = (int) $this->session->userdata('customer')['customer_id'];
//get customer shipping address detail
$data['shipping'] = $this->customer_m->get_shipping($id_customer);
//get provinces
$data['provinces'] = $this->db->select('*')->from('indonesia_provinces')->order_by('province', 'ASC')->get()->result_array();
}
//get SEO
$this->db->select('website_name, meta_keywords')->from('configuration')->where('id_configuration', 1);
$website_name = $this->db->get()->row();
$this->data_header['browser_title'] = ucwords($website_name->website_name) . ' - Delivery Address';
$this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - Delivery Address';
$this->data_header['meta_keywords'] = $website_name->meta_keywords;
$this->load->view('template/header', $this->data_header);
$this->load->view('shipping', $data);
$this->load->view('template/footer', $this->data_footer);
}
function submit()
{
if (!isset($_POST['shipping']))
{
redirect('shipping');
}
$rules = array(
'recipient_name' => array(
'field'=>'recipient_name',
'label'=>'Delivery Name',
'rules'=>'trim|required'),
'shipping_address' => array(
'field'=>'shipping_address',
'label'=>'Delivery Address',
'rules'=>'trim|required'),
'id_province' => array(
'field'=>'id_province',
'label'=>'Province ID',
'rules'=>'trim|required'),
'id_district' => array(
'field'=>'id_district',
'label'=>'District ID',
'rules'=>'trim|required'),
'id_city' => array(
'field'=>'id_city',
'label'=>'City ID',
'rules'=>'trim|required'),
'shipping_phone' => array(
'field'=>'shipping_phone',
'label'=>'Delivery Phone',
'rules'=>'trim|required'),
'shipping_email' => array(
'field'=>'shipping_email',
'label'=>'Delivery Email',
'rules'=>'trim|required|valid_email'),
'postcode' => array(
'field'=>'postcode',
'label'=>'Postcode',
'rules'=>'trim|required'),
);
$this->form_validation->set_rules($rules);
$this->form_validation->set_error_delimiters('<div class="error">', '</div>');
if($this->form_validation->run($this) == FALSE)
{
$this->index();
}
else
{
$id_customer = (int) $this->session->userdata('customer')['customer_id'];
$data = array(
'recipient_name' => $this->security->xss_clean($this->input->post('recipient_name')),
'shipping_name' => $this->security->xss_clean($this->input->post('recipient_name')),
'shipping_phone' => $this->security->xss_clean($this->input->post('shipping_phone')),
'phone' => $this->security->xss_clean($this->input->post('shipping_phone')),
'shipping_address' => $this->security->xss_clean($this->input->post('shipping_address')),
'address' => $this->security->xss_clean($this->input->post('shipping_address')),
'shipping_email' => $this->security->xss_clean($this->input->post('shipping_email')),
'id_province' => $this->security->xss_clean($this->input->post('id_province')),
'shipping_id_province' => $this->security->xss_clean($this->input->post('id_province')),
'id_district' => $this->security->xss_clean($this->input->post('id_city')),
'shipping_id_district' => $this->security->xss_clean($this->input->post('id_city')),
'id_subdistrict' => $this->security->xss_clean($this->input->post('id_district')),
'shipping_id_subdistrict' => $this->security->xss_clean($this->input->post('id_district')),
'postcode' => $this->security->xss_clean($this->input->post('postcode')),
'shipping_postcode' => $this->security->xss_clean($this->input->post('postcode')),
);
//get province
$province = $this->db->select('province')->from('indonesia_provinces')->where('rajaongkir_province_id', $data['id_province'])->get()->row_array();
if($province)
{
$data['province'] = $province['province'];
$data['shipping_province'] = $province['province'];
}
//get city
$city = $this->db->select('district')->from('indonesia_districts')->where('rajaongkir_id_district', $data['id_district'])->get()->row_array();
if($city)
{
$data['district'] = $city['district'];
$data['shipping_district'] = $city['district'];
}
//get district
$district = $this->db->select('subdistrict')->from('indonesia_subdistricts')->where('rajaongkir_id_subdistrict', $data['id_subdistrict'])->get()->row_array();
if($district)
{
$data['subdistrict'] = $district['subdistrict'];
$data['shipping_subdistrict'] = $district['subdistrict'];
}
$this->db->where('id_customers', $id_customer);
$this->db->update('customers', $data);
redirect('summary');
}
}
public function ajax_get_city()
{
//test if ajax call to prevent direct access
if (!$this->input->is_ajax_request())
{
exit('No direct script access allowed');
}
$this->load->helper('rajaongkir');
$province_id = (int) $this->input->post('id_province');
$data['cities'] = $this->db->select('rajaongkir_id_district, district')->from('indonesia_districts')->where('indonesia_id_province', $province_id)->get()->result_array();
if($this->session->userdata('customer'))
{
$id_customer = (int) $this->session->userdata('customer')['customer_id'];
$data['city_id'] = $this->db->select('shipping_id_district')->from('customers')->where('id_customers', $id_customer)->get()->row()->shipping_id_district;
}
$this->load->view('ajax_get_city', $data);
}
public function ajax_get_district()
{
//test if ajax call to prevent direct access
if (!$this->input->is_ajax_request())
{
exit('No direct script access allowed');
}
$this->load->helper('rajaongkir');
$city_id = (int) $this->input->post('id_city');
$data['districts'] = $this->db->select('rajaongkir_id_subdistrict, subdistrict')->from('indonesia_subdistricts')->where('indonesia_id_district', $city_id)->get()->result_array();
if($this->session->userdata('customer'))
{
$id_customer = (int) $this->session->userdata('customer')['customer_id'];
$data['district_id'] = $this->db->select('shipping_id_subdistrict')->from('customers')->where('id_customers', $id_customer)->get()->row()->shipping_id_subdistrict;
}
$this->load->view('ajax_get_district', $data);
}
}