PageRenderTime 6ms CodeModel.GetById 1ms app.highlight 2ms RepoModel.GetById 1ms app.codeStats 0ms

/framework/vendor/smarty3/lib/libs/plugins/modifier.date_format.php

http://zoop.googlecode.com/
PHP | 61 lines | 32 code | 1 blank | 28 comment | 7 complexity | 29bd3caec4a91defc38023839d31c078 MD5 | raw file
 1<?php
 2/**
 3* Smarty plugin
 4* 
 5* @package Smarty
 6* @subpackage PluginsModifier
 7*/
 8
 9/**
10* Smarty date_format modifier plugin
11* 
12* Type:     modifier<br>
13* Name:     date_format<br>
14* Purpose:  format datestamps via strftime<br>
15* Input:<br>
16*          - string: input date string
17*          - format: strftime format for output
18*          - default_date: default date if $string is empty
19* 
20* @link http://smarty.php.net/manual/en/language.modifier.date.format.php date_format (Smarty online manual)
21* @author Monte Ohrt <monte at ohrt dot com> 
22* @param string $ 
23* @param string $ 
24* @param string $ 
25* @return string |void
26* @uses smarty_make_timestamp()
27*/
28function smarty_modifier_date_format($string, $format = SMARTY_RESOURCE_DATE_FORMAT, $default_date = '',$formatter='auto')
29{
30    /**
31    * Include the {@link shared.make_timestamp.php} plugin
32    */
33    require_once(SMARTY_PLUGINS_DIR . 'shared.make_timestamp.php');
34    if ($string != '') {
35        $timestamp = smarty_make_timestamp($string);
36    } elseif ($default_date != '') {
37        $timestamp = smarty_make_timestamp($default_date);
38    } else {
39        return;
40    } 
41    if($formatter=='strftime'||($formatter=='auto'&&strpos($format,'%')!==false)) {
42        if (DS == '\\') {
43            $_win_from = array('%D', '%h', '%n', '%r', '%R', '%t', '%T');
44            $_win_to = array('%m/%d/%y', '%b', "\n", '%I:%M:%S %p', '%H:%M', "\t", '%H:%M:%S');
45            if (strpos($format, '%e') !== false) {
46                $_win_from[] = '%e';
47                $_win_to[] = sprintf('%\' 2d', date('j', $timestamp));
48            } 
49            if (strpos($format, '%l') !== false) {
50                $_win_from[] = '%l';
51                $_win_to[] = sprintf('%\' 2d', date('h', $timestamp));
52            } 
53            $format = str_replace($_win_from, $_win_to, $format);
54        } 
55        return strftime($format, $timestamp);
56    } else {
57        return date($format, $timestamp);
58    }
59} 
60
61?>