Differential D13398 Diff 32440 src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/query/PhabricatorCalendarEventSearchEngine.php
Show First 20 Lines • Show All 258 Lines • ▼ Show 20 Lines | if ($this->isMonthView($query)) { | ||||
return $this->buildCalendarDayView($events, $query, $handles); | return $this->buildCalendarDayView($events, $query, $handles); | ||||
} | } | ||||
assert_instances_of($events, 'PhabricatorCalendarEvent'); | assert_instances_of($events, 'PhabricatorCalendarEvent'); | ||||
$viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
$list = new PHUIObjectItemListView(); | $list = new PHUIObjectItemListView(); | ||||
foreach ($events as $event) { | foreach ($events as $event) { | ||||
$from = phabricator_datetime($event->getDateFrom(), $viewer); | |||||
$duration = ''; | $duration = ''; | ||||
$event_date_info = $this->getEventDateLabel($event); | |||||
$creator_handle = $handles[$event->getUserPHID()]; | $creator_handle = $handles[$event->getUserPHID()]; | ||||
$attendees = array(); | $attendees = array(); | ||||
foreach ($event->getInvitees() as $invitee) { | foreach ($event->getInvitees() as $invitee) { | ||||
$attendees[] = $invitee->getInviteePHID(); | $attendees[] = $invitee->getInviteePHID(); | ||||
} | } | ||||
$attendees = pht( | $attendees = pht( | ||||
'Attending: %s', | 'Attending: %s', | ||||
$viewer->renderHandleList($attendees) | $viewer->renderHandleList($attendees) | ||||
->setAsInline(1) | ->setAsInline(1) | ||||
->render()); | ->render()); | ||||
if (strlen($event->getDuration()) > 0) { | if (strlen($event->getDuration()) > 0) { | ||||
$duration = pht( | $duration = pht( | ||||
'Duration: %s', | 'Duration: %s', | ||||
$event->getDuration()); | $event->getDuration()); | ||||
} | } | ||||
$item = id(new PHUIObjectItemView()) | $item = id(new PHUIObjectItemView()) | ||||
->setHeader($viewer->renderHandle($event->getPHID())->render()) | ->setHeader($viewer->renderHandle($event->getPHID())->render()) | ||||
->addAttribute($event_date_info) | |||||
->addAttribute($attendees) | ->addAttribute($attendees) | ||||
->addIcon('none', $from) | |||||
->addIcon('none', $duration); | ->addIcon('none', $duration); | ||||
$list->addItem($item); | $list->addItem($item); | ||||
} | } | ||||
return $list; | return $list; | ||||
} | } | ||||
▲ Show 20 Lines • Show All 204 Lines • ▼ Show 20 Lines | if ($query->getParameter('display') == 'day') { | ||||
return true; | return true; | ||||
} | } | ||||
if ($this->calendarDay) { | if ($this->calendarDay) { | ||||
return true; | return true; | ||||
} | } | ||||
return false; | return false; | ||||
} | } | ||||
private function getEventDateLabel($event) { | |||||
$viewer = $this->requireViewer(); | |||||
$from_datetime = PhabricatorTime::getDateTimeFromEpoch( | |||||
$event->getDateFrom(), | |||||
$viewer); | |||||
$to_datetime = PhabricatorTime::getDateTimeFromEpoch( | |||||
$event->getDateTo(), | |||||
$viewer); | |||||
$from_date_formatted = $from_datetime->format('Y m d'); | |||||
$to_date_formatted = $to_datetime->format('Y m d'); | |||||
if ($event->getIsAllDay()) { | |||||
if ($from_date_formatted == $to_date_formatted) { | |||||
return pht( | |||||
'%s, All Day', | |||||
phabricator_date($event->getDateFrom(), $viewer)); | |||||
} else { | |||||
return pht( | |||||
'%s - %s, All Day', | |||||
phabricator_date($event->getDateFrom(), $viewer), | |||||
phabricator_date($event->getDateTo(), $viewer)); | |||||
} | |||||
} else if ($from_date_formatted == $to_date_formatted) { | |||||
return pht( | |||||
'%s - %s', | |||||
phabricator_datetime($event->getDateFrom(), $viewer), | |||||
phabricator_time($event->getDateTo(), $viewer)); | |||||
} else { | |||||
return pht( | |||||
'%s - %s', | |||||
phabricator_datetime($event->getDateFrom(), $viewer), | |||||
phabricator_datetime($event->getDateTo(), $viewer)); | |||||
} | |||||
} | |||||
} | } |