diff options
Diffstat (limited to 'libs/plugins/shared.make_timestamp.php')
| -rw-r--r-- | libs/plugins/shared.make_timestamp.php | 19 |
1 files changed, 9 insertions, 10 deletions
diff --git a/libs/plugins/shared.make_timestamp.php b/libs/plugins/shared.make_timestamp.php index 9789f53f..b0a2d0d1 100644 --- a/libs/plugins/shared.make_timestamp.php +++ b/libs/plugins/shared.make_timestamp.php @@ -8,27 +8,26 @@ /** * Function: smarty_make_timestamp<br> - * 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 <monte at ohrt dot com> - * @param string $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": return time(); } elseif ($string instanceof DateTime) { - return $string->getTimestamp(); - } elseif (strlen($string)==14 && ctype_digit($string)) { - // it is mysql timestamp format of YYYYMMDDHHMMSS? + return $string->source->timestamp; + } 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 - return (int)$string; + return (int) $string; } else { // strtotime should handle it $time = strtotime($string); |
