From c65930abfb2e97e9a42e4a74c926a2c6c1baf64e Mon Sep 17 00:00:00 2001
From: Fil <fil@rezo.net>
Date: Fri, 31 Mar 2006 23:05:29 +0000
Subject: [PATCH] =?UTF-8?q?=C3=A9viter=20le=20Last-Modified:=201er=20janvi?=
 =?UTF-8?q?er=201970?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/exec/js_menu_rubriques.php | 2 +-
 ecrire/inc/utils.php              | 5 +++--
 ecrire/public/assembler.php       | 8 +++++---
 3 files changed, 9 insertions(+), 6 deletions(-)

diff --git a/ecrire/exec/js_menu_rubriques.php b/ecrire/exec/js_menu_rubriques.php
index a081ea099d..a537831ecc 100644
--- a/ecrire/exec/js_menu_rubriques.php
+++ b/ecrire/exec/js_menu_rubriques.php
@@ -152,7 +152,7 @@ function bandeau_rubrique($id_rubrique, $titre_rubrique, $z = 1) {
 
 function exec_js_menu_rubriques_dist()
 {
-	if (http_last_modified(@filemtime("js_menu_rubriques.php"), time() + 24 * 3600)) 
+	if (http_last_modified(@filemtime(__FILE__), time() + 24 * 3600)) 
 		exit;
 	header('Content-type: text/javascript; charset='.$GLOBALS['meta']['charset']);
 	include_spip('inc/texte');
diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php
index 66d948eea0..bc9d16c285 100644
--- a/ecrire/inc/utils.php
+++ b/ecrire/inc/utils.php
@@ -520,12 +520,13 @@ function http_gmoddate($lastmodified) {
 }
 
 function http_last_modified($lastmodified, $expire = 0) {
+	if (!$lastmodified) return false;
 	$gmoddate = http_gmoddate($lastmodified);
-	if ($GLOBALS['HTTP_IF_MODIFIED_SINCE']
+	if ($_SERVER['HTTP_IF_MODIFIED_SINCE']
 	AND !preg_match(',IIS/,', $_SERVER['SERVER_SOFTWARE'])) # MSoft IIS is dumb
 	{
 		$if_modified_since = preg_replace('/;.*/', '',
-			$GLOBALS['HTTP_IF_MODIFIED_SINCE']);
+			$_SERVER['HTTP_IF_MODIFIED_SINCE']);
 		$if_modified_since = trim(str_replace('GMT', '', $if_modified_since));
 		if ($if_modified_since == $gmoddate) {
 			include_spip('inc/headers');
diff --git a/ecrire/public/assembler.php b/ecrire/public/assembler.php
index 95d04ea4a2..9c057ee860 100644
--- a/ecrire/public/assembler.php
+++ b/ecrire/public/assembler.php
@@ -164,9 +164,11 @@ function assembler_page ($fond) {
 			}
 		}
 	}
-	// toujours utile
-	$page['entetes']["Last-Modified"]=http_gmoddate($lastmodified)." GMT";
-	$page['status'] = $status;
+
+	if ($lastmodified)
+		$page['entetes']["Last-Modified"]=http_gmoddate($lastmodified)." GMT";
+	if ($status)
+		$page['status'] = $status;
 
 	return $page;
 }
-- 
GitLab