generated feeds: support if-modified-since
This commit is contained in:
parent
f0e015c428
commit
2e35a7070b
|
@ -43,8 +43,6 @@
|
|||
require_once "db.php";
|
||||
require_once "db-prefs.php";
|
||||
|
||||
no_cache_incantation();
|
||||
|
||||
startup_gettext();
|
||||
|
||||
$script_started = microtime(true);
|
||||
|
|
|
@ -21,11 +21,32 @@ class Handler_Public extends Handler {
|
|||
else if ($feed == -1)
|
||||
$date_sort_field = "last_marked DESC";
|
||||
|
||||
$qfh_ret = queryFeedHeadlines($this->link, $feed,
|
||||
1, $view_mode, $is_cat, $search, $search_mode,
|
||||
$date_sort_field, $offset, $owner_uid,
|
||||
false, 0, false, true);
|
||||
|
||||
$result = $qfh_ret[0];
|
||||
|
||||
if (db_num_rows($result) != 0) {
|
||||
$ts = strtotime(db_fetch_result($result, 0, "date_entered"));
|
||||
|
||||
if (isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) &&
|
||||
strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $last_modified) {
|
||||
header('HTTP/1.0 304 Not Modified');
|
||||
return;
|
||||
}
|
||||
|
||||
$last_modified = gmdate("D, d M Y H:i:s", $ts) . " GMT";
|
||||
header("Last-Modified: $last_modified", true);
|
||||
}
|
||||
|
||||
$qfh_ret = queryFeedHeadlines($this->link, $feed,
|
||||
$limit, $view_mode, $is_cat, $search, $search_mode,
|
||||
$date_sort_field, $offset, $owner_uid,
|
||||
false, 0, false, true);
|
||||
|
||||
|
||||
$result = $qfh_ret[0];
|
||||
$feed_title = htmlspecialchars($qfh_ret[1]);
|
||||
$feed_site_url = $qfh_ret[2];
|
||||
|
@ -54,6 +75,7 @@ class Handler_Public extends Handler {
|
|||
$tpl->setVariable('SELF_URL', htmlspecialchars(get_self_url_prefix()), true);
|
||||
|
||||
while ($line = db_fetch_assoc($result)) {
|
||||
|
||||
$tpl->setVariable('ARTICLE_ID', htmlspecialchars($line['link']), true);
|
||||
$tpl->setVariable('ARTICLE_LINK', htmlspecialchars($line['link']), true);
|
||||
$tpl->setVariable('ARTICLE_TITLE', htmlspecialchars($line['title']), true);
|
||||
|
|
|
@ -24,8 +24,6 @@
|
|||
require_once "db.php";
|
||||
require_once "db-prefs.php";
|
||||
|
||||
no_cache_incantation();
|
||||
|
||||
startup_gettext();
|
||||
|
||||
$script_started = microtime(true);
|
||||
|
|
Loading…
Reference in New Issue