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/indolok.id/application/controllers/ |
Upload File : |
<?php defined('BASEPATH') OR exit('No direct script access allowed'); class Payment_confirmation extends Public_Controller { function __construct() { parent::__construct(); $this->load->library('form_validation'); } function index() { //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) . ' - Payment Confirmation'; $this->data_header['meta_description'] = ucwords($website_name->website_name) . ' - Payment Confirmation'; $this->load->view("themes/$this->theme_no/header", $this->data_header); $this->load->view('payment_confirmation'); $this->load->view("themes/$this->theme_no/footer", $this->data_footer); } public function update_paymentconfirmation() { if (!isset($_POST['update_paymentconfirmation'])) { redirect('payment_confirmation'); } /*cek order id*/ $order_id = (int) $this->input->post('order_id'); $cek = $this->db->select('id_orders,payment_status,payment_confirm')->from('orders')->where('id_orders',$order_id)->get()->row(); if($cek == null){ $this->session->set_flashdata('success', '<br><p style="background:red; color:white; padding:10px; padding:5px; font-weight:bold;">Order ID Not Found.</p>'); redirect('Payment_confirmation'); } if($cek->payment_status > 1){ $this->session->set_flashdata('success', '<br><p style="background:red; color:white; padding:10px; padding:5px; font-weight:bold;">Order ID Not Found.</p>'); redirect('Payment_confirmation'); } if($cek->payment_status == 1){ if($cek->payment_confirm == 1){ $this->session->set_flashdata('success', '<br><p style="background:red; color:white; padding:10px; padding:5px; font-weight:bold;">Order ID Not Found.</p>'); redirect('Payment_confirmation'); } } /*cek order id*/ //validation in action $config = array( array( 'field' => 'order_id', 'label' => 'Order ID', 'rules' => 'trim|required' ), 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'; //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; //LOAD LANGUAGE FILES if($this->session->userdata('site_lang') == 'english') { $this->lang->load('payment_confirmation', 'english'); } else { $this->lang->load('payment_confirmation', 'indonesian'); } $this->load->view('template/header', $this->data_header); $this->load->view('payment_confirmation', $data); $this->load->view('template/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('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 = $this->db->select('customer_id')->from('orders')->where('id_orders',$order_id)->get()->row()->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_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($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('Payment_confirmation'); } } }