|
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 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');
}
}
}