From 8fdf459f500425e6e6acbf4641ab8a95857c3629 Mon Sep 17 00:00:00 2001
From: ARNO* <arno@rezo.net>
Date: Fri, 8 Oct 2004 11:02:33 +0000
Subject: [PATCH] Alleger le js_menu_rubriques

---
 ecrire/inc_presentation.php3 | 13 ++++++++++---
 ecrire/inc_version.php3      |  3 +--
 ecrire/js_menu_rubriques.php | 24 +++++++++++++++++-------
 ecrire/spip_style.php3       |  9 +++++++++
 4 files changed, 37 insertions(+), 12 deletions(-)

diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3
index 2eb8e43e0e..ece6408a8d 100644
--- a/ecrire/inc_presentation.php3
+++ b/ecrire/inc_presentation.php3
@@ -1578,6 +1578,15 @@ End If
 		if (element.style.visibility != statut) element.style.visibility = statut;
 	}
 	
+	function montrer(objet) {
+		setvisibility(objet, 'visible');
+	}
+	function cacher(objet) {
+		setvisibility(objet, 'hidden');
+	}
+	
+	
+	
 	function getHeight(obj) {
 		if (obj == "window") {
 			return hauteur_fenetre();
@@ -2340,12 +2349,10 @@ else {
 	else {
 		$style = "background-color: $couleur_claire";
 	}
+
 	echo "\n<div style=\"max-height: 40px; width: 100%; border-bottom: solid 1px white;$style\">";
 	echo "<table align='center' cellpadding='0' background='' width='$largeur'><tr width='$largeur'>";
 
-
-
-
 	echo "<td valign='middle' class='bandeau_couleur' style='text-align: $spip_lang_left;'>";
 		echo "<a href='articles_tous.php3' class='icone26' onMouseOver=\"changestyle('bandeautoutsite','visibility','visible');\"><img src='img_pack/tout-site.png' border='0' alt='' /></a>";
 
diff --git a/ecrire/inc_version.php3 b/ecrire/inc_version.php3
index 17318d5f23..f6abd8b45c 100644
--- a/ecrire/inc_version.php3
+++ b/ecrire/inc_version.php3
@@ -856,8 +856,7 @@ function verif_butineur() {
 		$browser_name = "MSIE";
 		$browser_version = $match[1];
 	}
-	else if (eregi("KHTML", $browser_description)) {
-		eregi("Safari/([^;]*)", $browser_description, $match);
+	else if (eregi("KHTML", $browser_description) && eregi("Safari/([^;]*)",$browser_description, $match)) {
 		$browser_name = "Safari";
 		$browser_version = $match[1];
 	}
diff --git a/ecrire/js_menu_rubriques.php b/ecrire/js_menu_rubriques.php
index b3d3bd2304..ab5aee2c93 100644
--- a/ecrire/js_menu_rubriques.php
+++ b/ecrire/js_menu_rubriques.php
@@ -5,11 +5,17 @@ include ("inc.php3");
 
 // Gestion d'expiration de ce jaja
 $expire = $date + 3600*24;
+
+$headers_only = http_last_modified($expire);
+
+
 $date = gmdate("D, d M Y H:i:s", $date);
 $expire = gmdate("D, d M Y H:i:s", $expire);
+@Header ("Content-Type: text/javascript");
+if ($headers_only) exit;
 @Header ("Last-Modified: ".$date." GMT");
 @Header ("Expires: ".$expire." GMT");
-@Header ("Content-Type: text/javascript");
+
 
 
 function bandeau_menu() {
@@ -38,6 +44,9 @@ function bandeau_rubrique ($id_rubrique, $titre_rubrique, $z = 1) {
 	global $spip_ecran, $spip_display;
 	global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
 
+	$titre_rubrique = preg_replace(',[\x00-\x1f]+,', ' ', $titre_rubrique);
+
+
 	// Calcul du nombre max de sous-menus
 	$zdecal = $zdecal + 1;
 	if ($spip_ecran == "large") $zmax = 8;
@@ -48,17 +57,18 @@ function bandeau_rubrique ($id_rubrique, $titre_rubrique, $z = 1) {
 
 	if ($zindex < 1) $zindex = 1;
 	if ($zdecal == 1) $image = "secteur-12.gif";
-	else $image = "rubrique-12.gif";
-	
+	//else $image = "rubrique-12.gif";
+	else $image = '';
 	
+	if (strlen($image) > 1) $image = " style='background-image:url(img_pack/$image);'";
 	
 	$result_rub = spip_query("SELECT * FROM spip_rubriques WHERE id_parent=$id_rubrique ORDER BY titre");
 
 	$i = spip_num_rows($result_rub);
 	if ($i > 0 AND $zdecal < $zmax) {
-		$ret .= '<div style=\"position: relative; z-index: '.$z.';\" onMouseOver=\"setvisibility(\'bandeau_rub'.$id_rubrique.'\', \'visible\');\" onMouseOut=\"setvisibility(\'bandeau_rub'.$id_rubrique.'\', \'hidden\');\">';
-		$ret .= '<div style=\"background: url(img_pack/triangle-droite'.$spip_lang_rtl.'.gif) '.$spip_lang_right.' center no-repeat;\"><a href=\"naviguer.php3?coll='.$id_rubrique.'\" class=\"bandeau_rub\" style=\"background-image: url(img_pack/'.$image.');\">'.addslashes(supprimer_tags($titre_rubrique)).'</a></div>';
-		$ret .= '<div class=\"bandeau_rub\" style=\"z-index: '.($z+1).';\" id=\"bandeau_rub'.$id_rubrique.'\">';
+		$ret .= '<div class=\"pos_r\" style=\"z-index: '.$z.';\" onMouseOver=\"montrer(\'b_'.$id_rubrique.'\');\" onMouseOut=\"cacher(\'b_'.$id_rubrique.'\');\">';
+		$ret .= '<div class=\"brt\"><a href=\"naviguer.php3?coll='.$id_rubrique.'\" class=\"bandeau_rub\"'.$image.'>'.addslashes(supprimer_tags($titre_rubrique)).'</a></div>';
+		$ret .= '<div class=\"bandeau_rub\" style=\"z-index: '.($z+1).';\" id=\"b_'.$id_rubrique.'\">';
 		while ($row_rub = spip_fetch_array($result_rub)) {
 			$id_rub = $row_rub["id_rubrique"];
 			$titre_rub = supprimer_numero(typo($row_rub["titre"]));
@@ -67,7 +77,7 @@ function bandeau_rubrique ($id_rubrique, $titre_rubrique, $z = 1) {
 		}
 		$ret .= "</div></div>";
 	} else {
-		$ret .= '<div><a href=\"naviguer.php3?coll='.$id_rubrique.'\" class=\"bandeau_rub\" style=\"background-image: url(img_pack/'.$image.'); padding-'.$spip_lang_right.': 2px;\">'.addslashes(supprimer_tags($titre_rubrique)).'</a></div>';
+		$ret .= '<div><a href=\"naviguer.php3?coll='.$id_rubrique.'\" class=\"bandeau_rub\"'.$image.'>'.addslashes(supprimer_tags($titre_rubrique)).'</a></div>';
 	}
 	$zdecal = $zdecal - 1;
 	return $ret;
diff --git a/ecrire/spip_style.php3 b/ecrire/spip_style.php3
index e951f0fd8d..22c6c7c94c 100644
--- a/ecrire/spip_style.php3
+++ b/ecrire/spip_style.php3
@@ -170,6 +170,7 @@ a.bandeau_rub {
 	border-bottom: 1px solid #cccccc;
 	background-repeat: no-repeat;
 	background-position: <?php echo $ltr ? "1%" : "99%"; ?> center;
+	background-image: url(img_pack/rubrique-12.gif);
 }
 a.bandeau_rub:hover {
 	background-color: white;
@@ -189,6 +190,14 @@ div.bandeau_rub {
 	width: 170px;
 }
 
+div.brt {
+	background: url(img_pack/triangle-droite<?php echo $_rtl; ?>.gif) <?php echo $right; ?> center no-repeat;
+}
+div.pos_r {
+	position: relative;
+}
+
+
 div.messages {
 	padding: 5px;
 	border-bottom: 1px solid <? echo $couleur_foncee; ?>;
-- 
GitLab