summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorEvan Prodromou <evan@controlyourself.ca>2009-02-20 14:58:38 +0000
committerEvan Prodromou <evan@controlyourself.ca>2009-02-20 14:58:38 +0000
commit1abeaf931e2e22806cbf747690df3a3350b401f8 (patch)
tree365c7391e466da9d1c7fc8ebeb7f08f68e49cc56 /lib
parentc9def4a8768239093823fbe34367d97f9e30d320 (diff)
handle if-modified-since in RSS feeds
Diffstat (limited to 'lib')
-rw-r--r--lib/rssaction.php24
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);
+ }
}