public function showRestaurantsOrders() { if (!Backend::validateUser()) { return redirect('/'); } $aSession = \Session::all(); $aOrdersList = DB::table('orders')->where(array('id_restaurant' => $aSession['id_user']))->WhereNotIn('status', array('DONE'))->orderBy('date_inserted', 'desc')->get(array('*')); $aTmpOrder = array(); $dTotalPrice = 0; $aOrders = array(); foreach ($aOrdersList as $oOrder) { $aTmpOrder['customer'] = DB::table('users')->where(array('id_user' => $oOrder->id_user))->get(array('first_name', 'last_name', 'user_mobile', 'username', 'email'))[0]; $oOrderDetails = json_decode($oOrder->order_details); $oOrder->order_details = $this->parseOrderDetails($oOrderDetails); $oOrder->status = str_replace('_', ' ', $oOrder->status); $oLocation = json_decode($oOrder->location); if (!empty($oLocation->lat)) { $aTmpOrder['location'] = "http://maps.google.com/maps?q={$oLocation->lat},{$oLocation->long}"; } $aTmpOrder['info'] = $oOrder; $dTotalPrice += $oOrderDetails->total_price; $oOrder->date_inserted = Backend::ago(new \DateTime($oOrder->date_inserted)); $aOrders[] = $aTmpOrder; $aTmpOrder = []; } $data = Backend::LoginData(); $data['isRestaurant'] = true; $data['status'] = array('preparing', 'canceled', 'not approved yet', 'on the way'); return view('pages.orders')->with(array('orders' => $aOrders, 'data' => $data)); }