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'); }