[pLog-svn] r2415 - in plog/branches/plog-1.0.2: class/locale
templates/rss
Jon Daley
plogworld at jon.limedaley.com
Fri Aug 26 00:27:09 GMT 2005
Ok, that makes sense. I submitted a bug on sf.net, but it appears
that it isn't being worked on much. Maybe I will have to fix it...
On Thu, 25 Aug 2005, Paul Westbrook wrote:
> 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>
>
>
http://jon.limedaley.com/plog/
There's a devil in this world, and his job is to waste your time.
-- Professor Tygar
More information about the pLog-svn
mailing list