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/controllers/ |
Upload File : |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Account extends Customer_Controller { function __construct() { parent::__construct(); if(isset($this->session->userdata('customer')['customer_type'])) { if($this->session->userdata('customer')['customer_type'] == 'guest') { redirect('welcome'); } } $this->load->model('customer_m'); $this->load->library('form_validation'); } function index() { //get SEO $this->data_header['browser_title'] = ucwords($website_name->website_name) . ' - My Account'; $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - My Account'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/index'); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } function profile() { //this is to check whether from summary page want to update shipping details. if yes, then later redirect back to summary page if (isset($_POST['dropship_summarypage'])) { $this->session->set_userdata('dropship_summarypage', TRUE); } $this->data_header['page_title'] = 'My Profile'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $data['customer'] = $this->customer_m->get_customer($id_customer); //LOAD LANGUAGE FILES FOR profile if($this->session->userdata('site_lang') == 'english') { $this->lang->load('myprofile', 'english'); } else { $this->lang->load('myprofile', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - My Account'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - My Account'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/profile', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } function invite_friend(){ $this->data_header['page_title'] = 'Invite Friend'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; /*get friends email*/ $data['friends_email'] = $this->db->select('*')->from('invite_friend')->where('id_customers',$id_customer)->order_by('id_invite_friend', 'ASC')->get()->result(); //LOAD LANGUAGE FILES FOR profile if($this->session->userdata('site_lang') == 'english') { $this->lang->load('myprofile', 'english'); } else { $this->lang->load('myprofile', 'indonesian'); } //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) . ' - My Account'; $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - My Account'; $this->data_header['meta_keywords'] = $website_name->meta_keywords; $this->load->view('template/header', $this->data_header); $this->load->view('account/invite_friend',$data); $this->load->view('template/footer', $this->data_footer); } function invite_friend_add(){ $data = array( 'id_customers' => (int) $this->session->userdata('customer')['customer_id'], 'email' => $this->security->xss_clean($this->input->post('email')) ); /*cek email pribad*/ $cek_email_pribadi = $this->db->select('email')->from('customers')->where('id_customers',$data['id_customers'])->get()->row()->email; if($data['email'] == $cek_email_pribadi){ $this->session->set_flashdata('success', '<br> <p style="background:red; color:white; padding:5px; font-weight:bold;">Cannot Add Your Email.</p>'); redirect('account/invite_friend'); } /*cek duplikat email*/ $cek_email = $this->db->select('email')->from('invite_friend')->where('id_customers',$data['id_customers'])->where('email',$data['email'])->get()->row()->email; if($cek_email == null){ $this->db->insert('invite_friend',$data); $this->session->set_flashdata('success', '<br> <p style="background:green; color:white; padding:5px; font-weight:bold;">Add Friends Email Success.</p>'); redirect('account/invite_friend'); } else{ $this->session->set_flashdata('success', '<br> <p style="background:red; color:white; padding:5px; font-weight:bold;">Email Already Added.</p>'); redirect('account/invite_friend'); } } function invite_friend_send_email($id){ /*get friends email*/ $data['customer_email'] = $this->db->select('email')->from('invite_friend')->where('id_invite_friend',$id)->get()->row()->email; //get 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); $website_data = $this->db->get()->row(); $data['logo'] = $website_data->logo; $data['website_name'] = $website_data->website_name; $this->load->library('email'); //get email setting $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['charset'] = 'iso-8859-1'; $config['wordwrap'] = TRUE; $config['newline'] = "\r\n"; //use double quotes to comply with RFC 822 standard $this->email->initialize($config); $this->email->from($website_data->from_email, $website_data->website_name); $this->email->to($data['customer_email']); $this->email->subject('Anda Telah Diundang'); $email = $this->load->view('email/invite_friend', $data, TRUE); $this->email->message($email); $this->email->send(); //----end send email $this->session->set_flashdata('success', '<br> <p style="background:green; color:white; padding:5px; font-weight:bold;">Email Has Been Send.</p>'); redirect('account/invite_friend'); } function invite_friend_delete($id){ $data = array( 'id_invite_friend' => $id ); $this->db->delete('invite_friend',$data); $this->session->set_flashdata('success', '<br> <p style="background:green; color:white; padding:5px; font-weight:bold;">Delete Email Success.</p>'); redirect('account/invite_friend'); } function update_profile() { if (!isset($_POST['update_profile'])) { redirect('account/profile'); } //validation in action $rules = array( 'name' => array( 'field'=>'name', 'label'=>'Name', 'rules'=>'trim|required'), 'phone' => array( 'field'=>'phone', 'label'=>'Phone', 'rules'=>'trim|required'), 'ktp' => array( 'field'=>'ktp', 'label'=>'ktp', 'rules'=>'trim|required|min_length[16]|max_length[16]'), ); $this->form_validation->set_rules($rules); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if($this->form_validation->run($this) == FALSE) { $this->profile(); } else { $day = $this->input->post('day'); $month = $this->input->post('month'); $year = $this->input->post('year'); $data = array( 'name' => $this->security->xss_clean($this->input->post('name')), 'shipping_name' => $this->security->xss_clean($this->input->post('name')), 'handphone' => $this->security->xss_clean($this->input->post('phone')), 'ktp' => $this->security->xss_clean($this->input->post('ktp')), 'shipping_handphone' => $this->security->xss_clean($this->input->post('phone')), ); if($this->input->post('newsletter') == 'yes') { $data['newsletter'] = 'yes'; } else { $data['newsletter'] = 'no'; } $id_customer = (int) $this->session->userdata('customer')['customer_id']; $this->customer_m->update_profile($id_customer, $data); $this->session->set_flashdata('success', '<p style="background:green; color:white; padding:10px; padding:5px; font-weight:bold;">Profile Edit Sukses</p>'); if ($this->session->userdata('dropship_summarypage') == TRUE) { $this->session->unset_userdata('dropship_summarypage'); redirect('summary'); } else { redirect('account/profile'); } } } //callback function validation register new handphone function _cek_phone($str) { $num_rows = $this->customer_m->cek_existing_handphone($str, (int) $this->session->userdata('customer')['customer_id']); if ($num_rows != 0 ) { $this->form_validation->set_message('_cek_phone', 'Nomor Handphone sudah terdaftar !'); return FALSE; } else { return TRUE; } } //callback function validation register new email function _cek_email($str) { $num_rows = $this->customer_m->cek_existing_email($str, (int) $this->session->userdata('customer')['customer_id']); if ($num_rows != 0 ) { $this->form_validation->set_message('_cek_email', 'Email sudah terdaftar !'); return FALSE; } else { return TRUE; } } function shipping() { //this is to check whether from summary page want to update shipping details. if yes, then later redirect back to summary page if (isset($_POST['shipping_summarypage'])) { $this->session->set_userdata('shipping_summarypage', TRUE); } $this->data_header['page_title'] = 'Change Shipping Address'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $data['shipping'] = $this->customer_m->get_shipping($id_customer); //get all countries data from countries table $this->db->select('*')->from('countries')->order_by('id_countries', 'ASC'); $data['countries'] = $this->db->get()->result(); //get all provinces data from provinces table $this->db->select('rajaongkir_province_id, province')->from('indonesia_provinces')->order_by('rajaongkir_province_id', 'ASC'); $data['provinces'] = $this->db->get()->result(); //get all shipping province data $data['shipping_provinces'] = $data['provinces']; $current_province_id = $data['shipping']->id_province; $current_shipping_province_id = $data['shipping']->shipping_id_province; //get all initial districts based on stored province $this->db->select('rajaongkir_id_district, district')->from('indonesia_districts')->where('indonesia_id_province', $current_province_id); $data['district_lists'] = $this->db->get()->result(); //get all initial shipping districts based on stored province $this->db->select('rajaongkir_id_district, district')->from('indonesia_districts')->where('indonesia_id_province', $current_shipping_province_id); $data['shipping_district_lists'] = $this->db->get()->result(); $current_district_id = $data['shipping']->id_district; $current_shipping_district_id = $data['shipping']->shipping_id_district; //get all initial subdistricts lists $this->db->select('rajaongkir_id_subdistrict, subdistrict')->from('indonesia_subdistricts')->where('indonesia_id_district', $current_district_id); $data['subdistrict_lists'] = $this->db->get()->result(); //get all initial shipping subdistricts lists $this->db->select('rajaongkir_id_subdistrict, subdistrict')->from('indonesia_subdistricts')->where('indonesia_id_district', $current_shipping_district_id); $data['shipping_subdistrict_lists'] = $this->db->get()->result(); //LOAD LANGUAGE FILES FOR ACCOUNT ADDRESS if($this->session->userdata('site_lang') == 'english') { $this->lang->load('register_login', 'english'); } else { $this->lang->load('register_login', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Address'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Address'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/shipping', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } function update_shipping() { if (!isset($_POST['update_shipping'])) { redirect('account/shipping'); } //validation in action //if country id 0 (indonesia) regular validation rule $rules = $this->customer_m->shipping_rules; $this->form_validation->set_rules($rules); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if($this->form_validation->run($this) == FALSE) { //echo validation_errors(); $this->shipping(); } else { $data = array( 'postcode' => $this->security->xss_clean($this->input->post('postcode')), 'address' => $this->security->xss_clean($this->input->post('address')), 'shipping_postcode' => $this->security->xss_clean($this->input->post('shipping_postcode')), 'shipping_address' => $this->security->xss_clean($this->input->post('shipping_address')) ); //UPDATE BILLING ADDRESS $data['id_province'] = (int) $this->input->post('shipping_province'); $data['id_district'] = (int) $this->input->post('shipping_district'); $data['id_subdistrict'] = (int) $this->input->post('shipping_subdistrict'); $data['id_country'] = 0; $data['country'] = 'Indonesia'; //get province name $this->db->select('province')->from('indonesia_provinces')->where('rajaongkir_province_id', (int) $this->input->post('shipping_province')); $data['province'] = $this->db->get()->row()->province; //get district name $this->db->select('district')->from('indonesia_districts')->where('rajaongkir_id_district', (int) $this->input->post('shipping_district')); $data['district'] = $this->db->get()->row()->district; //get subdistrict name $this->db->select('subdistrict')->from('indonesia_subdistricts')->where('rajaongkir_id_subdistrict', (int) $this->input->post('shipping_subdistrict')); $data['subdistrict'] = $this->db->get()->row()->subdistrict; //UPDATE SHIPPING ADDRESS //this is indonesia $data['shipping_id_province'] = (int) $this->input->post('shipping_province'); $data['shipping_id_district'] = (int) $this->input->post('shipping_district'); $data['shipping_id_subdistrict'] = (int) $this->input->post('shipping_subdistrict'); $data['shipping_id_country'] = 0; $data['shipping_country'] = 'Indonesia'; //get province name $this->db->select('province')->from('indonesia_provinces')->where('rajaongkir_province_id', (int) $this->input->post('shipping_province')); $data['shipping_province'] = $this->db->get()->row()->province; //get district name $this->db->select('district')->from('indonesia_districts')->where('rajaongkir_id_district', (int) $this->input->post('shipping_district')); $data['shipping_district'] = $this->db->get()->row()->district; //get subdistrict name $this->db->select('subdistrict')->from('indonesia_subdistricts')->where('rajaongkir_id_subdistrict', (int) $this->input->post('shipping_subdistrict')); $data['shipping_subdistrict'] = $this->db->get()->row()->subdistrict; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $this->customer_m->update_shipping($id_customer, $data); $this->session->set_flashdata('success', '<br><p style="background:green; color:white; padding:10px; padding:5px; font-weight:bold;">Edit Alamat Kirim Sukses</p>'); if ($this->session->userdata('shipping_summarypage') == TRUE) { $this->session->unset_userdata('shipping_summarypage'); redirect('summary'); } else { redirect('account/shipping'); } } } function change_password() { $this->data_header['page_title'] = 'Change Password'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $data['customer'] = $this->customer_m->get_customer($id_customer); //LOAD LANGUAGE FILES FOR profile & change password if($this->session->userdata('site_lang') == 'english') { $this->lang->load('myprofile', 'english'); } else { $this->lang->load('myprofile', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Change Password'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Change Password'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/change_password', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } function update_change_password() { if (!isset($_POST['change_password'])) { redirect('account/change_password'); } //validation in action $rules = array( 'password_old' => array( 'field'=>'password_old', 'label'=>'Old Password', 'rules'=>'trim|required|callback__cek_oldpassword'), 'password' => array( 'field'=>'password', 'label'=>'Password', 'rules'=>'trim|required'), 'confirm_password' => array( 'field'=>'confirm_password', 'label'=>'Confirm Password', 'rules'=>'trim|required|matches[password]'), ); $this->form_validation->set_rules($rules); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if($this->form_validation->run($this) == FALSE) { $this->change_password(); } else { $data = array(); if ($this->input->post('password')) { $data['password'] = $this->customer_m->hash($this->input->post('password')); } $id_customer = (int) $this->session->userdata('customer')['customer_id']; $this->customer_m->update_profile($id_customer, $data); $this->session->set_flashdata('success', '<br><p style="background:green; color:white; padding:10px; padding:5px; font-weight:bold;">Password sukses dirubah</p>'); redirect('account/change_password'); } } function _cek_oldpassword($str) { $password = $this->customer_m->hash($str); //check if password exist.. $this->db->select('id_customers')->from('customers')->where('password', $password)->where('id_customers', (int) $this->session->userdata('customer')['customer_id']); $count_password = $this->db->get()->num_rows(); if($count_password == 0) { $this->form_validation->set_message('_cek_oldpassword', 'Password tidak cocok !'); return FALSE; } else { return TRUE; } } function order_history() { $this->load->model('order_m'); $this->data_header['page_title'] = 'Order History'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $data['order_history'] = $this->order_m->get_order_history($id_customer); //LOAD LANGUAGE FILES if($this->session->userdata('site_lang') == 'english') { $this->lang->load('order_history', 'english'); } else { $this->lang->load('order_history', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Order History'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Order History'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/order_history', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } function penawaran_harga() { $this->data_header['page_title'] = 'Penawaran Harga'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $this->db->select('*')->from('penawaran_harga')->where('customer_id', $id_customer)->where('status', 'pending')->order_by('time_added', 'DESC'); $data['penawaran_harga'] = $this->db->get()->result(); //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Penawaran Harga'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Penawaran Harga'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/penawaran_harga', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } public function generate_penawaran_harga($penawaran_id = NULL) { if($penawaran_id == NULL) { redirect('account/penawaran_harga'); } //add PDF attachment DOMPDF $data['title'] = 'Surat Penawaran Harga'; //get customer detail $this->db->select('*')->from('customers')->where('id_customers', $this->session->userdata('customer')['customer_id']); $pdf_data['customer'] = $this->db->get()->row(); //get all penawaran details $this->db->select('*')->from('penawaran_harga')->where('id', $penawaran_id); $pdf_data['penawaran'] = $this->db->get()->row(); if(count($pdf_data['penawaran']) == 0) { redirect('account/penawaran_harga'); } //get sales name and hp $this->db->select('sales_name, handphone, email')->from('sales_list')->where('employee_id', $pdf_data['penawaran']->employee_id); $pdf_data['sales'] = $this->db->get()->row(); $this->load->helper('shipping'); //get current month ij roman $pdf_data['current_month'] = integerToRoman(date('n')); //get current year 2 digits $pdf_data['current_year'] = date('y'); $this->load->library('dompdf_gen'); $html = $this->load->view('account/penawaran_pdf', $pdf_data ,true); /*tambahan*/ $html = preg_replace('/>\s+</', '><', $html); /*tambahan*/ $this->dompdf->load_html($html); $this->dompdf->set_paper('A4', 'portrait'); $this->dompdf->render(); $this->dompdf->stream('penawaran_harga.pdf', array("Attachment" => 0)); $output = $this->dompdf->output(); $file_to_save = 'uploads/pdf/penawaran_harga.pdf'; file_put_contents($file_to_save, $output); } function penawaran_process_order($penawaran_id = NULL) { if($penawaran_id == NULL) { redirect('account/penawaran_harga'); } //get all penawaran details $this->db->select('*')->from('penawaran_harga')->where('id', $penawaran_id); $penawaran = $this->db->get()->row(); if(count($penawaran) == 0) { redirect('account/penawaran_harga'); } //empty out current cart.. $this->cart->destroy(); $cart_array = unserialize($penawaran->cart_array); foreach ($cart_array as $item) { $data['id'] = (int) $item['id']; $data['name'] = ucwords($item['name']); $data['qty'] = (int) $item['qty']; $data['price'] = (int) $item['price']; $data['options']['warehouse_name'] = ''; $data['options']['warehouse_id'] = NULL; $this->cart->product_name_rules = '[:print:]'; //this is to eliminate cart product name restriction on special characters $this->cart->insert($data); } //pass penawaran parameter.. $this->session->set_userdata('chosen_sales_id', $penawaran->sales_id); $this->session->set_userdata('penawaran_harga_id', $penawaran->id); $this->session->set_userdata('penawaran_harga_to_shipping', 'yes'); redirect('shipping'); } public function point_rewards() { $this->load->model('order_m'); $this->data_header['page_title'] = 'My Point rewards'; $id_customer = (int) $this->session->userdata('customer')['customer_id']; $data['order_history'] = $this->order_m->get_order_history($id_customer); //get customer current point rewards $this->db->select('current_pointreward')->from('customers')->where('id_customers', $this->session->userdata('customer')['customer_id']); $data['current_point'] = $this->db->get()->row()->current_pointreward; //LOAD LANGUAGE FILES if($this->session->userdata('site_lang') == 'english') { $this->lang->load('pointrewards', 'english'); } else { $this->lang->load('pointrewards', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Point Reward'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Point Reward'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/point_rewards', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } public function payment_confirmation() { if (!isset($_POST['confirm_payment'])) { redirect('account/order_history'); } $data['order_id'] = (int) $this->input->post('order_id'); $this->data_header['page_title'] = 'Payment Confirmation'; //LOAD LANGUAGE FILES if($this->session->userdata('site_lang') == 'english') { $this->lang->load('payment_confirmation', 'english'); } else { $this->lang->load('payment_confirmation', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Payment Confirmation'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Payment Confirmation'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/payment_confirmation', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } public function update_paymentconfirmation() { if (!isset($_POST['update_paymentconfirmation'])) { redirect('account/order_history'); } //validation in action $config = array( array( 'field' => 'payment_date', 'label' => 'Payment Date', 'rules' => 'trim|required' ), array( 'field' => 'total_amount', 'label' => 'Total Amount', 'rules' => 'trim|required|numeric' ), array( 'field' => 'to_bank', 'label' => 'To Bank', 'rules' => 'trim' ), array( 'field' => 'from_bank', 'label' => 'From Bank', 'rules' => 'trim|required' ), array( 'field' => 'account_name', 'label' => 'Account Name', 'rules' => 'required|trim' ), array( 'field' => 'account_number', 'label' => 'Account Number', 'rules' => 'required|trim' ) ); $this->form_validation->set_rules($config); $this->form_validation->set_error_delimiters('<div class="error">', '</div>'); if($this->form_validation->run($this) == FALSE) { $data['order_id'] = (int) $this->input->post('order_id'); $data_header['page_title'] = 'Payment Confirmation'; //LOAD LANGUAGE FILES if($this->session->userdata('site_lang') == 'english') { $this->lang->load('payment_confirmation', 'english'); } else { $this->lang->load('payment_confirmation', 'indonesian'); } //get SEO $this->data_header['browser_title'] = ucwords($this->data_header['website_name']) . ' - Payment Confirmation'; $this->data_header['meta_description'] = ucwords($this->data_header['website_name']) . ' - Payment Confirmation'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('account/payment_confirmation', $data); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } else { //check & processing IMAGE 1 if ($_FILES['receipt_file']['size'] !== 0) { $config['upload_path'] = './uploads/receipt_file/'; $config['allowed_types'] = 'jpg|png|pdf'; $config['max_size'] = '5000'; $this->load->library('upload', $config); $this->upload->initialize($config); if (!$this->upload->do_upload('receipt_file')) { echo $this->upload->display_errors();die; $this->session->set_flashdata('receipt_file_error', '<br> <p style="background:red; color:white; padding:5px; font-weight:bold;">Image Upload Error. Wrong format.</p>'); //echo $this->upload->display_errors(); exit(); redirect('account/payment_confirmation'); } else { $image = $this->upload->data(); $image_name = $image['file_name']; } } $payment_date = explode('-', $this->input->post('payment_date')); $new_payment_date = $payment_date['2'] . '-' . $payment_date['1'] . '-' . $payment_date['0']; $total_amount = (int) $this->input->post('total_amount'); $to_bank = ucwords($this->input->post('to_bank')); $from_bank = ucwords($this->input->post('from_bank')); $account_name = $this->security->xss_clean(ucwords($this->input->post('account_name'))); $account_number = $this->security->xss_clean(ucwords($this->input->post('account_number'))); $payment_confirm_details = '<p>Payment Date: ' . $new_payment_date . '</p>' . '<p>Payment Amount: Rp ' . number_format($total_amount) . '</p>' . '<p>To Bank: ' . $to_bank . '</p>' . '<p>From Bank: ' . $from_bank . '</p>' . '<p>From Acc Name: ' . $account_name . '</p>' . '<p>From Acc No: ' . $account_number . '</p>' . '<p>Receipt file: <a href="'.base_url('uploads/receipt_file/').$image_name.'">' . $image_name . '</a></p>'; $data = array( 'payment_confirm' => 1, 'payment_confirm_details' => $payment_confirm_details, ); $order_id = (int) $this->input->post('order_id'); $this->db->where('id_orders', $order_id); $this->db->update('orders', $data); //sending email //----SEND EMAIL TO ADMIN WEBSITE //get customer name $customer_id = (int) $this->session->userdata('customer')['customer_id']; $this->db->select('name')->from('customers')->where('id_customers', $customer_id); $data['customer_name'] = $this->db->get()->row()->name; //get 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); $website_data = $this->db->get()->row(); $data['logo'] = $website_data->logo; $data['website_name'] = $website_data->website_name; $this->load->model('configuration_m'); $data['emails'] = $this->configuration_m->get_emails(); $data['bank'] = $this->configuration_m->get_bank(); $data['title'] = 'Customer Payment Confirmation'; $this->load->library('email'); //get email setting $config['protocol'] = 'smtp'; $config['smtp_crypto'] = 'tls'; $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['charset'] = 'utf-8'; $config['wordwrap'] = TRUE; $config['newline'] = "\r\n"; //use double quotes to comply with RFC 822 standard $this->email->initialize($config); $this->email->from($data['emails']->from_email, $data['emails']->website_name); $this->email->to($data['emails']->from_email); $this->email->subject('Customer Payment Confirmation'); $myMessage = '<html><body>'; $myMessage .= '<table style="border-color: #666;" cellpadding="10">'; $myMessage .= "<tr><td><strong>Order No:</strong> </td><td>" . $order_id . "</td></tr>"; $myMessage .= "<tr><td><strong>Payment Date:</strong> </td><td>" . $this->input->post('payment_date') . "</td></tr>"; $myMessage .= "<tr><td><strong>Amount: Rp </strong> </td><td>" . number_format($total_amount) . "</td></tr>"; $myMessage .= "<tr><td><strong>To Bank:</strong> </td><td>" . $to_bank . "</td></tr>"; $myMessage .= "<tr><td><strong>From bank:</strong> </td><td>" . $from_bank . "</td></tr>"; $myMessage .= "<tr><td><strong>Account Name:</strong> </td><td>" . $account_name . "</td></tr>"; $myMessage .= "<tr><td><strong>Account Number:</strong> </td><td>" . $account_number . "</td></tr>"; $myMessage .= "</table>"; $myMessage .= "<p>Please verify the payment, and change the payment status at Admin Dashboard.</p>"; $myMessage .= "</body></html>"; $this->email->message($myMessage); $this->email->send(); //----end send email $this->session->set_flashdata('success', '<br><p style="background:green; color:white; padding:10px; padding:5px; font-weight:bold;">Payment Confirmation Success. We will verify your payment and notify You back.</p>'); redirect('account/order_history'); } } }