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
This commit is contained in:
Mike Little 2003-12-05 01:21:09 +00:00
parent 649194bf97
commit dc23e01477
3 changed files with 13 additions and 84 deletions

View File

@ -1,43 +1,21 @@
<?php /* RDF 1.0 generator, original version by garym@teledyn.com */
$blog = 1; // enter your blog's ID
$doing_rss=1;
header('Content-type: text/xml');
$doing_rss = 1;
header('Content-type: text/xml', true);
include('blog.header.php');
// Handle Conditional GET
// Get the time of the most recent article
$sql = "SELECT max(post_date) FROM $tableposts";
$maxdate = $wpdb->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'; }
?>

View File

@ -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; }

View File

@ -1,44 +1,21 @@
<?php
$blog=1;
$doing_rss=1;
header('Content-type: text/xml');
$blog = 1;
$doing_rss = 1;
header('Content-type: text/xml', true);
include('blog.header.php');
// Handle Conditional GET
// Get the time of the most recent article
$sql = "SELECT max(post_date) FROM $tableposts";
$maxdate = $wpdb->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; }