Example #1
0
 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');
 }