Example #1
0
 /** 
  * @access  public
  * @return  Response
  */
 public function post_add()
 {
     if ($venue_id = \Input::post('venue_id')) {
         Package::load('Spider');
         $FoursquareClient = new \Spider\Foursquare\Client();
         $venues = $FoursquareClient->getVenueInfoBatch(array($venue_id), \Input::post('region_id'));
         $venue = isset($venues->response->responses[0]->response->venue) ? $venues->response->responses[0]->response->venue : false;
         if (isset($venue)) {
             $messages = \Collection\Venue::saveVenueJsonToDB($venue);
             $view = \View::forge('venues/add_success.twig', $messages);
             return \Response::forge($view);
         } else {
             return $this->get_add();
         }
     }
 }
Example #2
0
 public function searchForLocations($lat = 40.761821, $lng = -73.974895, $radius = 1000, $query = '', $region_id = false)
 {
     $FoursquareClient = new \Foursquare\Client();
     // get a setting of category IDs
     $categoryId = $this->getVenueCategoryIds($this->active_category);
     if (!$categoryId) {
         return false;
     }
     // get locations surrounding lat/lng geo point.
     $locations = $FoursquareClient->get('searchLocation', $lat . ',' . $lng, $radius, 50, $categoryId, $query);
     if (!isset($locations->response)) {
         return;
     }
     foreach ($locations->response->venues as $key => $venue) {
         $response = \Collection\Venue::saveVenueJsonToDB($venue, $region_id);
         if (!$response) {
             // skip this venue if it already exists
             $this->debugMessage('Venue already exists: ' . $venue->name . ' / ' . $venue->id);
             continue;
         }
         $this->debugMessage($response['log']);
         // create a default "1 scan per hour" entry to the tracking cycle
         // \Collection\Tracking_Cylce::create($response['system_venue_id'], 'hourly');
         $Cycle = new \Model_Tracking_Cycle();
         $Cycle->object_id = $response['system_venue_id'];
         $Cycle->frequency = 'hourly';
         // 2do: manage timezone based tracking
         // $Cycle->TZ = 'ET';
         $Cycle->save();
         // if we didn't get back a stats array, an error occured
         if (!is_array($response['stats'])) {
             $this->CliOutput('error', 'Failure: ' . $response['stats']);
         } else {
             $this->debugMessage('Stats: ' . implode(', ', $response['stats']));
         }
     }
 }