1: <?php
2: /**
3: * Smarty shared plugin
4: * @package Smarty
5: * @subpackage plugins
6: */
7:
8:
9: /**
10: * Function: smarty_make_timestamp<br>
11: * Purpose: used by other smarty functions to make a timestamp
12: * from a string.
13: * @author Monte Ohrt <monte at ohrt dot com>
14: * @param string
15: * @return string
16: */
17: function smarty_make_timestamp($string)
18: {
19: if(empty($string)) {
20: // use "now":
21: $time = time();
22:
23: } elseif (preg_match('/^\d{14}$/', $string)) {
24: // it is mysql timestamp format of YYYYMMDDHHMMSS?
25: $time = mktime(substr($string, 8, 2),substr($string, 10, 2),substr($string, 12, 2),
26: substr($string, 4, 2),substr($string, 6, 2),substr($string, 0, 4));
27:
28: } elseif (is_numeric($string)) {
29: // it is a numeric string, we handle it as timestamp
30: $time = (int)$string;
31:
32: } else {
33: // strtotime should handle it
34: $time = strtotime($string);
35: if ($time == -1 || $time === false) {
36: // strtotime() was not able to parse $string, use "now":
37: $time = time();
38: }
39: }
40: return $time;
41:
42: }
43:
44: /* vim: set expandtab: */
45:
46: ?>
47: