Page MenuHomePhabricator

D15495.id37347.diff
No OneTemporary

D15495.id37347.diff

diff --git a/src/applications/diffusion/controller/DiffusionLastModifiedController.php b/src/applications/diffusion/controller/DiffusionLastModifiedController.php
--- a/src/applications/diffusion/controller/DiffusionLastModifiedController.php
+++ b/src/applications/diffusion/controller/DiffusionLastModifiedController.php
@@ -103,7 +103,7 @@
$modified = DiffusionView::linkCommit(
$drequest->getRepository(),
$commit->getCommitIdentifier());
- $date = phabricator_datetime($epoch, $viewer);
+ $date = $viewer->formatShortDateTime($epoch);
} else {
$modified = '';
$date = '';
diff --git a/src/applications/diffusion/view/DiffusionBranchTableView.php b/src/applications/diffusion/view/DiffusionBranchTableView.php
--- a/src/applications/diffusion/view/DiffusionBranchTableView.php
+++ b/src/applications/diffusion/view/DiffusionBranchTableView.php
@@ -39,7 +39,7 @@
$commit = idx($commits, $branch->getCommitIdentifier());
if ($commit) {
$details = $commit->getSummary();
- $datetime = phabricator_datetime($commit->getEpoch(), $viewer);
+ $datetime = $viewer->formatShortDateTime($commit->getEpoch());
$buildable = idx($buildables, $commit->getPHID());
if ($buildable) {
$build_status = $this->renderBuildable($buildable);
diff --git a/src/applications/diffusion/view/DiffusionHistoryTableView.php b/src/applications/diffusion/view/DiffusionHistoryTableView.php
--- a/src/applications/diffusion/view/DiffusionHistoryTableView.php
+++ b/src/applications/diffusion/view/DiffusionHistoryTableView.php
@@ -95,7 +95,7 @@
$epoch = $history->getEpoch();
if ($epoch) {
- $committed = phabricator_datetime($epoch, $viewer);
+ $committed = $viewer->formatShortDateTime($epoch);
} else {
$committed = null;
}
diff --git a/src/applications/diffusion/view/DiffusionPushLogListView.php b/src/applications/diffusion/view/DiffusionPushLogListView.php
--- a/src/applications/diffusion/view/DiffusionPushLogListView.php
+++ b/src/applications/diffusion/view/DiffusionPushLogListView.php
@@ -88,7 +88,7 @@
// TODO: Make these human-readable.
$log->getChangeFlags(),
$log->getPushEvent()->getRejectCode(),
- phabricator_datetime($log->getEpoch(), $viewer),
+ $viewer->formatShortDateTime($log->getEpoch()),
);
}
diff --git a/src/applications/diffusion/view/DiffusionTagListView.php b/src/applications/diffusion/view/DiffusionTagListView.php
--- a/src/applications/diffusion/view/DiffusionTagListView.php
+++ b/src/applications/diffusion/view/DiffusionTagListView.php
@@ -28,6 +28,7 @@
public function render() {
$drequest = $this->getDiffusionRequest();
$repository = $drequest->getRepository();
+ $viewer = $this->getViewer();
$buildables = $this->loadBuildables($this->commits);
$has_builds = false;
@@ -100,7 +101,7 @@
$build,
$author,
$description,
- phabricator_datetime($tag->getEpoch(), $this->getViewer()),
+ $viewer->formatShortDateTime($tag->getEpoch()),
);
}
diff --git a/src/applications/people/storage/PhabricatorUser.php b/src/applications/people/storage/PhabricatorUser.php
--- a/src/applications/people/storage/PhabricatorUser.php
+++ b/src/applications/people/storage/PhabricatorUser.php
@@ -742,6 +742,38 @@
return new DateTimeZone($this->getTimezoneIdentifier());
}
+ public function formatShortDateTime($when, $now = null) {
+ if ($now === null) {
+ $now = PhabricatorTime::getNow();
+ }
+
+ try {
+ $when = new DateTime('@'.$when);
+ $now = new DateTime('@'.$now);
+ } catch (Exception $ex) {
+ return null;
+ }
+
+ $zone = $this->getTimeZone();
+
+ $when->setTimeZone($zone);
+ $now->setTimeZone($zone);
+
+ if ($when->format('Y') !== $now->format('Y')) {
+ // Different year, so show "Feb 31 2075".
+ $format = 'M j Y';
+ } else if ($when->format('Ymd') !== $now->format('Ymd')) {
+ // Same year but different month and day, so show "Feb 31".
+ $format = 'M j';
+ } else {
+ // Same year, month and day so show a time of day.
+ $pref_time = PhabricatorUserPreferences::PREFERENCE_TIME_FORMAT;
+ $format = $this->getPreference($pref_time);
+ }
+
+ return $when->format($format);
+ }
+
public function getPreference($key) {
$preferences = $this->loadPreferences();

File Metadata

Mime Type
text/plain
Expires
Sat, Mar 15, 2:59 AM (10 h, 17 m)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7681462
Default Alt Text
D15495.id37347.diff (4 KB)

Event Timeline