function store() { $error = ""; if (Input::has('places') && Input::has('placeid')) { $placesList = Input::get('places'); $mosqueid = Input::get('placeid'); try { for ($i = count($placesList) - 1; $i >= 0; $i--) { $place = $placesList[$i]; $placeExist = GPlace::where('placeid', $place['placeid'])->first(); if (!$placeExist) { if ($i < count($placesList) - 1) { $place['parent'] = $placesList[$i + 1]['placeid']; $place['importparent'] = $place['parent']; } GPlace::create($place); } } $area = $placesList[0]['placeid']; $place = GPlace::where('placeid', $area)->first(); if ($place) { $mosque = GMosque::where('placeid', $mosqueid)->first(); $mosque->area = $area; $mosque->save(); return Response::json(array('status_code' => 200), 200); } else { $error = "Cannot save mosque because place not saved."; } } catch (\Illuminate\Database\QueryException $e) { $error = $e->getMessage(); } catch (\Exception $e) { $error = $e->getMessage(); } } elseif (Input::has('placesupdate')) { $placesList = Input::get('placesupdate'); try { for ($i = 0; $i < count($placesList); $i++) { $place = $placesList[$i]; $placeExist = GPlace::where('placeid', $place['placeid'])->first(); if ($placeExist) { $placeExist['importparent'] = $place['importparent']; $placeExist['importignore'] = $place['importignore']; $placeExist->save(); } else { throw new \Exception("place not found: " . $place['placeid']); } } return Response::json(array('status_code' => 200), 200); } catch (\Illuminate\Database\QueryException $e) { $error = $e->getMessage(); } catch (\Exception $e) { $error = $e->getMessage(); } } return Response::json(array('status_code' => 500, 'error_message' => $error), 500); }
public function index() { $filters = Input::only('latitude1', 'longitude1', 'latitude2', 'longitude2', 'area'); $validator = Validator::make($filters, ['latitude1' => 'numeric|between:-90,90|required', 'longitude1' => 'numeric|between:-180,180|required', 'latitude2' => 'numeric|between:-90,90|required', 'longitude2' => 'numeric|between:-180,180|required', 'area' => 'boolean']); if ($validator->fails()) { throw new BadRequestException($validator->errors()->first()); } $startLat = min($filters['latitude1'], $filters['latitude2']); $stopLat = max($filters['latitude1'], $filters['latitude2']); $startLng = min($filters['longitude1'], $filters['longitude2']); $stopLng = max($filters['longitude1'], $filters['longitude2']); $gmosquesQuery = GMosque::where([['latitude', '>=', $startLat], ['latitude', '<=', $stopLat], ['longitude', '>=', $startLng], ['longitude', '<=', $stopLng]]); if ($filters['area'] != null) { if ($filters['area']) { $gmosquesQuery->whereNotNull('area'); } else { $gmosquesQuery->whereNull('area'); } } $gmoques = $gmosquesQuery->get(); return Response::json(array("data" => $gmoques, 'status_code' => 200), 200); }