shared.make_timestamp.php (1306B)
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 }