Example #1
0
 public function getVenue()
 {
     if (is_null($this->getEventInfo())) {
         return $this->getEventInfo()->getVenue();
     }
     return $this->eventService->getVenueById($this->get('venue'));
 }
Example #2
0
 public function dispatch($request, $response, $args)
 {
     $event = $this->eventService->getLatestEvent();
     $filter = $this->contentService->getTwigFilter();
     $this->view->getEnvironment()->addFilter($filter);
     $previousEvents = $this->eventService->getPastEvents();
     $resWithETag = $this->cache->withETag($response, $event->getMeetupID());
     $this->view->render($response, 'home.twig', ['event' => $event, 'previousEvents' => $previousEvents]);
     return $resWithETag;
 }
Example #3
0
 public function eventByYearMonth(Request $request, Response $response, $args)
 {
     $year = intval($args["year"]);
     $month = intval($args["month"]);
     $eventMeta = $this->eventManager->getByYearMonth($year, $month);
     $event = $this->eventService->getEventById($eventMeta[0]['meetup_id']);
     $resWithETag = $this->cache->withETag($response, $eventMeta[0]['meetup_id']);
     $previousEvents = $this->eventService->getPastEvents();
     $this->view->render($response, 'event.twig', ['event' => $event, 'eventMeta' => $eventMeta[0], 'previousEvents' => $previousEvents]);
     return $resWithETag;
 }
Example #4
0
 public function dispatch(Request $request, Response $response, $args)
 {
     $meetupID = $request->getAttribute('meetup_id', false);
     if (!$meetupID) {
         $eventDetails['errors'][] = 'A meetup ID needs to be provided.';
     } else {
         $eventDetails = ['meetup_event' => $this->eventService->getEventById($meetupID), 'event_info' => $this->eventService->getEventInfo($meetupID)];
     }
     $eventDetails['errors'] = $this->flash->getMessage('event') ?? [];
     $this->view->render($response, 'admin/event-info.twig', $eventDetails);
     return $response;
 }
Example #5
0
 public function dispatch(Request $request, Response $response, $args)
 {
     $meetupID = $request->getAttribute('meetup_id', null);
     $eventInfo = $this->eventService->getInfoByMeetupID($meetupID);
     if ($eventInfo->eventExists()) {
         $this->flash->addMessage('event', 'Event already exists. Check its status.');
         return $response->withStatus(302)->withHeader('Location', 'event-details/' . $meetupID);
     }
     if (!$eventInfo->isRegistered() && !is_null($meetupID)) {
         $this->flash->addMessage('event', 'No event found for meetupID provided. Please create a new event.');
         return $response->withStatus(302)->withHeader('Location', 'create-event');
     }
     $form = new CreateEventForm($this->eventManager, $this->eventService);
     if ($eventInfo->isRegistered()) {
         $form->setEventInfo($eventInfo);
     }
     $data = ['form' => $form, 'errors' => $this->flash->getMessage('event') ?? [], 'defaultTime' => $this->eventsConfig->defaultStartTime];
     if ($request->isPost()) {
         $form->populate($request->getParams());
         if (!$form->isValid()) {
             // return response
             $data['errors'] = $form->getErrors();
             $data = array_merge($data, $this->getCsrfValues($request));
             $response->withStatus(304);
             $this->view->render($response, 'admin/create-event.twig', $data);
             return $response;
         }
         try {
             $event = EventFactory::getEvent($form->getTalkTitle(), $form->getTalkDescription(), $form->getEventDate(), $form->getSpeaker(), $form->getVenue(), $form->getSupporter(), $this->eventsConfig->title, $this->eventsConfig->description);
             $createEventInfo = $this->eventService->createMainEvents($event, $this->auth->getUserId(), $meetupID);
             if (!is_null($createEventInfo['joindin_message'])) {
                 $this->flash->addMessage('event', $createEventInfo['joindin_message']);
             }
             return $response->withStatus(302)->withHeader('Location', 'event-details?meetup_id=' . $createEventInfo['meetup_id']);
         } catch (\Exception $e) {
             $this->logger->debug($e->getMessage());
             $this->logger->debug(print_r($data['errors'], true));
             $data['errors'] = array_merge($data['errors'], [$e->getMessage()]);
         }
     }
     $data = array_merge($data, $this->getCsrfValues($request));
     $this->view->render($response, 'admin/create-event.twig', $data);
     return $response;
 }
Example #6
0
 public function dispatch(Request $request, Response $response, $args)
 {
     // ONLY WHEN CALLED THROUGH CLI
     if (PHP_SAPI !== 'cli') {
         return $response->withStatus(404)->withHeader('Location', '/404');
     }
     if (!$request->getParam('event')) {
         return $response->withStatus(404)->withHeader('Location', '/404');
     }
     // Default UserID for the required auth token
     $userID = 1;
     // Create talks for approved events
     try {
         $result = $this->eventsService->manageApprovedEvents($userID);
         $this->logger->info(__CLASS__ . ' :: ' . $result);
         echo $result;
         echo PHP_EOL;
     } catch (\Exception $e) {
         echo __CLASS__ . ' :: ERROR :: ' . $e->getMessage() . PHP_EOL;
         $this->logger->alert(__CLASS__ . ' :: ' . $e->getMessage());
     }
     exit;
 }
Example #7
0
 public function testCanCreateAJoindinEvent()
 {
     $eventDefaults = $this->settings['settings']['events'];
     $event = $this->getEvent();
     $this->service->createEvent($event);
     $this->service->getMeetupEvent()->setEventLocation('https://api.meetup.com/2/event/226158970/');
     $this->service->createJoindinEvent($eventDefaults['title'], $eventDefaults['description']);
     $this->service->createJoindinTalk();
     $eventEntity = $this->service->updateEvents();
 }
 public function dispatch($request, $response, $args)
 {
     $events = $this->eventService->getAll();
     $this->view->render($response, 'admin/dashboard.twig', ['events' => $events]);
     return $response;
 }