Changeset View
Changeset View
Standalone View
Standalone View
src/applications/calendar/util/CalendarTimeUtil.php
Show All 18 Lines | public static function getCalendarEventEpochs( | ||||
$objects = self::getStartDateTimeObjects($user, $start_day_str); | $objects = self::getStartDateTimeObjects($user, $start_day_str); | ||||
$start_day = $objects['start_day']; | $start_day = $objects['start_day']; | ||||
$end_day = clone $start_day; | $end_day = clone $start_day; | ||||
$end_day->modify('+'.$days.' days'); | $end_day->modify('+'.$days.' days'); | ||||
return array( | return array( | ||||
'start_epoch' => $start_day->format('U'), | 'start_epoch' => $start_day->format('U'), | ||||
'end_epoch' => $end_day->format('U')); | 'end_epoch' => $end_day->format('U'), | ||||
); | |||||
} | } | ||||
public static function getCalendarWeekTimestamps( | public static function getCalendarWeekTimestamps( | ||||
PhabricatorUser $user) { | PhabricatorUser $user) { | ||||
return self::getTimestamps($user, 'Today', 7); | return self::getTimestamps($user, 'Today', 7); | ||||
} | } | ||||
public static function getCalendarWidgetTimestamps( | public static function getCalendarWidgetTimestamps( | ||||
Show All 15 Lines | public static function getTimestamps( | ||||
$timestamps = array(); | $timestamps = array(); | ||||
for ($day = 0; $day < $days; $day++) { | for ($day = 0; $day < $days; $day++) { | ||||
$timestamp = clone $start_day; | $timestamp = clone $start_day; | ||||
$timestamp->modify(sprintf('+%d days', $day)); | $timestamp->modify(sprintf('+%d days', $day)); | ||||
$timestamps[] = $timestamp; | $timestamps[] = $timestamp; | ||||
} | } | ||||
return array( | return array( | ||||
'today' => $objects['today'], | 'today' => $objects['today'], | ||||
'epoch_stamps' => $timestamps); | 'epoch_stamps' => $timestamps, | ||||
); | |||||
} | } | ||||
private static function getStartDateTimeObjects( | private static function getStartDateTimeObjects( | ||||
PhabricatorUser $user, | PhabricatorUser $user, | ||||
$start_day_str) { | $start_day_str) { | ||||
$timezone = new DateTimeZone($user->getTimezoneIdentifier()); | $timezone = new DateTimeZone($user->getTimezoneIdentifier()); | ||||
$today_epoch = PhabricatorTime::parseLocalTime('today', $user); | $today_epoch = PhabricatorTime::parseLocalTime('today', $user); | ||||
$today = new DateTime('@'.$today_epoch); | $today = new DateTime('@'.$today_epoch); | ||||
$today->setTimeZone($timezone); | $today->setTimeZone($timezone); | ||||
if (strtolower($start_day_str) == 'today' || | if (strtolower($start_day_str) == 'today' || | ||||
$today->format('l') == $start_day_str) { | $today->format('l') == $start_day_str) { | ||||
$start_day = clone $today; | $start_day = clone $today; | ||||
} else { | } else { | ||||
$start_epoch = PhabricatorTime::parseLocalTime( | $start_epoch = PhabricatorTime::parseLocalTime( | ||||
'last '.$start_day_str, | 'last '.$start_day_str, | ||||
$user); | $user); | ||||
$start_day = new DateTime('@'.$start_epoch); | $start_day = new DateTime('@'.$start_epoch); | ||||
$start_day->setTimeZone($timezone); | $start_day->setTimeZone($timezone); | ||||
} | } | ||||
return array( | return array( | ||||
'today' => $today, | 'today' => $today, | ||||
'start_day' => $start_day); | 'start_day' => $start_day, | ||||
); | |||||
} | } | ||||
} | } |