public function recommendationRestoWS() { if (Efiwebsetting::getData('checkOAuth') == 'yes') { IMBAuth::checkOAuth(); } $lat = isset($_GET['latitude']) ? addslashes($_GET['latitude']) : ""; if ($lat == "" or !$lat) { $lat = MenuRevoConstants::$latitude; } if (!Generic::checkLatitude($lat)) { Generic::errorMsg("Latitude must be Numeric!"); } $long = isset($_GET['longitude']) ? addslashes($_GET['longitude']) : ""; if ($long == "" or !$long) { $long = MenuRevoConstants::$longitude; } if (!Generic::checklongitude($long)) { Generic::errorMsg("Longitude must be Numeric!"); } $distance = isset($_GET['distance']) ? addslashes($_GET['distance']) : 20; if ($distance == '') { $distance = 20; } $page = addslashes($_GET['page']); if ($page == "" || $page < 1) { $json['status_code'] = 0; $json['status_message'] = "No Page Found"; echo json_encode($json); die; } $limit = addslashes($_GET['limit']); if ($limit == "" || $limit < 1) { $json['status_code'] = 0; $json['status_message'] = "Limit Error"; echo json_encode($json); die; } $begin = ($page - 1) * $limit; $json = array(); $json['status_code'] = 1; global $db; $objRecommendation = new RecommendationModel(); $objRestaurant = new MasterRestaurantModel(); $qdish = "SELECT recom.*, SQRT(POW(69.1 * (resto.latitude - {$lat}), 2) + POW(69.1 * ({$long} - resto.longitude) * COS(resto.latitude / 57.3), 2)) AS distance FROM {$objRecommendation->table_name} recom LEFT JOIN {$objRestaurant->table_name} resto ON resto.id_restaurant= recom.id_restaurant AND DATE(recom.end) >= DATE(NOW()) AND DATE(recom.start)<= DATE(NOW())HAVING distance < {$distance} ORDER BY distance LIMIT {$begin},{$limit}"; $arrRecom = $db->query($qdish, 2); // if (count($arrRecom) == 0) { // $json['status_code'] = 0; // $json['status_message'] = "No ID Found"; // echo json_encode($json); // die(); // } $json['results']['restaurant'] = array(); foreach ($arrRecom as $recom) { $resto = Generic::getRestaurant($recom->id_restaurant); $resto['distance'] = $recom->distance; $json['results']['restaurant'][] = $resto; } echo json_encode($json); die; }