public function buildEvents(Application $app) { global $CONFIG; $repo = new SiteRepository(); $site = $repo->loadById($this->site_id); $start = \TimeSource::getDateTime(); $end = \TimeSource::getDateTime(); $end->add(new \DateInterval("P" . ($this->days_into_future + 1) . "D")); $calendar = new \RenderCalendar(); $calendar->setStartAndEnd($start, $end); $calendar->getEventRepositoryBuilder()->setSite($site); $calendar->getEventRepositoryBuilder()->setIncludeDeleted(true); $calData = $calendar->getData(); $this->events = $calendar->getEvents(); $this->event_text = $app['twig']->render('email/sendemail.eventview.calendar.txt.twig', array('data' => $calData, 'currentSite' => $site)); if ($CONFIG->isDebug) { file_put_contents('/tmp/sendemail.eventview.calendar.txt', $this->event_text); } $this->event_html = $app['twig']->render('email/sendemail.eventview.calendar.html.twig', array('data' => $calData, 'currentSite' => $site)); if ($CONFIG->isDebug) { file_put_contents('/tmp/sendemail.eventview.calendar.html', $this->event_html); } }
} $calendar->setStartAndEnd($start, $end); // ######################################################### Filters? $area = null; if ($thisconfig->hasValue('AreaID')) { $repo = new repositories\AreaRepository(); $area = $repo->loadById($thisconfig->get('AreaID')); if ($area) { $calendar->getEventRepositoryBuilder()->setArea($area); } else { die("Area not loaded!\n"); } } // ######################################################### Get Data $calendar->getEventRepositoryBuilder()->setIncludeAreaInformation(true); $calData = $calendar->getData(); $childAreas = array(); if ($thisconfig->getBoolean('ListChildAreas', false)) { $areaRepoBuilder = new \repositories\builders\AreaRepositoryBuilder(); $areaRepoBuilder->setSite($site); $areaRepoBuilder->setIncludeDeleted(false); if ($area) { $areaRepoBuilder->setParentArea($area); } else { $areaRepoBuilder->setNoParentArea(true); } $childAreas = array(); $areaRepository = new AreaRepository(); foreach ($areaRepoBuilder->fetchAll() as $area) { $areaRepository->updateFutureEventsCache($area); if ($thisconfig->getBoolean('ListChildAreasWithNoEvents', false) || $area->getCachedFutureEvents() > 0) {