Re: [SMARTY-DEV] Bug in smarty_modifier_date_format
| From: | boots | Date: | Wed, 10 Jan 2007 16:25:32 +0000 |
| Subject: | Re: [SMARTY-DEV] Bug in smarty_modifier_date_format | ||
| References: | 1 | Groups: | php.smarty.dev |
| Request: | Send a blank email to php-smarty-dev+get-2925@lists.php.net to get a copy of this message | ||
Hi.
That looks like a MySQL datetime rather than a timestamp. Otherwise, looks
good. I've committed the %R fix to CVS.
Thanks!
boots
--- Danilo Buerger <danilo@blizzz.org> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> Small errata: it should be smarty_make_timestamp() instead of
> smarty_make_time_stamp() of course.
>
> Danilo Buerger schrieb:
> > Hello list,
> >
> > when using Smarty in a Windows environment (substr(PHP_OS,0,3) == 'WIN')
> > and trying to format a MySQL timestamp (0000-00-00 00:00:00) an error
> > occurs because the string is passed to strftime() without applying
> > smarty_make_time_stamp() to the string first. Another bug occurs when
> > using the %R format (which is unknown to Windows, see
> >
>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_crt_strftime.2c_.wcsftime.asp)).
> > So here is the diff that should fix these problems:
> >
> > Index: smarty-2.6.16/plugins/modifier.date_format.php
> > ===================================================================
> > --- smarty-2.6.16/plugins/modifier.date_format.php (revision 84)
> > +++ smarty-2.6.16/plugins/modifier.date_format.php (working copy)
> > @@ -31,10 +31,10 @@
> > function smarty_modifier_date_format($string, $format="%b %e, %Y",
> > $default_date=null)
> > {
> > if (substr(PHP_OS,0,3) == 'WIN') {
> > - $hours = strftime('%I', $string);
> > + $hours = strftime('%I', smarty_make_time_stamp($string));
> > $short_hours = ( $hours < 10 ) ? substr( $hours, -1) : $hours;
> > - $_win_from = array ('%e', '%T', '%D',
> > '%l');
> > - $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y',
> > $short_hours);
> > + $_win_from = array ('%e', '%T', '%D',
> > '%l',
> > '%R');
> > + $_win_to = array ('%#d', '%H:%M:%S', '%m/%d/%y',
> > $short_hours, '%H:%M');
> > $format = str_replace($_win_from, $_win_to, $format);
> > }
> > if($string != '') {
> >
> > Greets,
> >
> > Danilo Bürger
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.4.5 (Darwin)
> Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
>
> iD8DBQFFpQ1Zrwsg9y2CBIURAg7ZAKCH7AVlvg0qdCEvr/tYvxTovhLR/QCcCH4w
> W/0RRo2jf/3mk7DLe2f2y30=
> =bru1
> -----END PGP SIGNATURE-----
____________________________________________________________________________________
Do you Yahoo!?
Everyone is raving about the all-new Yahoo! Mail beta.
http://new.mail.yahoo.com