public function near() { $location = new Location(); $location->load(); $lat = $location->getPoint()->getLat(); $lng = $location->getPoint()->getLng(); if (!empty($lat) and !empty($lng)) { $dealsList = $this->api->searchDeals(array('lat' => $lat, 'lng' => $lng)); } else { $this->redirect('/places/checkin'); } $title = "Ofertas por perto"; return compact('title', 'location', 'page', 'dealsList'); }
public function location() { $hideWhereAmI = true; $location = new Location(); $location->load(); if (!empty($_GET)) { $location = new Location(); if (!empty($_GET['lat']) and !empty($_GET['lng'])) { $location->getPoint()->setLat($_GET['lat']); $location->getPoint()->setLng($_GET['lng']); $location->save(); } elseif (!empty($_GET['cep'])) { $address = new Address(); $address->setZipcode($_GET['cep']); $geocode = $this->api->geocode($address); if (!empty($geocode)) { $location->getPoint()->setLat($geocode->getLat()); $location->getPoint()->setLng($geocode->getLng()); $revgeocode = $this->api->revgeocode($geocode->getLat(), $geocode->getLng()); $location->setAddress($revgeocode); $location->save(); } else { $this->redirect("profile/location"); } } elseif (!empty($_GET['cityState'])) { if (!strstr($_GET['cityState'], ',')) { $this->redirect("profile/location"); } $cityStateToUpper = strtoupper($_GET['cityState']); list($cityField, $stateField) = \explode(',', $cityStateToUpper); $city = new City(); $city->setName(trim($cityField)); $city->setState(trim($stateField)); $address = new Address(); $address->setCity(new City($city)); $geocode = $this->api->geocode($address); if (!empty($geocode)) { $location->getPoint()->setLat($geocode->getLat()); $location->getPoint()->setLng($geocode->getLng()); $location->getAddress()->setCity($city); $location->save(); } else { $this->redirect("profile/location"); } } $this->redirect("/"); } $title = 'Onde estou'; return compact('title', 'geocode', 'hideWhereAmI', 'location'); }
public function category($categoryId, $page = 'page1') { $location = new Location(); $location->load(); $lat = $location->getPoint()->getLat(); $lng = $location->getPoint()->getLng(); $page = str_replace('page', '', $page); if (empty($categoryId)) { $this->redirect('/places/categories'); } $category = $this->api->getSubcategories(array('categoryid' => $categoryId)); $categoryName = $category->category->name; if (!empty($lat) and !empty($lng)) { $placeList = $this->api->searchRecursive(array('category_id' => $categoryId, 'lat' => $lat, 'lng' => $lng, 'page' => $page), 'searchByPoint'); } else { $this->redirect('/places/checkin'); } $title = $categoryName; return compact('title', 'location', 'page', 'categoryId', 'categoryName', 'placeList'); }