示例#1
0
 public function getNextEvent()
 {
     $cache = $this->cache->getItem(__METHOD__);
     if (!$cache->isMiss()) {
         return $cache->get();
     }
     $events = $this->client->getEvents(array('group_urlname' => self::GROUP_URLNAME));
     if ($events->isError()) {
         throw new \RuntimeException($events->getMessage());
     }
     $event = $events->getData()[0];
     $cache->set($event, self::FIVE_MINUTES);
     return $event;
 }
 /**
  * {@inheritdoc}
  */
 public function getEvents($url)
 {
     $events = [];
     $groupUrlName = $this->extractGroupNameFromUrl($url);
     if (empty($groupUrlName)) {
         return $events;
     }
     $response = $this->client->getEvents(['group_urlname' => $groupUrlName]);
     foreach ($response->getData() as $event) {
         $date = date('Y-m-d', $event['time'] / 1000);
         $venue = null;
         if (isset($event['venue']) && isset($event['venue']['name']) && isset($event['venue']['city'])) {
             $venue = $event['venue']['name'] . ', ' . $event['venue']['city'];
         }
         $events[] = new Event($event['name'], $date, $event['event_url'], $venue);
     }
     return $events;
 }
示例#3
0
 protected function getEvents($args = ['status' => 'past,upcoming'])
 {
     $eventArgs = array_merge(['group_urlname' => $this->config->groupUrlName], $args);
     return $this->client->getEvents($eventArgs)->getData();
 }