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; }
protected function getEvents($args = ['status' => 'past,upcoming']) { $eventArgs = array_merge(['group_urlname' => $this->config->groupUrlName], $args); return $this->client->getEvents($eventArgs)->getData(); }