Beispiel #1
0
 /**
  * get all events apart form last one in array
  * @return array
  */
 public function getPastEvents($savedEvents = null)
 {
     $pastEvents = [];
     $events = $this->getEvents(['status' => 'past']);
     foreach ($events as $event) {
         if (!is_null($savedEvents)) {
             if (isset($savedEvents[$event['id']])) {
                 $pastEvents[] = EventFactory::getMergedFromArrays($this->meetupEvent->formatResponse($event), $savedEvents[$event['id']]);
             } else {
                 $pastEvents[] = EventFactory::getMergedFromArrays($this->meetupEvent->formatResponse($event), null);
             }
         } else {
             $pastEvents[] = EventFactory::getMergedFromArrays($this->meetupEvent->formatResponse($event), null);
         }
     }
     return $pastEvents;
 }
Beispiel #2
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;
 }
Beispiel #3
0
 /**
  * @return \PHPMinds\Model\Event\EventModel
  */
 public function getAll()
 {
     $events = $this->meetupService->getAll();
     $eventDetails = $this->eventManager->getAllEventDetails();
     $result = [];
     foreach ($events as $event) {
         if (isset($eventDetails[$event['id']])) {
             $result[] = EventFactory::getMergedFromArrays($event, $eventDetails[$event['id']]);
         } else {
             $result[] = EventFactory::getMergedFromArrays($event, null);
         }
     }
     return $result;
 }