From db1743437461dfd791bd6cc55c4288417a9b4a09 Mon Sep 17 00:00:00 2001 From: carstenklapp Date: Sun, 3 Feb 2002 22:12:34 +0000 Subject: [PATCH] Enhancements to format dates as relative dates, such as "Today" or "Yesterday" when appropriate. git-svn-id: svn://svn.code.sf.net/p/phpwiki/code/trunk@1824 96ab9672-09ca-45d6-a79d-3d69d39ca109 --- lib/Theme.php | 27 ++++++++++++++++++------ lib/stdlib.php | 9 +++++++- themes/default/templates/browse.tmpl | 21 ++++++++++++------ themes/default/templates/viewsource.tmpl | 22 +++++++++++++------ 4 files changed, 59 insertions(+), 20 deletions(-) diff --git a/lib/Theme.php b/lib/Theme.php index fbd174af0..7d2e72c99 100644 --- a/lib/Theme.php +++ b/lib/Theme.php @@ -1,4 +1,4 @@ -_dateFormat = $fs; } function formatDate ($time_t) { - return HTML(strftime($this->_dateFormat, - $time_t + PrefTimezoneOffset()), - HTML::small("*")); + $offset_time = $time_t + PrefTimezoneOffset(); + + if (istoday($offset_time)) + $date = _("Today"); + else if (isyesterday($offset_time)) + $date = _("Yesterday"); + else + $date = strftime($this->_dateFormat, $offset_time); + return HTML($date, HTML::small("*")); // The asterisk is temporary, for debugging it indicates a // time has been converted to the user's local time. } @@ -192,9 +200,14 @@ class Theme { } function formatDateTime ($time_t) { - return HTML(strftime($this->_dateTimeFormat, - $time_t + PrefTimezoneOffset()), - HTML::small("*")); + $offset_time = $time_t + PrefTimezoneOffset(); + if (istoday($offset_time)) + $date = sprintf(_("Today at %s"), strtolower(strftime($this->_timeFormat, $offset_time))); + else if (isyesterday($offset_time)) + $date = sprintf(_("Yesterday at %s"), strtolower(strftime($this->_timeFormat, $offset_time))); + else + $date = strftime($this->_dateTimeFormat, $offset_time); + return HTML($date, HTML::small("*")); // The asterisk is temporary, for debugging it indicates a // time has been converted to the user's local time. } diff --git a/lib/stdlib.php b/lib/stdlib.php index 308730066..895d12505 100644 --- a/lib/stdlib.php +++ b/lib/stdlib.php @@ -1,4 +1,4 @@ - - + formatDateTime($revision->get('mtime')); + $mtime = $revision->get('mtime'); + $fmtime = $Theme->formatDateTime($mtime); - if ($revision->isCurrent()) - $LastModifiedMsg = fmt("Last edited on %s.", $mtime); - else + if ($revision->isCurrent()) { + if (istoday($mtime) || isyesterday($mtime)) + $LastModifiedMsg = fmt("Last edited %s.", $fmtime); + else + $LastModifiedMsg = fmt("Last edited on %s.", $fmtime); + } else { + if (istoday($mtime) || isyesterday($mtime)) + $LastModifiedMsg = fmt("Version %s, saved %s.", + $revision->getVersion(), $fmtime); + else $LastModifiedMsg = fmt("Version %s, saved on %s.", - $revision->getVersion(), $mtime); + $revision->getVersion(), $fmtime); + } ?>

diff --git a/themes/default/templates/viewsource.tmpl b/themes/default/templates/viewsource.tmpl index 70a2616e3..1c552fef7 100644 --- a/themes/default/templates/viewsource.tmpl +++ b/themes/default/templates/viewsource.tmpl @@ -1,12 +1,22 @@ - + formatDateTime($revision->get('mtime')); - if ($revision->isCurrent()) - $LastModifiedMsg = fmt("Last edited on %s.", $mtime); - else + $mtime = $revision->get('mtime'); + $fmtime = $Theme->formatDateTime($mtime); + + if ($revision->isCurrent()) { + if (istoday($mtime) || isyesterday($mtime)) + $LastModifiedMsg = fmt("Last edited %s.", $fmtime); + else + $LastModifiedMsg = fmt("Last edited on %s.", $fmtime); + } else { + if (istoday($mtime) || isyesterday($mtime)) + $LastModifiedMsg = fmt("Version %s, saved %s.", + $revision->getVersion(), $fmtime); + else $LastModifiedMsg = fmt("Version %s, saved on %s.", - $revision->getVersion(), $mtime); + $revision->getVersion(), $fmtime); + } ?> get('locked') && !$user->isAdmin()) { ?> -- 2.45.0