<?php
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
protected $table = 'sys_orders';
public static function fromCart()
{
global $config;
$datetime = date("Y-m-d H:i:s");
$today = date('Y-m-d');
$discount_type = 'f';
$discount_value = '0.00';
$actual_discount = '0.00';
$taxval = '0.00';
$taxname = '';
$taxrate = '0.00';
$notes = '';
$invoicenum = '';
$r = '0';
$nd = $today;
$cn = '';
$currency = 0;
$currency_symbol = $config['currency_code'];
$currency_rate = 1.0;
if (isset($_COOKIE['ib_cart_secret'])) {
$secret = $_COOKIE['ib_cart_secret'];
$cart = ORM::for_table('sys_cart')
->where('secret', $secret)
->first();
if ($cart) {
$u = ORM::for_table('crm_accounts')->find($cart->cid);
$cid = $cart->cid;
if (!$u) {
return false;
}
$fTotal = $cart->total;
$status = 'Pending';
$amount = $fTotal;
$order_number = _raid(10);
$order = ORM::for_table('sys_orders')->create();
$order->stitle = '';
$order->pid = 0;
$order->cid = $cid;
$order->cname = $u->account;
$order->date_added = $today;
$order->amount = $amount;
$order->ordernum = $order_number;
$order->status = $status;
$order->billing_cycle = 'One Time';
$order->iid = 0;
$order->save();
$order_id = $order->id();
$current_items = $cart->items;
$current_items_d = json_decode($current_items, true);
foreach ($current_items_d as $e_i) {
$order_item = new OrderItem();
$order_item->customer_id = $u->id;
$order_item->order_id = $order_id;
$order_item->item_name = $e_i['name'];
$order_item->quantity = $e_i['qty'];
$order_item->unit_price = $e_i['price'];
$order_item->total = $e_i['price'] * $e_i['qty'];
$order_item->save();
}
$cart->delete();
return [
'id' => $order_id,
'order_number' => $order_number,
];
}
}
return false;
}
}