From dc23e014775e4b1b82867ac5c0e2436b8591fe41 Mon Sep 17 00:00:00 2001 From: Mike Little Date: Fri, 5 Dec 2003 01:21:09 +0000 Subject: [PATCH] Fixed several instances in WordPress where PHP Notices are not being handled correctly. Fixes supplied by Aaron Jensen (aaron@visualprose.com). Plus removed currently unworkable 304 handling git-svn-id: https://develop.svn.wordpress.org/trunk@568 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-rdf.php | 32 +++++--------------------------- wp-rss.php | 30 ++---------------------------- wp-rss2.php | 35 ++++++----------------------------- 3 files changed, 13 insertions(+), 84 deletions(-) diff --git a/wp-rdf.php b/wp-rdf.php index bb3d4df5ce..f9d9a16f64 100644 --- a/wp-rdf.php +++ b/wp-rdf.php @@ -1,43 +1,21 @@ get_var($sql); -++$querycount; +$maxdate = $wpdb->get_var("SELECT max(post_date) FROM $tableposts"); $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']; +$clast = gmdate("D, d M Y H:i:s \G\M\T", $unixtime); +$cetag = (isset($clast)) ? md5($clast) : ''; // 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; -} - add_filter('the_content', 'trim'); if (!isset($rss_language)) { $rss_language = 'en'; } ?> diff --git a/wp-rss.php b/wp-rss.php index d4584a4736..8a22d154a8 100644 --- a/wp-rss.php +++ b/wp-rss.php @@ -2,47 +2,21 @@ In every template you do, you got to copy them before the CafeLog 'loop' */ $blog = 1; // enter your blog's ID $doing_rss = 1; -header('Content-type: text/xml',true); +header('Content-type: text/xml', true); include('blog.header.php'); -// Handle Conditional GET - // Get the time of the most recent article $maxdate = $wpdb->get_var("SELECT max(post_date) FROM $tableposts"); -++$querycount; $unixtime = strtotime($maxdate); // format timestamp for Last-Modified header $clast = gmdate("D, d M Y H:i:s \G\M\T", $unixtime); -$cetag = (isset($last)) ? md5($last) : ''; - -$slast = (isset($_SERVER['HTTP_IF_MODIFIED_SINCE'])) ? $_SERVER['HTTP_IF_MODIFIED_SINCE'] : '' ; -$setag = (isset($_SERVER['HTTP_IF_NONE_MATCH'])) ? $_SERVER['HTTP_IF_NONE_MATCH'] : ''; +$cetag = (isset($clast)) ? md5($clast) : ''; // 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 != '')) { - if (($slast == $clast) && ($setag == $cetag)) { - header("HTTP/1.1 304 Not Modified"); - echo "\r\n\r\n"; - exit; - } else if (($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; } diff --git a/wp-rss2.php b/wp-rss2.php index 584ba9023c..79b14906f6 100644 --- a/wp-rss2.php +++ b/wp-rss2.php @@ -1,44 +1,21 @@ get_var($sql); -++$querycount; - +$maxdate = $wpdb->get_var("SELECT max(post_date) FROM $tableposts"); $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']; +$clast = gmdate("D, d M Y H:i:s \G\M\T", $unixtime); +$cetag = (isset($clast)) ? md5($clast) : ''; // 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; }