]> git.sur5r.net Git - contagged/blob - smarty/plugins/shared.make_timestamp.php
more redesign and code cleanup
[contagged] / smarty / plugins / shared.make_timestamp.php
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 ?>