@recaptime-dev's working patches + fork for Phorge, a community fork of Phabricator. (Upstream dev and stable branches are at upstream/main and upstream/stable respectively.) hq.recaptime.dev/wiki/Phorge
phorge phabricator
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at recaptime-dev/main 96 lines 2.3 kB view raw
1<?php 2 3final class PhabricatorCalendarEventListController 4 extends PhabricatorCalendarController { 5 6 private $viewYear; 7 private $viewMonth; 8 private $viewDay; 9 10 public function shouldAllowPublic() { 11 return true; 12 } 13 14 public function isGlobalDragAndDropUploadEnabled() { 15 return true; 16 } 17 18 public function handleRequest(AphrontRequest $request) { 19 $year = $request->getURIData('year'); 20 $month = $request->getURIData('month'); 21 $day = $request->getURIData('day'); 22 23 $this->viewYear = $year; 24 $this->viewMonth = $month; 25 $this->viewDay = $day; 26 27 $engine = new PhabricatorCalendarEventSearchEngine(); 28 29 if ($month && $year) { 30 $engine->setCalendarYearAndMonthAndDay($year, $month, $day); 31 } 32 33 $nav_items = $this->buildNavigationItems(); 34 35 return $engine 36 ->setNavigationItems($nav_items) 37 ->setController($this) 38 ->buildResponse(); 39 } 40 41 protected function buildApplicationCrumbs() { 42 $crumbs = parent::buildApplicationCrumbs(); 43 44 $viewer = $this->getViewer(); 45 46 $year = $this->viewYear; 47 $month = $this->viewMonth; 48 $day = $this->viewDay; 49 50 $parameters = array(); 51 52 // If the viewer clicks "Create Event" while on a particular day view, 53 // default the times to that day. 54 if ($year && $month && $day) { 55 $datetimes = PhabricatorCalendarEvent::newDefaultEventDateTimes( 56 $viewer, 57 PhabricatorTime::getNow()); 58 59 foreach ($datetimes as $datetime) { 60 $datetime 61 ->setYear($year) 62 ->setMonth($month) 63 ->setDay($day); 64 } 65 66 list($start, $end) = $datetimes; 67 $parameters['start'] = $start->getEpoch(); 68 $parameters['end'] = $end->getEpoch(); 69 } 70 71 id(new PhabricatorCalendarEventEditEngine()) 72 ->setViewer($this->getViewer()) 73 ->addActionToCrumbs($crumbs, $parameters); 74 75 return $crumbs; 76 } 77 78 protected function buildNavigationItems() { 79 $items = array(); 80 81 $items[] = id(new PHUIListItemView()) 82 ->setType(PHUIListItemView::TYPE_LABEL) 83 ->setName(pht('Import/Export')); 84 85 $items[] = id(new PHUIListItemView()) 86 ->setName('Imports') 87 ->setHref('/calendar/import/'); 88 89 $items[] = id(new PHUIListItemView()) 90 ->setName('Exports') 91 ->setHref('/calendar/export/'); 92 93 return $items; 94 } 95 96}