Added Canvas 1.1.0, originally not under SCM so no historical development records...
[canvas.git] / library / smarty / plugins / modifier.date_format.php
blob82b82c4f90e1d9171f0edd1f488265e8c23ea2c3
1 <?php
2 /**
3 * Smarty plugin
4 * @package Smarty
5 * @subpackage plugins
6 */
8 /**
9 * Include the {@link shared.make_timestamp.php} plugin
11 require_once $smarty->_get_plugin_filepath('shared','make_timestamp');
12 /**
13 * Smarty date_format modifier plugin
15 * Type: modifier<br>
16 * Name: date_format<br>
17 * Purpose: format datestamps via strftime<br>
18 * Input:<br>
19 * - string: input date string
20 * - format: strftime format for output
21 * - default_date: default date if $string is empty
22 * @link http://smarty.php.net/manual/en/language.modifier.date.format.php
23 * date_format (Smarty online manual)
24 * @author Monte Ohrt <monte at ohrt dot com>
25 * @param string
26 * @param string
27 * @param string
28 * @return string|void
29 * @uses smarty_make_timestamp()
31 function smarty_modifier_date_format($string, $format="%b %e, %Y", $default_date=null)
33 if (substr(PHP_OS,0,3) == 'WIN') {
34 $_win_from = array ('%e', '%T', '%D');
35 $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y');
36 $format = str_replace($_win_from, $_win_to, $format);
38 if($string != '') {
39 return strftime($format, smarty_make_timestamp($string));
40 } elseif (isset($default_date) && $default_date != '') {
41 return strftime($format, smarty_make_timestamp($default_date));
42 } else {
43 return;
47 /* vim: set expandtab: */