From 946a1229a126b91de9b64d2def672c628a77e6c6 Mon Sep 17 00:00:00 2001 From: Sem Date: Tue, 3 Jan 2012 16:14:31 +0100 Subject: Refs #4142. Also added ETag in group icon. --- mod/groups/icon.php | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'mod/groups') diff --git a/mod/groups/icon.php b/mod/groups/icon.php index f4c0f8010..607f38939 100644 --- a/mod/groups/icon.php +++ b/mod/groups/icon.php @@ -10,6 +10,13 @@ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); $group_guid = get_input('group_guid'); $group = get_entity($group_guid); +// If is the same eTag, content didn't changed. +$eTag = $group->icontime . $group_guid; +if (trim($_SERVER['HTTP_IF_NONE_MATCH']) == $eTag) { + header("HTTP/1.1 304 Not Modified"); + exit; +} + $size = strtolower(get_input('size')); if (!in_array($size,array('large','medium','small','tiny','master','topbar'))) $size = "medium"; @@ -37,4 +44,5 @@ header('Expires: ' . date('r',time() + 864000)); header("Pragma: public"); header("Cache-Control: public"); header("Content-Length: " . strlen($contents)); +header("ETag: $eTag"); echo $contents; -- cgit v1.2.3 From 6b8301f6433ec22b065d734e9fc26d09f723b07d Mon Sep 17 00:00:00 2001 From: Cash Costello Date: Sat, 7 Jan 2012 12:32:46 -0500 Subject: added check for existance of IF-NONE-MATCH header in request --- mod/groups/icon.php | 10 +++++----- mod/profile/icondirect.php | 8 ++++---- 2 files changed, 9 insertions(+), 9 deletions(-) (limited to 'mod/groups') diff --git a/mod/groups/icon.php b/mod/groups/icon.php index 607f38939..104da4b41 100644 --- a/mod/groups/icon.php +++ b/mod/groups/icon.php @@ -10,15 +10,15 @@ require_once(dirname(dirname(dirname(__FILE__))) . "/engine/start.php"); $group_guid = get_input('group_guid'); $group = get_entity($group_guid); -// If is the same eTag, content didn't changed. -$eTag = $group->icontime . $group_guid; -if (trim($_SERVER['HTTP_IF_NONE_MATCH']) == $eTag) { +// If is the same ETag, content didn't changed. +$etag = $group->icontime . $group_guid; +if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { header("HTTP/1.1 304 Not Modified"); exit; } $size = strtolower(get_input('size')); -if (!in_array($size,array('large','medium','small','tiny','master','topbar'))) +if (!in_array($size, array('large', 'medium', 'small', 'tiny', 'master', 'topbar'))) $size = "medium"; $success = false; @@ -44,5 +44,5 @@ header('Expires: ' . date('r',time() + 864000)); header("Pragma: public"); header("Cache-Control: public"); header("Content-Length: " . strlen($contents)); -header("ETag: $eTag"); +header("ETag: $etag"); echo $contents; diff --git a/mod/profile/icondirect.php b/mod/profile/icondirect.php index 1680d8fce..6c3148f2b 100644 --- a/mod/profile/icondirect.php +++ b/mod/profile/icondirect.php @@ -15,9 +15,9 @@ $join_date = (int)$_GET['joindate']; $last_cache = (int)$_GET['lastcache']; // icontime $guid = (int)$_GET['guid']; -// If is the same eTag, content didn't changed. -$eTag = $last_cache . $guid; -if (trim($_SERVER['HTTP_IF_NONE_MATCH']) == $eTag) { +// If is the same ETag, content didn't changed. +$etag = $last_cache . $guid; +if (isset($_SERVER['HTTP_IF_NONE_MATCH']) && trim($_SERVER['HTTP_IF_NONE_MATCH']) == $etag) { header("HTTP/1.1 304 Not Modified"); exit; } @@ -56,7 +56,7 @@ if ($mysql_dblink) { header("Pragma: public"); header("Cache-Control: public"); header("Content-Length: " . strlen($contents)); - header("ETag: $eTag"); + header("ETag: $etag"); // this chunking is done for supposedly better performance $split_string = str_split($contents, 1024); foreach ($split_string as $chunk) { -- cgit v1.2.3