function calendar($year, $month, Application $app) { $cal = new \RenderCalendar(); $cal->getEventRepositoryBuilder()->setSite($app['currentSite']); $cal->getEventRepositoryBuilder()->setIncludeDeleted(false); if ($app['currentUser']) { $cal->getEventRepositoryBuilder()->setUserAccount($app['currentUser'], true); } $cal->byMonth($year, $month, true); list($prevYear, $prevMonth, $nextYear, $nextMonth) = $cal->getPrevNextLinksByMonth(); return $app['twig']->render('/site/calendarPage.html.twig', array('calendar' => $cal, 'prevYear' => $prevYear, 'prevMonth' => $prevMonth, 'nextYear' => $nextYear, 'nextMonth' => $nextMonth, 'pageTitle' => 'Calendar', 'showCurrentUserOptions' => true)); }
/** * @dataProvider dataForTestByDate */ function testByDate($inYear, $inMonth, $inDay, $days, $expand, $startYear, $startMonth, $startDate, $endYear, $endMonth, $endDate, $outYear, $outMonth) { \TimeSource::mock($inYear, $inMonth, $inDay, 1, 2, 3); $cal = new RenderCalendar(); $inDate = new \DateTime(); $inDate->setDate($inYear, $inMonth, $inDay); $cal->byDate($inDate, $days, $expand); $start = $cal->getStart(); $this->assertEquals($startYear, intval($start->format("Y"))); $this->assertEquals($startMonth, intval($start->format("n"))); $this->assertEquals($startDate, intval($start->format("j"))); $end = $cal->getEnd(); $this->assertEquals($endYear, intval($end->format("Y"))); $this->assertEquals($endMonth, intval($end->format("n"))); $this->assertEquals($endDate, intval($end->format("j"))); $this->assertEquals($outYear, $cal->getYear()); $this->assertEquals($outMonth, $cal->getMonth()); }
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); } }
} else { $configDataDir = getcwd() . '/' . dirname($argv[1]); } $thisconfig = new IniConfigWithEnvironment($environment, $argv[1]); foreach (array('SiteID', 'Subject', 'FromEmail', 'FromName', 'TimeZone', 'IntroTXTFile', 'IntroHTMLFile') as $key) { if (!$thisconfig->hasValue($key)) { die("NO CONFIG " . $key . " ?\n"); } } // ######################################################### Load site, build query $siteRepository = new SiteRepository(); $site = $siteRepository->loadById($thisconfig->get('SiteID')); if (!$site) { die("NO SITE?\n"); } $calendar = new \RenderCalendar(); $calendar->getEventRepositoryBuilder()->setSite($site); $calendar->getEventRepositoryBuilder()->setIncludeDeleted(false); // ######################################################### Set Start and End $start = \TimeSource::getDateTime(); $start->setTime(0, 0, 0); $end = \TimeSource::getDateTime(); $end->setTime(0, 0, 0); if ($thisconfig->hasValue("Month") && $thisconfig->hasValue("Year")) { // Options for setting end; by a set month and year if ($thisconfig->get('Month') == 12) { $end->setDate($thisconfig->get('Year') + 1, 1, 1); } else { $end->setDate($thisconfig->get('Year'), $thisconfig->get('Month') + 1, 1); } $end->sub(new \DateInterval('PT1S'));
return $file; } } } ?> <div class="editmainpage"> <h1><? echo $title; ?> for <? echo $assoc_title; ?></h1> <form enctype="multipart/form-data" action="" method="post"> <fieldset style="margin: 5px 30px 20px 30px; width: auto;"> <div class="month-calendar"> <?php // find all EventAssociations for this assoc_id/type $range = Calendar::range($date_ts, 'month'); $assoc_ids = EventAssociation::find_for_target_and_delta($assoc_type, $assoc_id, $range['start'], $range['end']); $assocs = EventAssociation::load_in_list($assoc_ids); $cal = new RenderCalendar(); // clean up the _GET a little unset($_GET['date']); unset($_GET['display_event']); unset($_GET['cid']); switch (@$_GET['dmode']) { case 'calendar': case 'list': $cal->display_mode = $_GET['dmode']; break; default: $cal->display_mode = 'calendar'; } $cal->calendar_url = PA::$url . "/{$assoc_type}" . "_calendar.php"; $cal->calendar_url .= "?" . http_build_query($_GET); $cal->self_url = $cal->calendar_url;
function calendar($year, $month, Application $app) { $cal = new \RenderCalendar(); $params = new EventFilterParams($cal->getEventRepositoryBuilder()); $params->setHasDateControls(false); $params->setSpecifiedUserControls(true, $app['currentUser'], true); $params->set($_GET); $cal->byMonth($year, $month, true); list($prevYear, $prevMonth, $nextYear, $nextMonth) = $cal->getPrevNextLinksByMonth(); return $app['twig']->render('/index/currentuser/calendar.html.twig', array('calendar' => $cal, 'eventListFilterParams' => $params, 'prevYear' => $prevYear, 'prevMonth' => $prevMonth, 'nextYear' => $nextYear, 'nextMonth' => $nextMonth, 'showCurrentUserOptions' => true)); }