public function overwriteRead($return) { $objs = $return['objs']; foreach ($objs as $obj) { if (isset($obj->id_restaurant)) { if ($obj->id_restaurant == "0") { $obj->id_restaurant = "Nothing Selected"; } else { $r = new MasterRestaurantModel(); $r->getByID($obj->id_restaurant); $obj->id_restaurant = $r->name; } } if (isset($obj->id_dish)) { if ($obj->id_dish == "0") { $obj->id_dish = "Nothing Selected"; } else { $d = new MasterDishModel(); $d->getByID($obj->id_dish); $obj->id_dish = $d->name; } } } return $return; }
public static function isDishValidAndAvailable($idDish) { $dish = new MasterDishModel(); $dish->getByID($idDish); if (Generic::IsNullOrEmptyString($dish->id_dish)) { return false; } if ($dish->status == Keys::$YES) { return $dish->availability == Keys::$YES; } else { return false; } }
public function getCategoriesByResto() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $idRestaurant = Generic::mustCheck($_GET['id_restaurant'], Keys::$ERR_NOT_FOUND_ID_RESTAURANT); $objResto = new MasterRestaurantModel(); $objResto->getByID($idRestaurant); if (!Generic::IsNullOrEmptyString($objResto->id_categories)) { $arrCategories = explode(",", $objResto->id_categories); } else { $arrCategories = array(); } $categories = array(); foreach ($arrCategories as $idCat) { $c = new MasterCategoryModel(); $c->getByID($idCat); if ($c->id_category) { $categories[] = $c->name; } } // pr($arrCategories); // pr($categories); $results['categories'] = $categories; $rawTags = array(); $id_dish = isset($_GET['id_dish']) ? addslashes($_GET['id_dish']) : ""; if ($id_dish) { $dish = new MasterDishModel(); $dish->getByID($id_dish); $tagsIds = explode(",", $dish->dish_tags); if (count($tagsIds) != 0) { foreach ($tagsIds as $tagsId) { if ($tagsId == null || $tagsId == "") { continue; } $dishTag = new MasterDishTagModel(); $dishTag->getByID($tagsId); $b["id_tag"] = $dishTag->id_tag; $b["name"] = $dishTag->name; $rawTags[] = $b; } } } $results['raw_tags'] = $rawTags; Generic::finish($results); }
public function addDishToMyFavorite() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $idUser = Generic::mustCheck($_GET['id_user'], "User ID not Found"); $idDish = Generic::mustCheck($_GET['id_dish'], "Dish ID not Found"); $user = new UserModel(); $user->getByID($idUser); $arrFavDishIds = explode(',', $user->fav_dishes_ids); $alreadyInFavorite = count($arrFavDishIds) <= 0 ? false : in_array($idDish, $arrFavDishIds); if ($alreadyInFavorite) { Generic::errorMsg("Already Favorited"); } if (count($arrFavDishIds) <= 0) { $user->fav_dishes_ids = $idDish; } else { $arrFavDishIds[] = $idDish; $arrFavDishIds = array_unique($arrFavDishIds); $user->fav_dishes_ids = implode(',', $arrFavDishIds); } $dish = new MasterDishModel(); $dish->getByID($idDish); $dish->fav = $dish->fav + 1; $dish->save(); $resto = new MasterRestaurantModel(); $resto->getByID($dish->id_restaurant); $resto->fav = $resto->fav + 1; $resto->save(); $user->save(); $this->success(); }
public static function checkDishinResto($id_dish, $id_restaurant) { $objDish = new MasterDishModel(); $objDish->getByID($id_dish); if ($objDish->id_restaurant == $id_restaurant) { return true; } else { return false; } }
public function addOrderInPendingOrder() { //TODO Sama seperti add order kemarin, tapi quantity cuma bisa set 1 //TODO master apa bukan if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $id_user = isset($_GET['id_user']) ? addslashes($_GET['id_user']) : ""; if (!$id_user) { Generic::errorMsg("Please login!"); } $id_order = isset($_GET['id_order']) ? addslashes($_GET['id_order']) : ""; if (!$id_order) { Generic::errorMsg("ID Order not found!"); } $id_dish = isset($_GET['id_dish']) ? addslashes($_GET['id_dish']) : ""; if (!$id_dish) { Generic::errorMsg("ID Dish not found!"); } $arah = addslashes($_GET['arah']); //plus //minus //ambil order saya, kalau blom ada, dan action plus, maka bikin baru //ambil order saya kalau blom ada dan action minus dan saya master..boleh kurangi, else meldung tidak bisa mengurangi order yang bukan milik anda //kalau master ambil order semua $ada_default_order = 0; $myOrder = ""; $objOrderDetail = new OrderDetailModel(); $arrObj = $objOrderDetail->getWhere("id_user = '******' AND id_order = '{$id_order}' AND id_dish ='{$id_dish}' AND order_now!=1 LIMIT 0,1"); if (count($arrObj) > 0) { $ada_default_order = 1; $myOrder = $arrObj[0]; } $dish = new MasterDishModel(); $dish->getByID($id_dish); $isLeader = Util::isLeader($id_order, $id_user); if ($arah == "plus") { if (!$ada_default_order) { $price = $dish->price; //krn qty = 1 $objOrderDetail = new OrderDetailModel(); $objOrderDetail->id_user = $id_user; $objOrderDetail->id_order = $id_order; $objOrderDetail->id_dish = $id_dish; $objOrderDetail->quantity = 1; $objOrderDetail->price = $price; $objOrderDetail->datetime_order = $this->setCurrentDate(); $objOrderDetail->status = "1"; // $dishname = MasterDish::getDish($id_dish); // $objOrderDetail->quantity = 1; $id = $objOrderDetail->save(); } else { $price = $dish->price * ($myOrder->quantity + 1); $myOrder->quantity++; $myOrder->price = $price; $myOrder->datetime_order = $this->setCurrentDate(); $myOrder->status = "1"; $myOrder->load = 1; $myOrder->save(); $id = $myOrder->id_order_detail; } } if ($arah == "minus") { if ($ada_default_order) { //cek apa default ordernya masi plus if ($myOrder->quantity > 0) { //minus biasa $price = $dish->price * ($myOrder->quantity - 1); $myOrder->quantity--; $myOrder->price = $price; $myOrder->datetime_order = $this->setCurrentDate(); $myOrder->status = "1"; $myOrder->load = 1; $myOrder->save(); $id = $myOrder->id_order_detail; } else { if ($isLeader) { //minus dari anggota yang lain $objOrderDetail = new OrderDetailModel(); $arrObjLain = $objOrderDetail->getWhere("id_order = '{$id_order}' AND id_dish ='{$id_dish}'"); if (count($arrObjLain) > 0) { //bisa dikurangin dari yang lain..lihat qty nya juga $sum = 0; foreach ($arrObjLain as $od) { $sum += $od->quantity; } if ($sum > 0) { foreach ($arrObjLain as $od) { if ($od->quantity > 0) { //minus biasa $price = $dish->price * ($od->quantity - 1); $od->quantity--; $od->price = $price; $od->datetime_order = $this->setCurrentDate(); $od->status = "1"; $od->load = 1; $od->save(); $id = $od->id_order_detail; break; } } } else { //habis ga bisa dikurangi Generic::errorMsg("Not Enough Quantity"); } } else { Generic::errorMsg("Not Enough Quantity"); } } else { //Notify kl jumlah tidak cukup utk dikurangi //habis ga bisa dikurangi Generic::errorMsg("Not Enough Quantity"); } } } else { //minus dr anggota yang lain if ($isLeader) { //minus dari anggota yang lain $objOrderDetail = new OrderDetailModel(); $arrObjLain = $objOrderDetail->getWhere("id_order = '{$id_order}' AND id_dish ='{$id_dish}'"); if (count($arrObjLain) > 0) { //bisa dikurangin dari yang lain..lihat qty nya juga $sum = 0; foreach ($arrObjLain as $od) { $sum += $od->quantity; } if ($sum > 0) { foreach ($arrObjLain as $od) { if ($od->quantity > 0) { //minus biasa $price = $dish->price * ($od->quantity - 1); $od->quantity--; $od->price = $price; $od->datetime_order = $this->setCurrentDate(); $od->status = "1"; $od->load = 1; $od->save(); $id = $od->id_order_detail; break; } } } else { //habis ga bisa dikurangi Generic::errorMsg("Not Enough Quantity"); } } else { Generic::errorMsg("Not Enough Quantity"); } } else { //Notify kl jumlah tidak cukup utk dikurangi Generic::errorMsg("Not Enough Quantity"); } } } if ($arah == "") { Generic::errorMsg("Please insert arah"); } // getcurrent qty dr iddish // $currQuantity = OrderDetail::getQuantityUserByID_dish($id_dish, $id_order, $id_user); // $id = $this->addOrderDetails($id_order, $id_user, $id_dish, $currQuantity + 1); if (!$id) { Generic::errorMsg("Add order failed!"); } $objOrder = new MasterOrderModel(); $objOrder->getByID($id_order); $invoice = $this->calcRechnung($objOrder->id_restaurant, $id_order); $inv = new Invoice($id_order, true); $this->setInvoiceInOrder($objOrder, $invoice); $objOrder->datetime_order = $this->setCurrentDate(); // $objOrder->total_cost = $invoice['Total']; $objOrder->load = 1; $id_updateOrder = $objOrder->save(); if (!$id_updateOrder) { Generic::errorMsg("Update Order failed!"); } $json = array(); $json['status_code'] = 1; $json['results']['messages'] = "Success"; $orderDetails = Util::getAllOrderDetailsByIDOrder($id_order); $orderDetailByDishID = array(); // pr($orderDetails); $total = array(); foreach ($orderDetails as $det) { if ($det['status_progress'] != 9) { // echo "dis ID ".$det['id_dish']." | ".$total[$det['id_dish']]['quantity']." add ".$det['quantity']."<br>"; $total[$det['id_dish']]['quantity'] += $det['quantity']; } $string_name = rtrim(trim(preg_replace('/\\s\\s+/', ' ', $det['name']))); $dish = new MasterDishModel(); $dish->getByID($det['id_dish']); $total[$det['id_dish']]['id_dish'] = $det['id_dish']; $total[$det['id_dish']]['name'] = $string_name; $total[$det['id_dish']]['single_price'] = (double) $dish->price; $orderDetailByDishID[$det['id_dish']][] = $det; } $hasilnya = array(); $all_total = 0; foreach ($total as $key => $val) { $sem = array(); $val['price_subtotal'] = $val['quantity'] * $val['single_price']; $all_total += $val['price_subtotal']; $sem = $val; $sem["orders"] = array(); //kelompokan menurut status progess foreach ($orderDetailByDishID[$key] as $orderDetail) { $userInstance = Util::createUserInstance($orderDetail["id_user"], $orderDetail["note"], $orderDetail["id_order_detail"]); $orderDetail['user'] = $userInstance; if ($orderDetail['order_now'] == 0) { $sem['orders']['Pending'][] = $orderDetail; } else { $sem['orders'][Helper::getStatusProgress()[$orderDetail['status_progress']]][] = $orderDetail; } } $hasilnya[] = $sem; } $json['results']['hasil'] = $hasilnya; $json['results']['alltotal'] = $all_total; $json['results']['invoice'] = $inv->getInvoice(); $ids = $this->getUserIdByIDOrder($id_order, $id_user); // $json['results']['push'] = $this->notifyAddOrder($ids, $id_order); $json['results']['push'] = Util::pushNotifyAddOrder($id_order, $id_user, $id_dish); echo json_encode($json); // $json['APA'] = ""; // $json2 =$this->notifyAddOrder($ids, $id_order); // $json3 = array_merge($json, $json2); // echo json_encode($json3) ; die; }
public function reinitiateCategories() { $idRestaurant = Generic::mustCheck($_GET['id_restaurant'], "BOOO!"); $catIdDefault = $this->createCategories("OTHERS"); $md = new MasterDishModel(); if ($idRestaurant == "all") { $arrDishes = $md->getAll(); } else { $arrDishes = $md->getWhere("id_restaurant='{$idRestaurant}'"); } echo "<h1>Default cat id : {$catIdDefault}</h1>"; foreach ($arrDishes as $d) { $dish = new MasterDishModel(); $dish->getByID($d->id_dish); echo "<h2>{$dish->id_dish} - {$dish->name}</h2>"; echo "<h3>From {$dish->id_category}"; if (Generic::IsNullOrEmptyString($dish->id_category)) { echo "changed to"; $dish->id_category = $catIdDefault; $dish->save(); } else { if (!$this->isCategoryIdValid($dish->id_category)) { echo "changed to"; $dish->id_category = $catIdDefault; $dish->save(); } else { echo "stay at"; } } echo " {$dish->id_category}</h3>"; $resto = new MasterRestaurantModel(); $resto->getByID($dish->id_restaurant); echo "<h2>{$resto->id_restaurant} - {$resto->name}</h2>"; echo "<h3>From {$resto->id_categories}"; if (Generic::IsNullOrEmptyString($resto->id_categories)) { $resto->id_categories = $catIdDefault; $resto->save(); } else { $arrCats = explode(',', $resto->id_categories); $arrCats[] = $dish->id_category; $arrCats = array_unique($arrCats); $resto->id_categories = implode(',', $arrCats); $resto->save(); } echo " To {$resto->id_categories}</h3>"; } }