diff options
| author | Nathan Kinkade <kinkade@measurementlab.net> | 2019-08-27 13:05:48 -0600 |
|---|---|---|
| committer | Nathan Kinkade <kinkade@measurementlab.net> | 2019-08-27 13:05:48 -0600 |
| commit | a6c179d56973e382205c8583568d635c37f814c8 (patch) | |
| tree | d144141439adac21f0c1bc2fc2caa85fd8135039 /lib/smarty-3.1.33/plugins/shared.make_timestamp.php | |
| parent | 34972193073432105b8659407af5a914b3686f81 (diff) | |
Updates smarty to v3.1.33.
Diffstat (limited to 'lib/smarty-3.1.33/plugins/shared.make_timestamp.php')
| -rw-r--r-- | lib/smarty-3.1.33/plugins/shared.make_timestamp.php | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/lib/smarty-3.1.33/plugins/shared.make_timestamp.php b/lib/smarty-3.1.33/plugins/shared.make_timestamp.php new file mode 100644 index 0000000..9626dc6 --- /dev/null +++ b/lib/smarty-3.1.33/plugins/shared.make_timestamp.php @@ -0,0 +1,49 @@ +<?php +/** + * Smarty shared plugin + * + * @package Smarty + * @subpackage PluginsShared + */ +/** + * Function: smarty_make_timestamp + * Purpose: used by other smarty functions to make a timestamp from a string. + * + * @author Monte Ohrt <monte at ohrt dot com> + * + * @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)) { + // use "now": + return time(); + } elseif ($string instanceof DateTime + || (interface_exists('DateTimeInterface', false) && $string instanceof DateTimeInterface) + ) { + return (int)$string->format('U'); // PHP 5.2 BC + } 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; + } else { + // strtotime should handle it + $time = strtotime($string); + if ($time === -1 || $time === false) { + // strtotime() was not able to parse $string, use "now": + return time(); + } + return $time; + } +} |
