]> git.mxchange.org Git - friendica.git/blob - library/Smarty/libs/plugins/shared.make_timestamp.php
reverting tinymce changes, updating smarty to 3.1.19
[friendica.git] / library / Smarty / libs / plugins / shared.make_timestamp.php
1 <?php
2 /**
3  * Smarty shared plugin
4  *
5  * @package    Smarty
6  * @subpackage PluginsShared
7  */
8
9 /**
10  * Function: smarty_make_timestamp<br>
11  * Purpose:  used by other smarty functions to make a timestamp from a string.
12  *
13  * @author   Monte Ohrt <monte at ohrt dot com>
14  *
15  * @param DateTime|int|string $string date object, timestamp or string that can be converted using strtotime()
16  *
17  * @return int
18  */
19 function smarty_make_timestamp($string)
20 {
21     if (empty($string)) {
22         // use "now":
23         return time();
24     } elseif ($string instanceof DateTime) {
25         return $string->getTimestamp();
26     } elseif (strlen($string) == 14 && ctype_digit($string)) {
27         // it is mysql timestamp format of YYYYMMDDHHMMSS?
28         return mktime(substr($string, 8, 2), substr($string, 10, 2), substr($string, 12, 2),
29                       substr($string, 4, 2), substr($string, 6, 2), substr($string, 0, 4));
30     } elseif (is_numeric($string)) {
31         // it is a numeric string, we handle it as timestamp
32         return (int) $string;
33     } else {
34         // strtotime should handle it
35         $time = strtotime($string);
36         if ($time == - 1 || $time === false) {
37             // strtotime() was not able to parse $string, use "now":
38             return time();
39         }
40
41         return $time;
42     }
43 }