diff --git a/wp-rss2.php b/wp-rss2.php new file mode 100644 index 0000000000..7bf1df8869 --- /dev/null +++ b/wp-rss2.php @@ -0,0 +1,82 @@ +get_var($sql); + +$unixtime = strtotime($maxdate); + +// format timestamp for Last-Modified header +$clast = gmdate("D, d M Y H:i:s \G\M\T",$unixtime); +$cetag = md5($last); + +$slast = $_SERVER['HTTP_IF_MODIFIED_SINCE']; +$setag = $_SERVER['HTTP_IF_NONE_MATCH']; + +// send it in a Last-Modified header +header("Last-Modified: " . $clast, true); +header("Etag: " . $cetag, true); + +// compare it to aggregator's If-Modified-Since and If-None-Match headers +// if they match, send a 304 and die + +// This logic says that if only one header is provided, just use that one, +// but if both headers exist, they *both* must match up with the locally +// generated values. +//if (($slast?($slast == $clast):true) && ($setag?($setag == $cetag):true)){ +if (($slast && $setag)?(($slast == $clast) && ($setag == $cetag)):(($slast == $clast) || ($setag == $cetag))) { + header("HTTP/1.1 304 Not Modified"); + echo "\r\n\r\n"; + exit; +} + +if (!isset($rss_language)) { $rss_language = 'en'; } +if (!isset($rss_encoded_html)) { $rss_encoded_html = 0; } +if (!isset($rss_excerpt_length) || ($rss_encoded_html == 1)) { $rss_excerpt_length = 0; } +?> +"; ?> + + + + + <?php bloginfo_rss("name") ?> + + + + Copyright + + http://wordpress.org/?v=" + + + + <?php the_title_rss() ?> + + + + (mailto:) + + @ + + + + + + ]]> + + + + \ No newline at end of file