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 checkin($placeId = null) { if (empty($placeId)) { $this->redirect('/'); } $place = $this->api->getPlace(array('placeid' => $placeId)); $placeName = $place->getName(); $url = ApontadorApi::encurtaUrl($place->getPlaceUrl()); $status = "Eu estou em " . $place->getName() . ". " . $url . " #checkin via @sitechegamos"; if (!empty($_POST) && $place instanceof Place) { $location = new Location(); $location->setPoint($place->getPoint()); $location->setAddress($place->getAddress()); $location->save(); $checkinData = array('placeId' => $place->getId(), 'placeName' => $place->getName(), 'term' => $place->getName(), 'lat' => $place->getPoint()->getLat(), 'lng' => $place->getPoint()->getLng()); $checkinData['url'] = isset($_POST['url']) ? $_POST['url'] : $url; $checkinData['status'] = isset($_POST['status']) ? str_replace("\n", " ", $_POST['status']) : $status; $checkinData['providers'] = isset($_POST['providers']) ? $_POST['providers'] : array(); $checkedin = $this->doCheckin($checkinData); if ($checkedin) { $this->redirect('/places/checkins/' . $placeId); } else { $this->redirect($place->getPlaceUrl()); } } $providers = array(); if (OauthController::isLogged('apontador')) { $providers['apontador'] = "Apontador"; } if (OauthController::isLogged('foursquare')) { $providers['foursquare'] = "Foursquare"; } if (OauthController::isLogged('twitter')) { $providers['twitter'] = "Twitter"; } if (OauthController::isLogged('facebook')) { $providers['facebook'] = "Facebook"; } if (OauthController::isLogged('orkut')) { $providers['orkut'] = "Orkut"; } if (count($providers) == 0) { OauthController::verifyLogged('apontador'); } $location = new Location(); $location->load(); $title = 'Check-in em ' . $placeName; return compact('title', 'providers', 'status', 'location'); }