<?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; } }