aboutsummaryrefslogtreecommitdiff
path: root/mod/groups/icon.php
diff options
context:
space:
mode:
Diffstat (limited to 'mod/groups/icon.php')
-rw-r--r--mod/groups/icon.php12
1 files changed, 10 insertions, 2 deletions
diff --git a/mod/groups/icon.php b/mod/groups/icon.php
index f4c0f8010..f86f84fa5 100644
--- a/mod/groups/icon.php
+++ b/mod/groups/icon.php
@@ -10,8 +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 (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;
@@ -28,7 +35,7 @@ if ($filehandler->open("read")) {
}
if (!$success) {
- $location = elgg_get_plugins_path() . "groups/graphics/default{$size}.jpg";
+ $location = elgg_get_plugins_path() . "groups/graphics/default{$size}.gif";
$contents = @file_get_contents($location);
}
@@ -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;