summaryrefslogtreecommitdiff
path: root/program/include
diff options
context:
space:
mode:
Diffstat (limited to 'program/include')
-rw-r--r--program/include/rcube_shared.inc16
1 files changed, 10 insertions, 6 deletions
diff --git a/program/include/rcube_shared.inc b/program/include/rcube_shared.inc
index c9cf4fbbf..f3ff0aa02 100644
--- a/program/include/rcube_shared.inc
+++ b/program/include/rcube_shared.inc
@@ -236,18 +236,22 @@ function send_future_expire_header($offset=2600000)
* @param int Modified date as unix timestamp
* @param string Etag value for caching
*/
-function send_modified_header($mdate, $etag=null)
+function send_modified_header($mdate, $etag=null, $skip_check=false)
{
if (headers_sent())
return;
$iscached = false;
- if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mdate)
- $iscached = true;
-
$etag = $etag ? "\"$etag\"" : null;
- if ($etag)
- $iscached = ($_SERVER['HTTP_IF_NONE_MATCH'] == $etag);
+
+ if (!$skip_check)
+ {
+ if ($_SERVER['HTTP_IF_MODIFIED_SINCE'] && strtotime($_SERVER['HTTP_IF_MODIFIED_SINCE']) >= $mdate)
+ $iscached = true;
+
+ if ($etag)
+ $iscached = ($_SERVER['HTTP_IF_NONE_MATCH'] == $etag);
+ }
if ($iscached)
header("HTTP/1.x 304 Not Modified");