public function build()
 {
     foreach ($this->eventRepositoryBuilder->fetchAll() as $event) {
         $eventMedias = null;
         if ($this->includeEventMedias) {
             $mrb = new MediaRepositoryBuilder();
             $mrb->setEvent($event);
             $mrb->setIncludeDeleted(false);
             $eventMedias = $mrb->fetchAll();
         }
         $this->addEvent($event, null, $event->getVenue(), $event->getArea(), $event->getCountry(), $eventMedias);
     }
 }
 function jsonp($slug, Request $request, Application $app)
 {
     if (!$this->build($slug, $request, $app)) {
         $app->abort(404, "Event does not exist.");
     }
     $eventMedias = array();
     $ourRequest = new \Request($request);
     if ($ourRequest->getGetOrPostBoolean("includeMedias", false)) {
         $mrb = new MediaRepositoryBuilder();
         $mrb->setEvent($this->parameters['event']);
         $mrb->setIncludeDeleted(false);
         $eventMedias = $mrb->fetchAll();
     }
     $jsonp = new EventListJSONPBuilder($app['currentSite'], $app['currentTimeZone']);
     $jsonp->addEvent($this->parameters['event'], $this->parameters['groups'], $this->parameters['venue'], $this->parameters['area'], $this->parameters['country'], $eventMedias);
     if (isset($_GET['callback'])) {
         $jsonp->setCallBackFunction($_GET['callback']);
     }
     return $jsonp->getResponse();
 }
 function editMedia($slug, Request $request, Application $app)
 {
     if (!$this->build($slug, $request, $app)) {
         $app->abort(404, "Event does not exist.");
     }
     if ($app['currentUserPermissions']->hasPermission("org.openacalendar", "CALENDAR_CHANGE")) {
         $form = $app['form.factory']->create(new UploadNewMediaForm($this->parameters['event']->getSummaryDisplay()));
         if ('POST' == $request->getMethod()) {
             $form->bind($request);
             if ($form->isValid() && $form['media']->getData()) {
                 $mediaRepository = new MediaRepository();
                 $media = $mediaRepository->createFromFile($form['media']->getData(), $app['currentSite'], $app['currentUser'], $form['title']->getData(), $form['source_text']->getData(), $form['source_url']->getData());
                 if ($media) {
                     $mediaInEventRepo = new MediaInEventRepository();
                     $mediaInEventRepo->add($media, $this->parameters['event'], $app['currentUser']);
                     $app['flashmessages']->addMessage('Picture added!');
                     return $app->redirect("/event/" . $this->parameters['event']->getSlugForURL());
                 }
             }
         }
         $this->parameters['uploadNewMediaForm'] = $form->createView();
     }
     $mrb = new MediaRepositoryBuilder();
     $mrb->setIncludeDeleted(false);
     $mrb->setSite($app['currentSite']);
     $mrb->setEvent($this->parameters['event']);
     $this->parameters['medias'] = $mrb->fetchAll();
     return $app['twig']->render('site/event/edit.media.html.twig', $this->parameters);
 }