%PDF- %GIF98; %PNG;
Server : ApacheSystem : Linux sh00666.bluehost.com 5.14.0-687.26.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Jul 14 16:32:02 EDT 2026 x86_64 User : ndkhermy ( 1200) PHP Version : 8.5.12 Disable Function : NONE Directory : /home1/ndkhermy/public_html/website_1ec2d7c2/apps/models/ |
Upload File : |
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
class Checkout_model extends CI_Model {
public function __construct()
{
//$this->load->database();
}
public function submitorder(){
$flag = 'No';
$Userdata = $this->user_model->UserByID($this->session->userdata('bh_front_user_id'));
$payment_method = 'Cash On Delivery';
if($this->input->post('payment_method')=='cod') { $payment_method = 'Cash On Delivery'; }
if($this->input->post('payment_method')=='payumoney') { $payment_method = 'PayU Money'; }
$total = $this->session->userdata('amount');
$invoice = $this->login->trackingno();
$trackingno = $invoice;
$this->session->set_userdata('order_tracking_number',$invoice);
$order_data = array(
'invoice_prefix' => $invoice,
'user_id' => $this->session->userdata('bh_front_user_id'),
'firstname' => $Userdata[0]['first_name'],
'lastname' => $Userdata[0]['last_name'],
'email' => $Userdata[0]['email_id'],
'telephone' => $Userdata[0]['phone'],
'mobile' => $Userdata[0]['mobile'],
'payment_firstname' => $this->session->userdata('b_firstname'),
'payment_lastname' => $this->session->userdata('b_lastname'),
'payment_country_id' => $this->session->userdata('b_country_id'),
'payment_state_id' => $this->session->userdata('b_state_id'),
'payment_city' => $this->session->userdata('b_city'),
'payment_address_1' => $this->session->userdata('b_address_1'),
'payment_email' => $this->session->userdata('email_id'),
'payment_phone' => $this->session->userdata('telephone'),
'payment_postcode' => $this->session->userdata('b_postcode'),
'payment_method' => $payment_method,
'payment_code' => $this->session->userdata('payment_method'),
'shipping_firstname' => $this->session->userdata('s_firstname'),
'shipping_lastname' => $this->session->userdata('s_lastname'),
'shipping_country_id' => $this->session->userdata('s_country_id'),
'shipping_state_id' => $this->session->userdata('s_state_id'),
'payment_state' => $this->commonmod_model->GetStateName($this->session->userdata('b_state_id')),
'payment_country' => $this->commonmod_model->GetCountryName($this->session->userdata('b_country_id')),
'shipping_state' => $this->commonmod_model->GetStateName($this->session->userdata('s_state_id')),
'shipping_country' => $this->commonmod_model->GetCountryName($this->session->userdata('s_country_id')),
'shipping_city' => $this->session->userdata('s_city'),
'shipping_address_1' => $this->session->userdata('s_address_1'),
'shipping_address_2' => $this->session->userdata('s_address_2'),
'shipping_postcode' => $this->session->userdata('s_postcode'),
'shipping_email' => $this->session->userdata('s_email'),
'shipping_phone' => $this->session->userdata('s_phone'),
'order_status_id' => '1',
'total' => $total,
'currency_code' => CURRENCY,
'comment' => $this->input->post('comment'),
'date_added' => date('Y-m-d H:i:s')
);
$order_id = $this->checkout_model->InsertOrderData($order_data);
$flag = 'Yes';
$this->session->set_userdata('order_id',$order_id);
// Reduce Item Stock Quantity
// Apply Tax On Product
$tax = 0;
$total_price = $this->session->userdata('amount');
$order_detail = array(
'order_id' => $order_id,
'product_id' => '0',
'name' => '',
'items' => $this->session->userdata('items'),
'loading_port' => $this->session->userdata('loading_port'),
'unloading_port' => $this->session->userdata('unloading_port'),
'quantity' => '1',
'price' => $this->session->userdata('amount'),
'total' => $this->session->userdata('amount'),
'tax' => $tax,
);
// Add Order History
$orderhistory_id = $this->checkout_model->InsertOrderHistory($order_id,'1');
// Add Order Product
$orderproduct_id = $this->checkout_model->InsertOrderProduct($order_detail);
// send order email to admin
if($flag=='Yes'){
$AllorderproductList = $this->order_model->GetOrderListing($order_id);
$Oneorder = $this->order_model->GetOneorder($order_id);
/* Send Admin Email */
$config['protocol'] = 'smtp';
$config['smtp_host'] = 'ssl://mail.mpl-liner.com';
$config['smtp_port'] = '465';
$config['smtp_timeout'] = '7';
$config['smtp_user'] = 'info@mpl-liner.com';
$config['smtp_pass'] = 'Omsai@123#$';
$config['charset'] = 'utf-8';
$config['newline'] = "\r\n";
$config['mailtype'] = 'html'; // or html
$config['validation'] = TRUE; // bool whether to validate email or not
$this->email->initialize($config);
$this->email->from(FROM_EMAIL, FROM_NAME);
$this->email->to(ADMIN_EMAIL_ID);
$this->email->cc(CC_EMAIL_ID);
//$this->email->bcc('ambuj@graphicsmerlin.com');
$this->email->subject('New Order - #'.$order_id.' | '.WEBSITE_EMAIL_TITLE);
$message = '<h2>'.WEBSITE_EMAIL_TITLE.'</h2>';
$message .= '<p>Hi Admin, <br> '.$Userdata[0]['first_name'].' have send order.</p>';
$message .= '
<h2>MPL</h2>
<table class="table table-bordered table-hover" width="100%" style="border: 1px solid #ddd;border-collapse: collapse;">
<thead class="tableHead">
<tr>
<td class="text-left" colspan="2" style="border-width: 2px;padding:8px; border: 1px solid #ddd;line-height: 1.42857143;">'.$this->commonmod_model->getSystemValue('shipping_common').'</td>
</tr>
</thead>
<tbody></tbody></table>';
$message .= '
<h2>Order Information</h2>
<table class="table table-bordered table-hover" width="100%" style="border: 1px solid #ddd;border-collapse: collapse;">
<thead class="tableHead">
<tr>
<td class="text-left" colspan="2" style="border-width: 2px;padding:8px; border: 1px solid #ddd;line-height: 1.42857143;">Order Details</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left" style="width: 50%; border: 1px solid #ddd;padding: 8px;line-height: 1.42857143;">
<b>Tracking Code:</b>
'.$invoice.'
<br>
<b>Order ID:</b>
'.$AllorderproductList[0]['order_id'].'
<br>
<b>Date Added:</b>
'.date("d/ m/ Y",strtotime($Oneorder[0]['date_added'])).'</td>
<td class="text-left" style="width: 50%; padding: 8px;line-height: 1.42857143; border: 1px solid #ddd"><b>Payment Method:</b>
'.$Oneorder[0]['payment_method'].'
<br>
<b>Email: </b>'.$Oneorder[0]['email'].'<br>
<b>Telephone: </b>'.$Oneorder[0]['telephone'].'
<br>
<b>Mobile: </b> '.$Oneorder[0]['mobile'].'</td>
</tr>
</tbody>
</table>
<table class="table table-bordered table-hover" width="100%" style="border:1px solid #ddd; border-collapse: collapse;">
<thead>
<tr>
<td class="text-left" style="width: 50%; border: 1px solid #ddd;padding: 8px;line-height: 1.42857143; vertical-align: top; font-weight:bold;">Payment Address</td>
<td class="text-left" style="width: 50%; border: 1px solid #ddd;padding: 8px;line-height: 1.42857143; vertical-align: top; font-weight:bold;">Shipping Address</td>
</tr>
</thead>
<tbody>
<tr>
<td class="text-left" style="border: 1px solid #ddd;padding: 8px;line-height: 1.42857143;">'.$Oneorder[0]['payment_firstname'].'
'.$Oneorder[0]['payment_lastname'].'
<br>
'.$Oneorder[0]['payment_address_1'].'
<br>
'.$Oneorder[0]['payment_address_2'].'
<br>
'.$Oneorder[0]['payment_city'].'
<br>
'.$Oneorder[0]['payment_postcode'].'
<br>
'.$this->commonmod_model->GetStateName($Oneorder[0]['payment_state_id']).'
<br>
'.$this->commonmod_model->GetCountryName($Oneorder[0]['payment_country_id']).'</td>
<td class="text-left" style="border: 1px solid #ddd;padding: 8px;line-height: 1.42857143;">'.$Oneorder[0]['shipping_firstname'].'
'.$Oneorder[0]['shipping_lastname'].'
<br>
'.$Oneorder[0]['shipping_address_1'].'
<br>
'.$Oneorder[0]['shipping_address_2'].'
<br>
'.$Oneorder[0]['shipping_city'].'
<br>
'.$Oneorder[0]['shipping_postcode'].'
<br>
'.$this->commonmod_model->GetStateName($Oneorder[0]['shipping_state_id']).'
<br>
'.$this->commonmod_model->GetCountryName($Oneorder[0]['shipping_country_id']).'</td>
</tr>
</tbody>
</table>';
$message .= ' <table class="table table-bordered table-hover" width="100%" style="border: 1px solid #ddd;border-collapse: collapse;">
<thead>
<tr>
<td class="text-left" style="padding:8px; border:1px solid #ddd; font-weight:bold; line-height: 1.42857143;">Items</td>
<td class="text-left" style="padding:8px; border:1px solid #ddd; font-weight:bold; line-height: 1.42857143;">Loading Port</td>
<td class="text-right" style="padding:8px; border:1px solid #ddd; font-weight:bold; line-height: 1.42857143;">Unloading Port</td>
</tr>
</thead>
<tbody>';
$grand_total = 0; foreach($AllorderproductList as $Allproducts) {
$message .= '<tr>
<td class="text-left" style="padding:8px; border:1px solid #ddd;"> '. $Allproducts['items'].'
</td>
<td class="text-left" style="padding:8px; border:1px solid #ddd;">'.$Allproducts['loading_port'].'</td>
<td class="text-right" style="padding:8px; border:1px solid #ddd;">'.$Allproducts['unloading_port'].'</td>
</tr>';
}
$message .= ' </tbody></table>';
$message .='<p>Thanks <br>
'.WEBSITE_SIGNATURE.'
</p>';
$this->email->message($message);
$this->email->send();
/* Send User Email */
$User_EmailId = $Oneorder[0]['email'];
$config['protocol'] = 'sendmail';
$config['mailpath'] = '/usr/sbin/sendmail';
$config['mailtype'] = 'html';
$config['charset'] = 'iso-8859-1';
$config['wordwrap'] = TRUE;
$this->email->initialize($config);
$this->email->from(FROM_EMAIL, FROM_NAME);
$this->email->to($User_EmailId);
//$this->email->cc(CC_EMAIL_ID);
//$this->email->bcc('them@their-example.com');
$this->email->subject(WEBSITE_EMAIL_TITLE .' New Order: '.$order_id);
$mobileno = $this->commonmod_model->getSystemValue('mobile_number');
$message2 = '<p>Hi '.trim($Oneorder[0]['payment_firstname']).', <br><br>
Tracking Number: '.$trackingno.' <br>
Your order '.$order_id.' <br>
You may Login into your account, and click - My Account in top right corner to check all your order details from time to time.
</p>';
$message2 .='<p>Thanks <br>
'.WEBSITE_SIGNATURE.'
</p>';
$this->email->message($message2);
$this->email->send();
}
}
public function InsertOrderData($insertdata){
$this->db->insert('bh_order',$insertdata);
$insert_id = $this->db->insert_id();
return $insert_id;
}
public function InsertOrderProduct($productdata){
$insert_id = 0;
if($productdata['quantity']!='0' && $productdata['quantity'] > 0){
$this->db->insert('bh_order_product',$productdata);
$insert_id = $this->db->insert_id();
}
return $insert_id;
}
public function InsertOrderHistory($order_id,$order_status_id){
$data = array("order_id"=>$order_id,"order_status_id"=>$order_status_id,"comment"=>'',
"date_added"=>date("Y-m-d h:i:s"));
$this->db->insert('bh_order_history',$data);
$insert_id = $this->db->insert_id();
return $insert_id;
}
public function GetUserAllAddress(){
$this->db->select("*");
$this->db->from('bh_address');
$this->db->where("user_id",$this->session->userdata('bh_front_user_id'));
$this->db->order_by("address_id","desc");
$query=$this->db->get();
$all_address = $query->result_array();
return $all_address;
}
public function GetUserAddress($type){
$this->db->select("*");
$this->db->from('bh_address');
$this->db->where("user_id",$this->session->userdata('bh_front_user_id'));
$this->db->where("address_type",$type);
$this->db->order_by("address_id","desc");
$query=$this->db->get();
$all_address = $query->result_array();
return $all_address;
}
function getCartTotalAmount(){
$grand_total = 0;
$totalamount = 0;
$gst = 0;
if ($cart = $this->cart->contents()){
$grand_total = 0;
$grand_deposite = 0;
$i = 1;
foreach ($cart as $item):
$grand_total = $grand_total + $item['subtotal']+$tax_amount;
$grand_deposite = $grand_deposite + $item['qty']*$item['deposite'];
endforeach;
$totalamount = ($grand_total+$grand_deposite);
}
return $totalamount;
}
public function ReduceProductStock($product_id,$quantity){
if($product_id!=""){
$productdata = $this->listing_model->GetSupportListingByID($product_id);
$new_quantity = $productdata[0]['quantity'] - $quantity;
$quantity_arr = array('quantity'=>$new_quantity);
$this->db->where("id",$product_id);
$this->db->update("bh_support_listings",$quantity_arr);
}
}
}