Esempio n. 1
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');
 }