Path: blob/master/src/applications/calendar/controller/PhabricatorCalendarEventListController.php
12256 views
<?php12final class PhabricatorCalendarEventListController3extends PhabricatorCalendarController {45private $viewYear;6private $viewMonth;7private $viewDay;89public function shouldAllowPublic() {10return true;11}1213public function isGlobalDragAndDropUploadEnabled() {14return true;15}1617public function handleRequest(AphrontRequest $request) {18$year = $request->getURIData('year');19$month = $request->getURIData('month');20$day = $request->getURIData('day');2122$this->viewYear = $year;23$this->viewMonth = $month;24$this->viewDay = $day;2526$engine = new PhabricatorCalendarEventSearchEngine();2728if ($month && $year) {29$engine->setCalendarYearAndMonthAndDay($year, $month, $day);30}3132$nav_items = $this->buildNavigationItems();3334return $engine35->setNavigationItems($nav_items)36->setController($this)37->buildResponse();38}3940protected function buildApplicationCrumbs() {41$crumbs = parent::buildApplicationCrumbs();4243$viewer = $this->getViewer();4445$year = $this->viewYear;46$month = $this->viewMonth;47$day = $this->viewDay;4849$parameters = array();5051// If the viewer clicks "Create Event" while on a particular day view,52// default the times to that day.53if ($year && $month && $day) {54$datetimes = PhabricatorCalendarEvent::newDefaultEventDateTimes(55$viewer,56PhabricatorTime::getNow());5758foreach ($datetimes as $datetime) {59$datetime60->setYear($year)61->setMonth($month)62->setDay($day);63}6465list($start, $end) = $datetimes;66$parameters['start'] = $start->getEpoch();67$parameters['end'] = $end->getEpoch();68}6970id(new PhabricatorCalendarEventEditEngine())71->setViewer($this->getViewer())72->addActionToCrumbs($crumbs, $parameters);7374return $crumbs;75}7677protected function buildNavigationItems() {78$items = array();7980$items[] = id(new PHUIListItemView())81->setType(PHUIListItemView::TYPE_LABEL)82->setName(pht('Import/Export'));8384$items[] = id(new PHUIListItemView())85->setName('Imports')86->setHref('/calendar/import/');8788$items[] = id(new PHUIListItemView())89->setName('Exports')90->setHref('/calendar/export/');9192return $items;93}9495}969798