[pLog-svn] r2415 - in plog/branches/plog-1.0.2: class/locale templates/rss

Paul Westbrook paul at westbrooks.org
Fri Aug 26 00:21:18 GMT 2005


Hello,
    It looks like it is a bug in the reader.  When I looks at the  
feed in my reader (NewsFire), I see the date/time of that post as  
"Today, 10:25 AM".  My time zone is PDT, so this looks correct.

     Is it possible that your RSS reader is not recognizing DST?


--Paul


On Aug 25, 2005, at 4:38 PM, Jon Daley wrote:

>     Okay, finally got a chance to look at this.  If I am  
> understanding the RSS feed correctly
> (http://jon.limedaley.com/plog/rss/rss20/1)
> I am looking at "Weekend Weekend Sailing Adventures, Part II"
> which was posted at 13:49, and correctly shows that time on the  
> admin and user side.
> In the RSS document, it says: "Thu, 25 Aug 2005 13:25:09 -0400"
>     My computer is set to EDT, but my RSS reader prints out 12:25.  
> So, that means it is a bug in the reader?
>
> On Fri, 19 Aug 2005, Paul Westbrook wrote:
>
>
>> Hello,
>>  This works for me.  My server is in the same time zone as me, so  
>> my offset is 0.  The dates are reported with the -0700 offset,  
>> which is correct for PST now.
>>
>>  When I changed the offset, the times changed to reflect that  
>> timezone, and the timezone offset also changed correctly.  What  
>> offset are you using?  What offset is being added to the dates in  
>> the rss feed?  It should be -0400 for EDT.
>>
>>  The DST bug will only be a problem when the time that is being  
>> formatted is across a DST boundary.
>>
>>
>> --Paul
>>
>>
>> On Aug 19, 2005, at 5:02 AM, Jon Daley wrote:
>>
>>
>>>    Does this work for you?  It appears to do pretty strange  
>>> things for me.
>>>    Server is in same timezone as me. EST.
>>>
>>>    Posts show correct time, RSS feed show DST bug that you mention.
>>>
>>>    I thought I would try adding a +1 to see what that did to the  
>>> DST bug. The post times went ahead 2 hours, RSS feeds stayed the  
>>> same!!?
>>> On Fri, 19 Aug 2005, pwestbro at devel.plogworld.net wrote:
>>>
>>>> Author: pwestbro
>>>> Date: 2005-08-19 07:20:20 +0000 (Fri, 19 Aug 2005)
>>>> New Revision: 2415
>>>> Modified:
>>>>  plog/branches/plog-1.0.2/class/locale/locale.class.php
>>>>  plog/branches/plog-1.0.2/templates/rss/atom.template
>>>>  plog/branches/plog-1.0.2/templates/rss/rss090.template
>>>>  plog/branches/plog-1.0.2/templates/rss/rss20.template
>>>> Log:
>>>> Fixed the last part of bug http://bugs.plogworld.net/view.php? 
>>>> id=442
>>>> Now the dates are output in local time of the poster, and not  
>>>> the server.
>>>> If the blog info is passed into formatDate, the timeoffset is  
>>>> used to
>>>> correct the time zone offset.  Printing the dates in local time  
>>>> zone, allow
>>>> additional information to be available, that is lost when  
>>>> converting to GMT.
>>>> There may still be a problem when dealing with the boundary with  
>>>> daylight
>>>> saving time.  If the current date has DST in effect, and the  
>>>> post date does
>>>> not, the time zone offset may be incorrect.  This could  
>>>> potentially be
>>>> solved by passing the date that is being parsed into the date 
>>>> ("Z") call.
>>>> The documentation doesn't say what happens in this case.
>>>> Also, fixed a mistake in my last checkin.  There was a  
>>>> conditional that was
>>>> always true, so I just removed the conditional
>>>> Modified: plog/branches/plog-1.0.2/class/locale/locale.class.php
>>>> ===================================================================
>>>> --- plog/branches/plog-1.0.2/class/locale/locale.class.php     
>>>> 2005-08-18 21:12:48 UTC (rev 2414)
>>>> +++ plog/branches/plog-1.0.2/class/locale/locale.class.php     
>>>> 2005-08-19 07:20:20 UTC (rev 2415)
>>>> @@ -475,6 +475,7 @@
>>>>         * <li>%S    seconds</li>
>>>>         * <li>%y    2-digit year representation</li>
>>>>         * <li>%Y    4-digit year representation</li>
>>>> +         * <li>%O   Difference to Greenwich time (GMT) in  
>>>> hours</li>
>>>>         * <li>%%    the '%' character
>>>>         * </ul>
>>>>         * (these have been added by myself and are therefore  
>>>> incompatible with php)<ul>
>>>> @@ -482,7 +483,7 @@
>>>>         * <li>%D    cardinal representation of the day</li>
>>>>         * </ul>
>>>>         */
>>>> -        function formatDate( $timeStamp, $format = null )
>>>> +        function formatDate( $timeStamp, $format = null, $blog  
>>>> = null )
>>>>        {
>>>>            // load the file if it hadn't been loaded yet
>>>>            if( !is_array($this->_messages))
>>>> @@ -496,6 +497,26 @@
>>>>            // and the same for the weekdays
>>>>            $weekdayId = $timeStamp->getWeekdayId();
>>>>            $weekday = $this->_messages["days"][$weekdayId];
>>>> +
>>>> +            // Get the time zone offset for the server
>>>> +            $timeZoneSec = date("Z");
>>>> +            if ( $blog ) {
>>>> +                //
>>>> +                // The blog was specified.  Use it to get the  
>>>> time offset
>>>> +                //
>>>> +                $timeDiff = 0;
>>>> +                $blogSettings = $blog->getSettings();
>>>> +                $timeDiff = $blogSettings->getValue 
>>>> ( 'time_offset' );
>>>> +
>>>> +                // The following line relies on the fact that  
>>>> the result will
>>>> +                // be an int.
>>>> +                $timeZoneSec += ( $timeDiff * 3600 );
>>>> +            }
>>>> +            // Now convert the time zone seconds to hours and  
>>>> minutes
>>>> +            $timeZoneHours = intval( abs($timeZoneSec) / 3600 );
>>>> +            $timeZoneMins = intval(( abs($timeZoneSec) %  
>>>> 3600 ) / 60 );
>>>> +            $timeZoneDirection = ($timeZoneSec < 0 ) ? "-" : "+";
>>>> +
>>>>
>>>>            // if the user did not specify a format, let's use  
>>>> the default one
>>>>            if( $format == null )
>>>> @@ -518,6 +539,7 @@
>>>>            $values["%S"] = $timeStamp->getSeconds();
>>>>            $values["%y"] = substr($timeStamp->getYear(), 2, 4 );
>>>>            $values["%Y"] = $timeStamp->getYear();
>>>> +            $values["%O"] = sprintf( "%s%02d%02d",  
>>>> $timeZoneDirection, $timeZoneHours, $timeZoneMins );
>>>>            $values["%%"] = "%";
>>>>            $values["%T"] = $this->getDayOrdinal( $timeStamp )."  
>>>> ".$this->tr("of")." ".$monthStr;
>>>>            $values["%D"] = $this->getDayOrdinal( $timeStamp );
>>>> @@ -561,6 +583,7 @@
>>>>         * <li>%S    seconds</li>
>>>>         * <li>%y    2-digit year representation</li>
>>>>         * <li>%Y    4-digit year representation</li>
>>>> +         * <li>%O   Difference to Greenwich time (GMT) in hours  
>>>> (Will always be +0000)</li>
>>>>         * <li>%%    the '%' character
>>>>         * </ul>
>>>>         * (these have been added by myself and are therefore  
>>>> incompatible with php)<ul>
>>>> @@ -579,11 +602,9 @@
>>>>                // The blog was specified.  Use it to get the  
>>>> time offset
>>>>                //
>>>>                $timeDiff = 0;
>>>> -                if( $this->_blogInfo == null ) {
>>>> -                    $blogSettings = $blog->getSettings();
>>>> -                    $timeDiff = $blogSettings->getValue 
>>>> ( 'time_offset' );
>>>> -                    $timeDiff *= -1;
>>>> -                }
>>>> +                $blogSettings = $blog->getSettings();
>>>> +                $timeDiff = $blogSettings->getValue 
>>>> ( 'time_offset' );
>>>> +                $timeDiff *= -1;
>>>>
>>>>                if( $timeDiff > 0 )
>>>>                    $timeStamp->addSeconds( $timeDiff * 3600 );
>>>> @@ -639,6 +660,7 @@
>>>>            $values["%S"] = gmdate( "s", $time );
>>>>            $values["%y"] = gmdate( "y", $time );
>>>>            $values["%Y"] = gmdate( "Y", $time );
>>>> +            $values["%O"] = "+0000";
>>>>            $values["%%"] = "%";
>>>>            $values["%T"] = $this->getDateOrdinal( gmdate( "d",  
>>>> $time ) )." ".$this->tr("of")." ".$monthStr;
>>>>            $values["%D"] = $this->getDateOrdinal( gmdate( "d",  
>>>> $time )  );
>>>> Modified: plog/branches/plog-1.0.2/templates/rss/atom.template
>>>> ===================================================================
>>>> --- plog/branches/plog-1.0.2/templates/rss/atom.template     
>>>> 2005-08-18 21:12:48 UTC (rev 2414)
>>>> +++ plog/branches/plog-1.0.2/templates/rss/atom.template     
>>>> 2005-08-19 07:20:20 UTC (rev 2415)
>>>> @@ -3,7 +3,7 @@
>>>> <title>{$blog->getBlog()|escape}</title>
>>>> <link rel="alternate" type="text/html" href="{$url->blogLink()}" />
>>>> {assign var="newestDate" value=$posts[0]->getDateObject()}
>>>> -<modified>{$locale->formatDateGMT($newestDate, "%Y-%m-%dT%H:%M:% 
>>>> S-00:00", $blog)}</modified>
>>>> +<modified>{$locale->formatDate($newestDate, "%Y-%m-%dT%H:%M:%S% 
>>>> O", $blog)}</modified>
>>>> <tagline>{$blog->getAbout()|escape}</tagline>
>>>> <generator url="http://www.plogworld.net/" version="1.0.1">pLog</ 
>>>> generator>
>>>> {assign var="blogOwner" value=$posts[0]->getUserInfo()}
>>>> @@ -14,9 +14,9 @@
>>>> <title>{$post->getTopic()|escape}</title>
>>>> <link rel="alternate" type="text/html" href="{$url->postPermalink 
>>>> ($post)}" />
>>>> {assign var="postDate" value=$post->getDateObject()}
>>>> - <modified>{$locale->formatDateGMT($postDate, "%Y-%m-%dT%H:%M:% 
>>>> S-00:00", $blog)}</modified>
>>>> - <issued>{$locale->formatDateGMT($postDate, "%Y-%m-%dT%H:%M:% 
>>>> S-00:00", $blog)}</issued>
>>>> - <created>{$locale->formatDateGMT($postDate, "%Y-%m-%dT%H:%M:% 
>>>> S-00:00", $blog)}</created>
>>>> + <modified>{$locale->formatDate($postDate, "%Y-%m-%dT%H:%M:%S% 
>>>> O", $blog)}</modified>
>>>> + <issued>{$locale->formatDate($postDate, "%Y-%m-%dT%H:%M:%S%O",  
>>>> $blog)}</issued>
>>>> + <created>{$locale->formatDate($postDate, "%Y-%m-%dT%H:%M:%S% 
>>>> O", $blog)}</created>
>>>> <summary type="text/plain">{$post->getText()|strip_tags|truncate: 
>>>> 200:" ..."|escape:"html"}</summary>
>>>> <author>
>>>> {assign var="postOwner" value=$post->getUserInfo()}
>>>> Modified: plog/branches/plog-1.0.2/templates/rss/rss090.template
>>>> ===================================================================
>>>> --- plog/branches/plog-1.0.2/templates/rss/rss090.template     
>>>> 2005-08-18 21:12:48 UTC (rev 2414)
>>>> +++ plog/branches/plog-1.0.2/templates/rss/rss090.template     
>>>> 2005-08-19 07:20:20 UTC (rev 2415)
>>>> @@ -16,7 +16,7 @@
>>>>   <description>{$post->getText()|escape}</description>
>>>>   <link>{$url->postPermalink($post)}</link>
>>>>   {assign var="postDate" value=$post->getDateObject()}
>>>> -   <pubDate>{$locale->formatDateGMT($postDate, "%a, %d %b %Y %H: 
>>>> %M:%S GMT", $blog)}</pubDate>
>>>> +   <pubDate>{$locale->formatDate($postDate, "%a, %d %b %Y %H:%M: 
>>>> %S %O", $blog)}</pubDate>
>>>>  </item>
>>>>  {/foreach}
>>>> </rdf:RDF>
>>>> Modified: plog/branches/plog-1.0.2/templates/rss/rss20.template
>>>> ===================================================================
>>>> --- plog/branches/plog-1.0.2/templates/rss/rss20.template     
>>>> 2005-08-18 21:12:48 UTC (rev 2414)
>>>> +++ plog/branches/plog-1.0.2/templates/rss/rss20.template     
>>>> 2005-08-19 07:20:20 UTC (rev 2415)
>>>> @@ -9,7 +9,7 @@
>>>>  <title>{$blog->getBlog()|escape}</title>
>>>>  <link>{$url->blogLink()}</link>
>>>>  <description>{$blog->getAbout()|escape}</description>
>>>> -  <pubDate>{$locale->formatDateGMT($now, "%a, %d %b %Y %H:%M:%S  
>>>> GMT")}</pubDate>
>>>> +  <pubDate>{$locale->formatDate($now, "%a, %d %b %Y %H:%M:%S % 
>>>> O")}</pubDate>
>>>>  <generator>http://www.plogworld.net</generator>
>>>>  {foreach from=$posts item=post}
>>>>  <item>
>>>> @@ -26,7 +26,7 @@
>>>>    <category>{$category->getName()|escape}</category>
>>>>   {/foreach}
>>>>   {assign var="postDate" value=$post->getDateObject()}
>>>> -   <pubDate>{$locale->formatDateGMT($postDate, "%a, %d %b %Y %H: 
>>>> %M:%S GMT", $blog)}</pubDate>
>>>> +   <pubDate>{$locale->formatDate($postDate, "%a, %d %b %Y %H:%M: 
>>>> %S %O", $blog)}</pubDate>
>>>>   <source url="{$url->rssLink("rss20")}">{$blog->getBlog()| 
>>>> escape}</source>
>>>>   {foreach from=$post->getArticleResources() item=resource}
>>>>    {** please uncomment the line below if you'd like to server  
>>>> everything but images, instead of
>>>> _______________________________________________
>>>> pLog-svn mailing list
>>>> pLog-svn at devel.plogworld.net
>>>> http://devel.plogworld.net/mailman/listinfo/plog-svn
>>>>
>>> **************************************************************
>>> *                           *  The reason houses are made of *
>>> *         Jon Daley         *    brick instead of aluminum   *
>>> *                           *       foil is the thermal      *
>>> * http://jon.limedaley.com/ *          diffusivity.          *
>>> *                           *          -- Professor Shaeffer *
>>> **************************************************************
>>> _______________________________________________
>>> pLog-svn mailing list
>>> pLog-svn at devel.plogworld.net
>>> http://devel.plogworld.net/mailman/listinfo/plog-svn
>>>
>>
>> --
>> Paul Westbrook
>> paul at westbrooks.org
>> <http://www.westbrooks.org>
>>
>>
>>
>
> http://jon.limedaley.com/plog/
> Happiness is not a station you arrive at, but a manner of traveling.
> -- Margaret Lee Runbeck
> _______________________________________________
> pLog-svn mailing list
> pLog-svn at devel.plogworld.net
> http://devel.plogworld.net/mailman/listinfo/plog-svn
>
>

--
Paul Westbrook
paul at westbrooks.org
<http://www.westbrooks.org>


-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2367 bytes
Desc: not available
Url : http://www.plogworld.net/pipermail/plog-svn/attachments/20050825/c2d1519a/smime.bin


More information about the pLog-svn mailing list