From 16dd7bea88bc6e3d81d8f3460359206a24b14e11 Mon Sep 17 00:00:00 2001 From: ARNO* <arno@rezo.net> Date: Sat, 7 Aug 2004 13:04:06 +0000 Subject: [PATCH] Retour du menu de navigation dans les rubriques, cette fois en Javascript externe --- ecrire/inc_presentation.php3 | 53 ++++++-------------------- ecrire/inc_rubriques.php3 | 3 ++ ecrire/js_menu_rubriques.php | 72 ++++++++++++++++++++++++++++++++++++ spip_image.php3 | 6 +-- 4 files changed, 89 insertions(+), 45 deletions(-) create mode 100644 ecrire/js_menu_rubriques.php diff --git a/ecrire/inc_presentation.php3 b/ecrire/inc_presentation.php3 index 8e4fc3a2ad..6ce4316072 100644 --- a/ecrire/inc_presentation.php3 +++ b/ecrire/inc_presentation.php3 @@ -1891,50 +1891,14 @@ function lien_change_var($lien, $set, $couleur, $coords, $titre, $mouseOver="") // Debut du corps de la page // -function bandeau_rubrique ($id_rubrique, $titre_rubrique, $z = 1) { - global $zdecal; - global $spip_ecran, $spip_display; - global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right; - - // Calcul du nombre max de sous-menus - $zdecal = $zdecal + 1; - if ($spip_ecran == "large") $zmax = 8; - else $zmax= 6; - - // Limiter volontairement le nombre de sous-menus - $zmax = 3; - - - if ($zindex < 1) $zindex = 1; - if ($zdecal == 1) $image = "secteur-12.gif"; - else $image = "rubrique-12.gif"; - - - - $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) { -// echo "<div style='position: relative; z-index: $z;' onMouseOver=\"findObj('bandeau_rub$id_rubrique').style.visibility = 'visible';\" onMouseOut=\"findObj('bandeau_rub$id_rubrique').style.visibility = 'hidden';\">\n"; - echo "<div style='position: relative; z-index: $z;' onMouseOver=\"setvisibility('bandeau_rub$id_rubrique', 'visible');\" onMouseOut=\"setvisibility('bandeau_rub$id_rubrique', 'hidden');\">\n"; - echo "<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);'>$titre_rubrique</a></div>\n"; - echo "<div class='bandeau_rub' style='z-index: ".($z+1).";' id='bandeau_rub$id_rubrique'>"; - while ($row_rub = spip_fetch_array($result_rub)) { - $id_rub = $row_rub["id_rubrique"]; - $titre_rub = supprimer_numero(typo($row_rub["titre"])); - //echo "<a href='naviguer.php3?coll=$id_rub' class='bandeau_rub'>$titre_rub</a>"; - bandeau_rubrique ($id_rub, $titre_rub, ($z+$i)); - $i = $i - 1; - } - echo "</div>"; - echo "</div></n>"; - } else { - echo "<div><a href='naviguer.php3?coll=$id_rubrique' class='bandeau_rub' style='background-image: url(img_pack/$image); padding-$spip_lang_right: 2px;'>$titre_rubrique</a></div>"; - } - $zdecal = $zdecal - 1; +function afficher_menu_rubriques() { + global $spip_lang_rtl; + $date_maj = lire_meta("date_calcul_rubriques"); + echo '<script type="text/javascript" src="js_menu_rubriques.php?'.$date_maj.'&dir='.$spip_lang_rtl.'"></script>'; } + function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivre", $onLoad = "") { global $couleurs_spip; global $couleur_foncee; @@ -2297,7 +2261,7 @@ else { echo "<div id='bandeautoutsite' class='bandeau_couleur_sous' style='$spip_lang_left: 0px; width: 200px;'>"; echo "<a href='articles_tous.php3' class='lien_sous'>"._T('icone_site_entier')."</a>"; - +/* $query = "SELECT id_rubrique FROM spip_rubriques LIMIT 0,1"; $result = spip_query($query); @@ -2327,9 +2291,13 @@ else { } } + */ // Mettre en attente l'affichage du menu de navigation (trop lourd) + + afficher_menu_rubriques(); + /* $result_racine = spip_query("SELECT * FROM spip_rubriques WHERE id_parent=0 ORDER BY titre"); $i = spip_num_rows($result_racine); @@ -2348,6 +2316,7 @@ else { } */ + echo "</div>"; diff --git a/ecrire/inc_rubriques.php3 b/ecrire/inc_rubriques.php3 index 5de962ea9f..a5889e87be 100644 --- a/ecrire/inc_rubriques.php3 +++ b/ecrire/inc_rubriques.php3 @@ -135,6 +135,9 @@ function calculer_rubriques() { while ($row = spip_fetch_array($r)) spip_query("UPDATE spip_syndic SET id_secteur=".$row['secteur']." WHERE id_rubrique=".$row['id']); + + // Sauver la date de la derniere mise a jour (pour menu_rubriques) + ecrire_meta("date_calcul_rubriques", date("U")); } diff --git a/ecrire/js_menu_rubriques.php b/ecrire/js_menu_rubriques.php new file mode 100644 index 0000000000..45ea28c3bc --- /dev/null +++ b/ecrire/js_menu_rubriques.php @@ -0,0 +1,72 @@ +<?php + +include ("inc.php3"); + + +function bandeau_menu() { + $result_racine = spip_query("SELECT * FROM spip_rubriques WHERE id_parent=0 ORDER BY titre"); + $i = spip_num_rows($result_racine); + if ($i > 0) { + $ret = "document.write(\"<div> </div>\");"; + $ret .= "document.write(\"<div class='bandeau_rubriques' style='z-index: 1;'>\");"; + while ($row = spip_fetch_array($result_racine)) { + $id_rubrique = $row["id_rubrique"]; + $titre_rubrique = supprimer_numero(typo($row["titre"])); + + $ret .= bandeau_rubrique ($id_rubrique, $titre_rubrique, $i); + + $i = $i - 1; + } + $ret .= "document.write(\"</div>\");"; + } + + //$ret = "<script>$ret</script>"; + + return $ret; +} + + +function bandeau_rubrique ($id_rubrique, $titre_rubrique, $z = 1) { + global $zdecal; + global $spip_ecran, $spip_display; + global $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right; + + // Calcul du nombre max de sous-menus + $zdecal = $zdecal + 1; + if ($spip_ecran == "large") $zmax = 8; + else $zmax= 6; + + // Limiter volontairement le nombre de sous-menus + $zmax = 6; + + if ($zindex < 1) $zindex = 1; + if ($zdecal == 1) $image = "secteur-12.gif"; + else $image = "rubrique-12.gif"; + + + + $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 .= 'document.write("<div style=\"position: relative; z-index: '.$z.';\" onMouseOver=\"setvisibility(\'bandeau_rub'.$id_rubrique.'\', \'visible\');\" onMouseOut=\"setvisibility(\'bandeau_rub'.$id_rubrique.'\', \'hidden\');\">");'; + $ret .= 'document.write("<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($titre_rubrique).'</a></div>");'; + $ret .= 'document.write("<div class=\"bandeau_rub\" style=\"z-index: '.($z+1).';\" id=\"bandeau_rub'.$id_rubrique.'\">");'; + while ($row_rub = spip_fetch_array($result_rub)) { + $id_rub = $row_rub["id_rubrique"]; + $titre_rub = supprimer_numero(typo($row_rub["titre"])); + //echo "<a href='naviguer.php3?coll=$id_rub' class='bandeau_rub'>$titre_rub</a>"; + $ret .= bandeau_rubrique ($id_rub, $titre_rub, ($z+$i)); + $i = $i - 1; + } + $ret .= "document.write(\"</div></div>\");"; + } else { + $ret .= 'document.write("<div><a href=\"naviguer.php3?coll='.$id_rubrique.'\" class=\"bandeau_rub\" style=\"background-image: url(img_pack/'.$image.'); padding-$spip_lang_right: 2px;\">'.addslashes($titre_rubrique).'</a></div>");'; + } + $zdecal = $zdecal - 1; + return $ret; +} + +echo bandeau_menu(); + +?> \ No newline at end of file diff --git a/spip_image.php3 b/spip_image.php3 index aaf54c0508..757e34f949 100644 --- a/spip_image.php3 +++ b/spip_image.php3 @@ -9,6 +9,7 @@ include_ecrire("inc_admin.php3"); include_local("inc-cache.php3"); + $taille_preview = lire_meta("taille_preview"); if ($taille_preview < 10) $taille_preview = 120; @@ -280,7 +281,6 @@ function ajout_doc($orig, $source, $dest, $mode, $id_document, $doc_vignette='', } - // image_name n'est valide que par POST http, mais pas par la methode ftp/upload // par ailleurs, pour un fichier ftp/upload, il faut effacer l'original nous-memes if (!$image_name AND $image2) { @@ -295,15 +295,15 @@ else { // // ajouter un document // -if ($ajout_doc == 'oui') { +if ($ajout_doc == 'oui') { if (eregi(".zip$",$image_name) AND !$action_zip){ // Pretraitement des fichiers ZIP // Recopier le fichier creer_repertoire('IMG', "tmp"); creer_repertoire('IMG', "tmp_zip"); - + $dest = 'IMG/tmp_zip/'; $dest .= ereg_replace("[^.a-zA-Z0-9_=-]+", "_", translitteration(ereg_replace("\.([^.]+)$", "", supprimer_tags(basename($image_name))))); $dest .= ".zip"; -- GitLab