示例#1
0
 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');
 }
示例#2
0
 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');
 }
示例#3
0
 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');
 }