From 6fc07742f8fca9d32db23243d374ea27e8ee4c1e Mon Sep 17 00:00:00 2001 From: rvelices Date: Thu, 20 Jun 2013 03:38:47 +0000 Subject: smarty 3 - first pass for tests git-svn-id: http://piwigo.org/svn/trunk@23384 68402e56-0260-453c-a942-63ccdbb3a9ee --- .../smarty/libs/plugins/shared.make_timestamp.php | 36 ++++++++++------------ 1 file changed, 16 insertions(+), 20 deletions(-) (limited to 'include/smarty/libs/plugins/shared.make_timestamp.php') diff --git a/include/smarty/libs/plugins/shared.make_timestamp.php b/include/smarty/libs/plugins/shared.make_timestamp.php index b42eb11d8..5d7c97e91 100644 --- a/include/smarty/libs/plugins/shared.make_timestamp.php +++ b/include/smarty/libs/plugins/shared.make_timestamp.php @@ -1,46 +1,42 @@ - * Purpose: used by other smarty functions to make a timestamp - * from a string. + * Purpose: used by other smarty functions to make a timestamp from a string. + * * @author Monte Ohrt - * @param string - * @return string + * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime() + * @return int */ function smarty_make_timestamp($string) { - if(empty($string)) { + if (empty($string)) { // use "now": - $time = time(); - - } elseif (preg_match('/^\d{14}$/', $string)) { - // it is mysql timestamp format of YYYYMMDDHHMMSS? - $time = mktime(substr($string, 8, 2),substr($string, 10, 2),substr($string, 12, 2), + return time(); + } elseif ($string instanceof DateTime) { + return $string->getTimestamp(); + } elseif (strlen($string) == 14 && ctype_digit($string)) { + // it is mysql timestamp format of YYYYMMDDHHMMSS? + return mktime(substr($string, 8, 2),substr($string, 10, 2),substr($string, 12, 2), substr($string, 4, 2),substr($string, 6, 2),substr($string, 0, 4)); - } elseif (is_numeric($string)) { // it is a numeric string, we handle it as timestamp - $time = (int)$string; - + return (int) $string; } else { // strtotime should handle it $time = strtotime($string); if ($time == -1 || $time === false) { // strtotime() was not able to parse $string, use "now": - $time = time(); + return time(); } + return $time; } - return $time; - } -/* vim: set expandtab: */ - ?> -- cgit v1.2.3