From 9aae1b7fc399b5d2cecb8f0d0df6a2ae4e749786 Mon Sep 17 00:00:00 2001 From: Aleksander Machniak <alec@alec.pl> Date: Fri, 26 Jun 2015 03:20:43 -0400 Subject: [PATCH] Fix so microseconds macro (u) in log_date_format works (#1490446) --- program/lib/Roundcube/rcube.php | 6 +----- CHANGELOG | 1 + program/lib/Roundcube/rcube_utils.php | 23 +++++++++++++++++++++++ 3 files changed, 25 insertions(+), 5 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index c838f49..ff9e5d9 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -10,6 +10,7 @@ - Plugin API: Added message_ready hook - Plugin API: Add special onload() method to execute plugin actions before startup (session and GUI initialization) - Implemented UI element to jump to specified page of the messages list (#1485235) +- Fix so microseconds macro (u) in log_date_format works (#1490446) - Fix so unrecognized TNEF attachments are displayed on the list of attachments (#1490351) - Fix "Importing..." message does not hide on error (#1490422) - Fix Compose action in addressbook for results from multiple addressbooks (#1490413) diff --git a/program/lib/Roundcube/rcube.php b/program/lib/Roundcube/rcube.php index 6b0c6b8..02e11e2 100644 --- a/program/lib/Roundcube/rcube.php +++ b/program/lib/Roundcube/rcube.php @@ -1231,11 +1231,7 @@ $session_key = intval(self::$instance->config->get('log_session_id', 8)); } - if (empty($date_format)) { - $date_format = 'd-M-Y H:i:s O'; - } - - $date = date($date_format); + $date = rcube_utils::date_format($date_format); // trigger logging hook if (is_object(self::$instance) && is_object(self::$instance->plugins)) { diff --git a/program/lib/Roundcube/rcube_utils.php b/program/lib/Roundcube/rcube_utils.php index 00311f0..23fc3f8 100644 --- a/program/lib/Roundcube/rcube_utils.php +++ b/program/lib/Roundcube/rcube_utils.php @@ -1149,4 +1149,27 @@ return $random; } + + /** + * Format current date according to specified format. + * This method supports microseconds (u). + * + * @param string $format Date format (default: 'd-M-Y H:i:s O') + * + * @return string Formatted date + */ + public static function date_format($format = null) + { + if (empty($format)) { + $format = 'd-M-Y H:i:s O'; + } + + if (strpos($format, 'u') !== false + && ($date = date_create_from_format('U.u.e', microtime(true) . '.' . date_default_timezone_get())) + ) { + return $date->format($format); + } + + return date($format); + } } -- Gitblit v1.9.1