From e4c42a919fa9b6076afeb1f77fd0f1783421bad1 Mon Sep 17 00:00:00 2001 From: Chad Little Date: Thu, 21 Nov 2002 07:54:38 +0000 Subject: HTTP Conditional GET patch applied. --- rss/rss.php | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) (limited to 'rss') diff --git a/rss/rss.php b/rss/rss.php index 4ae73f0..9bdd284 100644 --- a/rss/rss.php +++ b/rss/rss.php @@ -13,6 +13,22 @@ $rssview = $HTTP_GET_VARS['rssview']; $cal_displayname = str_replace("32", " ", $cal); $events_week = 0; +// calculate a value for Last Modified and ETag +$filemod = filemtime("../calendars/$cal.ics"); +$filemodtime = date("r", $filemod); + +//send relevant headers +header ("Last-Modified: $filemodtime"); +header ("ETag:\"$filemodtime\""); + +// checks the user agents headers to see if they kept track of our +// stuff, if so be nice and send back a 304 and exit. + +if ( ($_SERVER['HTTP_IF_MODIFIED_SINCE'] == $filemodtime) || ($_SERVER['HTTP_IF_NONE_MATCH'] == $filemodtime)) +{ + header ("HTTP/1.1 304 Not Modified"); + exit; +} if ($rssview == "day") { $theview = $day_lang; @@ -156,7 +172,7 @@ $rss .= ''."\n"; $rss .= ''."\n"; header ("Content-Type: text/xml"); -echo "$rss"; +echo "$rss"; ?> -- cgit v1.2.3