summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/pageutils.php36
-rw-r--r--lib/exe/fetch.php36
2 files changed, 36 insertions, 36 deletions
diff --git a/inc/pageutils.php b/inc/pageutils.php
index 2a07b5fe6..0689ff6fe 100644
--- a/inc/pageutils.php
+++ b/inc/pageutils.php
@@ -330,4 +330,40 @@ function isVisiblePage($id){
return !isHiddenPage($id);
}
+/**
+ * Checks and sets HTTP headers for conditional HTTP requests
+ *
+ * @author Simon Willison <swillison@gmail.com>
+ * @link http://simon.incutio.com/archive/2003/04/23/conditionalGet
+ */
+function http_conditionalRequest($timestamp){
+ // A PHP implementation of conditional get, see
+ // http://fishbowl.pastiche.org/archives/001132.html
+ $last_modified = substr(date('r', $timestamp), 0, -5).'GMT';
+ $etag = '"'.md5($last_modified).'"';
+ // Send the headers
+ header("Last-Modified: $last_modified");
+ header("ETag: $etag");
+ // See if the client has provided the required headers
+ $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ?
+ stripslashes($_SERVER['HTTP_IF_MODIFIED_SINCE']) :
+ false;
+ $if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ?
+ stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) :
+ false;
+ if (!$if_modified_since && !$if_none_match) {
+ return;
+ }
+ // At least one of the headers is there - check them
+ if ($if_none_match && $if_none_match != $etag) {
+ return; // etag is there but doesn't match
+ }
+ if ($if_modified_since && $if_modified_since != $last_modified) {
+ return; // if-modified-since is there but doesn't match
+ }
+ // Nothing has changed since their last request - serve a 304 and exit
+ header('HTTP/1.0 304 Not Modified');
+ exit;
+}
+
//Setup VIM: ex: et ts=2 enc=utf-8 :
diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php
index 64bd35729..390e77bfc 100644
--- a/lib/exe/fetch.php
+++ b/lib/exe/fetch.php
@@ -152,42 +152,6 @@ function http_rangeRequest($size){
}
/**
- * Checks and sets HTTP headers for conditional HTTP requests
- *
- * @author Simon Willison <swillison@gmail.com>
- * @link http://simon.incutio.com/archive/2003/04/23/conditionalGet
- */
-function http_conditionalRequest($timestamp){
- // A PHP implementation of conditional get, see
- // http://fishbowl.pastiche.org/archives/001132.html
- $last_modified = substr(date('r', $timestamp), 0, -5).'GMT';
- $etag = '"'.md5($last_modified).'"';
- // Send the headers
- header("Last-Modified: $last_modified");
- header("ETag: $etag");
- // See if the client has provided the required headers
- $if_modified_since = isset($_SERVER['HTTP_IF_MODIFIED_SINCE']) ?
- stripslashes($_SERVER['HTTP_IF_MODIFIED_SINCE']) :
- false;
- $if_none_match = isset($_SERVER['HTTP_IF_NONE_MATCH']) ?
- stripslashes($_SERVER['HTTP_IF_NONE_MATCH']) :
- false;
- if (!$if_modified_since && !$if_none_match) {
- return;
- }
- // At least one of the headers is there - check them
- if ($if_none_match && $if_none_match != $etag) {
- return; // etag is there but doesn't match
- }
- if ($if_modified_since && $if_modified_since != $last_modified) {
- return; // if-modified-since is there but doesn't match
- }
- // Nothing has changed since their last request - serve a 304 and exit
- header('HTTP/1.0 304 Not Modified');
- exit;
-}
-
-/**
* Resizes the given image to the given size
*
* @author Andreas Gohr <andi@splitbrain.org>