diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2009-02-20 14:58:38 +0000 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2009-02-20 14:58:38 +0000 |
commit | 1abeaf931e2e22806cbf747690df3a3350b401f8 (patch) | |
tree | 365c7391e466da9d1c7fc8ebeb7f08f68e49cc56 /lib | |
parent | c9def4a8768239093823fbe34367d97f9e30d320 (diff) |
handle if-modified-since in RSS feeds
Diffstat (limited to 'lib')
-rw-r--r-- | lib/rssaction.php | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/rssaction.php b/lib/rssaction.php index 131e8ac65..66c2d9e8c 100644 --- a/lib/rssaction.php +++ b/lib/rssaction.php @@ -38,6 +38,7 @@ class Rss10Action extends Action var $creators = array(); var $limit = DEFAULT_RSS_LIMIT; + var $notices = null; /** * Constructor @@ -93,6 +94,9 @@ class Rss10Action extends Action function handle($args) { + // Get the list of notices + $this->notices = $this->getNotices(); + // Parent handling, including cache check parent::handle($args); $this->showRss($this->limit); } @@ -258,5 +262,25 @@ class Rss10Action extends Action { $this->elementEnd('rdf:RDF'); } + + /** + * When was this page last modified? + * + */ + + function lastModified() + { + if (empty($this->notices)) { + return null; + } + + if (count($this->notices) == 0) { + return null; + } + + // FIXME: doesn't handle modified profiles, avatars, deleted notices + + return strtotime($this->notices[0]->created); + } } |