ajout outils d'administration
authoryounes.tazi <younes@imac-de-younes-tazi.local>
Tue, 2 Mar 2010 15:56:04 +0000 (10:56 -0500)
committeryounes.tazi <younes@imac-de-younes-tazi.local>
Tue, 2 Mar 2010 15:56:04 +0000 (10:56 -0500)
21 files changed:
plugins/boutons_admin_supp/boutons_admin_supp_fonctions.php [new file with mode: 0644]
plugins/boutons_admin_supp/boutons_supp_options.php [new file with mode: 0644]
plugins/boutons_admin_supp/cacher.png [new file with mode: 0644]
plugins/boutons_admin_supp/exit.png [new file with mode: 0644]
plugins/boutons_admin_supp/fixe.png [new file with mode: 0644]
plugins/boutons_admin_supp/fonctions_boutons_supp.js [new file with mode: 0644]
plugins/boutons_admin_supp/formulaires/administration.html [new file with mode: 0644]
plugins/boutons_admin_supp/formulaires/formulaire_admin.html [new file with mode: 0644]
plugins/boutons_admin_supp/lang/basupp_ar.php [new file with mode: 0644]
plugins/boutons_admin_supp/lang/basupp_en.php [new file with mode: 0644]
plugins/boutons_admin_supp/lang/basupp_es.php [new file with mode: 0644]
plugins/boutons_admin_supp/lang/basupp_fr.php [new file with mode: 0644]
plugins/boutons_admin_supp/lang/basupp_pt.php [new file with mode: 0644]
plugins/boutons_admin_supp/montrer.png [new file with mode: 0644]
plugins/boutons_admin_supp/pas_fixe.png [new file with mode: 0644]
plugins/boutons_admin_supp/plugin.xml [new file with mode: 0644]
plugins/boutons_admin_supp/reload_page.png [new file with mode: 0644]
plugins/boutons_admin_supp/reload_page_new.png [new file with mode: 0644]
plugins/boutons_admin_supp/rien.gif [new file with mode: 0644]
squelettes/article.html
squelettes/formulaire/administration.html [deleted file]

diff --git a/plugins/boutons_admin_supp/boutons_admin_supp_fonctions.php b/plugins/boutons_admin_supp/boutons_admin_supp_fonctions.php
new file mode 100644 (file)
index 0000000..e347606
--- /dev/null
@@ -0,0 +1,28 @@
+<?php
+require find_in_path("boutons_supp_options.php");
+
+function boutons_admin_supp_insert_head($flux) {
+switch($GLOBALS['style_barre']){
+       case "a_droite":
+               $css = "\n
+<style type=\"text/css\">
+       .spip-admin-boutons {
+       display:list-item;
+       list-style-type:none;
+       }
+</style>\n";
+               break;
+
+       case "translucide":
+               $css = "\n
+<style type=\"text/css\">
+       .spip-admin-float, #bouton_montrer {
+       opacity:".$GLOBALS['translucidite']." !important;
+       }
+</style>\n";
+               break;
+}
+       return $css.$flux;
+}
+
+?>
diff --git a/plugins/boutons_admin_supp/boutons_supp_options.php b/plugins/boutons_admin_supp/boutons_supp_options.php
new file mode 100644 (file)
index 0000000..f1ef5e1
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+global $cacher_le_bouton;
+
+/*
+Pour placer la barre de boutons verticalement et a droite, decommenter
+la ligne suivante en enlevant les deux barres qui la debutent.
+*/
+
+//$GLOBALS['style_barre'] = "a_droite";
+
+/*
+Pour que la barre soit translucide, décommenter les deux lignes suivantes
+et choisir le taux de translucidite (de 0 a 1).
+*/
+
+$GLOBALS['style_barre'] = "translucide";
+$GLOBALS['translucidite'] = "0.6";
+
+
+/*
+Pour annuler l'affichage d'un bouton precis, decommenter la ligne voulue en
+enlevant les deux barres qui la debutent.
+
+Noter qu'il est parfaitement possible d'utiliser des conditions en PHP pour
+afficher ou non un bouton. Par exemple, si l'on veut que les boutons pour
+editer et modifier une rubrique n'apparaissent pas dans une rubrique
+particuliere (par exemple, la rubrique 100), il suffit d'utiliser la syntaxe
+suivante :
+*/
+if($GLOBALS['id_rubrique']=='100'){
+       $cacher_le_bouton["editer_rubrique"]=" style='display:none !important'";
+       $cacher_le_bouton["modifier_rubrique"]=" style='display:none !important'";
+}
+/*
+Par defaut, tous les boutons sont affiches.
+*/
+
+//$cacher_le_bouton["garder_au_premier_plan"]=" style='display:none !important'";
+
+ $cacher_le_bouton["auteur"]=" style='display:none !important'";
+
+// $cacher_le_bouton["creer_rubrique"]=" style='display:none !important'";
+// $cacher_le_bouton["nouvel_article"]=" style='display:none !important'";
+ $cacher_le_bouton["referencer_site"]=" style='display:none !important'";
+ $cacher_le_bouton["nouvelle_breve"]=" style='display:none !important'";
+// $cacher_le_bouton["editer_rubrique"]=" style='display:none !important'";
+// $cacher_le_bouton["editer_article"]=" style='display:none !important'";
+// $cacher_le_bouton["editer_breve"]=" style='display:none !important'";
+// $cacher_le_bouton["editer_auteur"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_breve"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_rubrique"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_article"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_mot"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_site"]=" style='display:none !important'";
+// $cacher_le_bouton["modifier_auteur"]=" style='display:none !important'";
+// $cacher_le_bouton["previsualisation"]=" style='display:none !important'";
+// $cacher_le_bouton["statistiques"]=" style='display:none !important'";
+// $cacher_le_bouton["espace_prive"]=" style='display:none !important'";
+// $cacher_le_bouton["calculer"]=" style='display:none !important'";
+// $cacher_le_bouton["deconnexion"]=" style='display:none !important'";
+// $cacher_le_bouton["masquer"]=" style='display:none !important'";
+?>
\ No newline at end of file
diff --git a/plugins/boutons_admin_supp/cacher.png b/plugins/boutons_admin_supp/cacher.png
new file mode 100644 (file)
index 0000000..f276ad5
Binary files /dev/null and b/plugins/boutons_admin_supp/cacher.png differ
diff --git a/plugins/boutons_admin_supp/exit.png b/plugins/boutons_admin_supp/exit.png
new file mode 100644 (file)
index 0000000..6323241
Binary files /dev/null and b/plugins/boutons_admin_supp/exit.png differ
diff --git a/plugins/boutons_admin_supp/fixe.png b/plugins/boutons_admin_supp/fixe.png
new file mode 100644 (file)
index 0000000..faa19ed
Binary files /dev/null and b/plugins/boutons_admin_supp/fixe.png differ
diff --git a/plugins/boutons_admin_supp/fonctions_boutons_supp.js b/plugins/boutons_admin_supp/fonctions_boutons_supp.js
new file mode 100644 (file)
index 0000000..f77e2d3
--- /dev/null
@@ -0,0 +1,121 @@
+// Fonctions pour la barre de boutons de boutons d'administration supplementaires.
+// Les fonctions createCookie() et readCookie()
+// ont ete recuperees depuis <http://www.quirksmode.org/js/cookies.html>
+// dans le respect des droits de reproduction declares sur
+// <http://www.quirksmode.org/about/copyright.html> (utilisation libre)
+// Les autres fonctions ont ete creees par Vincent Ramos.
+
+function createCookie(name,value,days) {
+       if (days) {
+               var date = new Date();
+               date.setTime(date.getTime()+(days*24*60*60*1000));
+               var expires = "; expires="+date.toGMTString();
+       }
+       else var expires = "";
+       document.cookie = name+"="+value+expires+"; path=/";
+}
+
+function readCookie(name) {
+       var nameEQ = name + "=";
+       var ca = document.cookie.split(';');
+       for(var i=0;i < ca.length;i++) {
+               var c = ca[i];
+               while (c.charAt(0)==' ') c = c.substring(1,c.length);
+               if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
+       }
+       return null;
+}
+
+function masquer_boutons(valeur){
+       maBarre_boutons=document.getElementById("boutons_admin_supp");
+       monBouton_montrer=document.getElementById("bouton_montrer");
+
+       if(valeur=="hidden"){
+               if (document.all) { // Rustine pour IE6 -- la peste soit de ce navigateur
+               document.all.boutons_admin_supp.style.visibility="hidden";
+               document.all.bouton_montrer.style.visibility="visible";
+               }
+               else {
+               maBarre_boutons.style.visibility = "hidden";
+               monBouton_montrer.style.visibility = "visible";
+               }
+       createCookie("etat_des_boutons","hidden",7);
+       }
+       else if (valeur=="visible"){
+               if (document.all) { // Rustine pour IE6 -- la peste soit de ce navigateur
+               document.all.boutons_admin_supp.style.visibility="visible";
+               document.all.bouton_montrer.style.visibility="hidden";
+               }
+               else {
+               maBarre_boutons.style.visibility = "visible";
+               monBouton_montrer.style.visibility = "hidden";
+               }
+       createCookie("etat_des_boutons","visible",7);
+       }
+}
+
+var etat = readCookie("etat_des_boutons");
+if(!etat){
+       etat = "visible";
+}
+masquer_boutons(etat);
+
+// =============================================
+// Bouton de fixation de la barre
+// N'est pas active avec IE car cela ne fonctionne pas sous IE6
+// (position:fixed n'etant pas supporte).
+// Amelioration possible : si IE7 comprend cette position,
+// activer ce bouton pour ce navigateur.
+// =============================================
+
+var statut_fixe = readCookie("statut_fixe");
+
+if (statut_fixe!="fixe" && statut_fixe!="pas_fixe"){
+       statut_fixe="pas_fixe";
+       fixer_barre(statut_fixe);
+       var stop_la = "oui";
+}
+
+if(stop_la != "oui"){
+       barre_boutons=document.getElementById("boutons_admin_supp");
+       if (statut_fixe=="pas_fixe" && !document.all){
+               barre_boutons.style.position="fixed";
+               document.images['montrer1'].style.position="fixed";
+               document.images['statut_fixation'].src=localisation_fixe;
+               document.images['statut_fixation'].title="Ne pas garder au premier plan";
+       }
+       else if (statut_fixe=="fixe" && !document.all){
+               document.images['statut_fixation'].src=localisation_pas_fixe;
+       }
+}
+
+function swap_fixer_barre(){
+       statut_fixe = readCookie("statut_fixe");
+       fixer_barre(statut_fixe);
+}
+
+function fixer_barre(valeur){
+       barre_boutons=document.getElementById("boutons_admin_supp");
+       if(valeur=="fixe" && !document.all){
+               barre_boutons.style.position="fixed";
+               document.images['montrer1'].style.position="fixed";
+               document.images['statut_fixation'].src=localisation_fixe;
+               document.images['statut_fixation'].title="Ne pas garder au premier plan";
+               createCookie("statut_fixe","pas_fixe",7);
+       }
+       else if (valeur=="pas_fixe" && !document.all){
+               barre_boutons.style.position="absolute";
+               document.images['statut_fixation'].src=localisation_pas_fixe;
+               document.images['statut_fixation'].title="Garder au premier plan";
+               document.images['montrer1'].style.position="absolute";
+               createCookie("statut_fixe","fixe",7);
+       }
+       else {
+               document.images['statut_fixation'].src=localisation_rien;
+       }
+}
+function quitter(url_quitter){
+       if(confirm('Voulez-vous quitter la session ?')){
+               window.location.href=url_quitter;
+       }
+}
\ No newline at end of file
diff --git a/plugins/boutons_admin_supp/formulaires/administration.html b/plugins/boutons_admin_supp/formulaires/administration.html
new file mode 100644 (file)
index 0000000..4e37463
--- /dev/null
@@ -0,0 +1,220 @@
+<?php
+// Fichier pour SPIP 1.9.2 surchargeant administration.html pour
+// le plugin boutons_admin_supp, par Vincent Ramos
+// <spip_dev AD kailaasa PVNCTVM net>, publie sous licence
+// GNU/GPL <http://www.gnu.org/copyleft/gpl.html>.
+
+// Les images sont tirees du jeu d'icones Nuvola <http://icon-king.com/?p=15>
+// et sont publiees sous licence LGPL <http://fr.wikipedia.org/wiki/LGPL>
+
+
+// Pas de boutons pour les visiteurs
+if($GLOBALS['auteur_session'][statut] == '6forum') return;
+
+// Quelques definitions de variables
+$img_montrer = '<img id="montrer1" src="'.
+               find_in_path('montrer.png').
+               '" style="vertical-align:middle;border:0;" alt="<:basupp:montrer_barre:>" />';
+$img_cacher = '<img id="montrer2" src="'.
+               find_in_path('cacher.png').
+               '" style="vertical-align:middle;border:0;" alt="<:basupp:cacher_barre:>" />';
+$img_reload = find_in_path('reload_page.png');
+$img_reload_new = find_in_path('reload_page_new.png');
+$page_modifie = "#ENV{use_cache}";
+if($page_modifie){
+$img_reload = $img_reload_new;
+}
+$img_logout = find_in_path('exit.png');
+
+// Masquer entierement les boutons quand on s'est deconnecte sans avoir detruit le cookie.
+if(!isset($GLOBALS['auteur_session']['id_auteur'])){$afficher_boutons="display:none; ";}
+else{$afficher_boutons="display:inherit; ";}
+
+// Appel du fichier de configuration boutons_supp_options.php, dans lequel on peut choisir
+// de masquer certains boutons
+include(find_in_path("boutons_supp_options.php"));
+$cacher_le_bouton = $GLOBALS['cacher_le_bouton'];
+?>
+
+[(#REM) Bouton lorsque la barre de boutons est masquee ]
+<div id="bouton_montrer" dir='#LANG_DIR' style="visibility:hidden; top:5px; right:35px; position: absolute; background-color: transparent; z-index: 100;">
+       <a href="javascript:masquer_boutons('visible')" title="<:basupp:montrer_barre:>">
+               <?php echo($img_montrer); ?>
+       </a>
+</div>
+
+[(#REM) Div globale de la barre de boutons ]
+
+<div id="boutons_admin_supp" [class="(#ENV{divclass,spip-admin-bloc})" ]dir='#LANG_DIR' style="<?php echo($afficher_boutons);?>visibility:hidden">
+
+       [(#REM) Bouton pour fixer ou non la barre de boutons ]
+       <a href="javascript:swap_fixer_barre()"<?php echo $cacher_le_bouton['garder_au_premier_plan'];?>>
+               <img id="statut_fixation" alt="." src="rien.gif"  style="border:0;"/>
+       </a>
+
+       [(#REM) Bouton avec le nom de l'auteur connecte et un lien vers sa page ]
+       <?php
+       echo("
+       <span style='font-variant:small-caps'>
+               <a href='".generer_url_public('auteur','id_auteur='.$GLOBALS['auteur_session']['id_auteur'])
+                       . "' class='spip-admin-boutons'".$cacher_le_bouton['auteur'].">"
+                       . $GLOBALS['auteur_session']['nom']."
+               </a>
+       </span>");
+       ?>
+
+       [(#REM) Analyse XML]
+       [<a href='(#ENV{analyser})' class='spip-admin-boutons'><:analyse_xml:>[(#ENV{xhtml_error}|?{' *',''})]</a>]
+
+       [(#REM) Creer une rubrique si l'on est administrateur ]
+       <?php
+       if($GLOBALS['auteur_session']['statut'] == '0minirezo'){
+       echo("
+       <a href='ecrire/?exec=rubriques_edit&amp;new=oui[&amp;id_parent=(#ENV{id_rubrique})]' class='spip-admin-boutons'".$cacher_le_bouton['creer_rubrique'].">
+               <:icone_creer_rubrique:>
+       </a>");
+       }
+       ?>
+
+       [(#REM) Ecrire un nouvel article dans la rubrique en cours ]
+       <a href='ecrire/?exec=articles_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton['nouvel_article'];?>>
+               <:icone_ecrire_article:>
+       </a>
+
+       [(#REM) Referencer un site ]
+       <a href='ecrire/?exec=sites_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton["referencer_site"];?>>
+               <:info_sites_referencer:>
+       </a>
+
+       [(#REM) Ecrire une nouvelle breve ]
+       <a href='ecrire/?exec=breves_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton["nouvelle_breve"];?>>
+               <:icone_nouvelle_breve:>
+       </a>
+
+       [(#REM) Les boutons suivants ne s'affichent pas pour les redacteurs ]
+       <?php
+       if($GLOBALS['auteur_session']['statut'] == '0minirezo'){
+       // Editer la rubrique en cours
+               echo("
+               <span".$cacher_le_bouton["editer_rubrique"].">
+                       [<a href='ecrire/?exec=rubriques_edit&amp;id_rubrique=#ENV{id_rubrique}' class='spip-admin-boutons'>
+                               <:basupp:editer:> ((#ENV{id_rubrique}))
+                       </a>]
+               </span>");
+       // Editer l'article en cours
+               echo("
+               <span".$cacher_le_bouton["editer_article"].">
+                       [<a href='ecrire/?exec=articles_edit&amp;id_article=#ENV{id_article}' class='spip-admin-boutons'>
+                               <:basupp:editer:> ((#ENV{id_article}))
+                       </a>]
+               </span>");
+       // Editer la breve en cours
+               echo("
+               <span".$cacher_le_bouton["editer_breve"].">
+                       [<a href='ecrire/?exec=breves_edit&amp;id_breve=#ENV{id_breve}' class='spip-admin-boutons'>
+                               <:basupp:editer:> ((#ENV{id_breve}))
+                       </a>]
+               </span>");
+       // Editer l'auteur en cours
+               echo("
+               <span".$cacher_le_bouton["editer_auteur"].">
+                       [<a href='". parametre_url('[(#ENV{voir_auteur})]', 'edit', 'oui') . "' class='spip-admin-boutons'>
+                               <:basupp:editer:> ((#ENV{id_auteur}))
+                       </a>]
+               </span>");
+       // Modifier la breve en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_breve"].">
+                       [<a href='[(#ENV{voir_breve})]' class='spip-admin-boutons'>
+                               <:admin_modifier_breve:> ((#ENV{id_breve}))
+                       </a>]
+               </span>");
+       // Modifier la rubrique en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_rubrique"].">
+                       [<a href='[(#ENV{voir_rubrique})]' class='spip-admin-boutons'>
+                               <:admin_modifier_rubrique:> ((#ENV{id_rubrique}))
+                       </a>]
+               </span>");
+       // Modifier l'article en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_article"].">
+                       [<a href='[(#ENV{voir_article})]' class='spip-admin-boutons'>
+                               <:admin_modifier_article:> ((#ENV{id_article}))
+                       </a>]
+               </span>");
+       // Modifier et editer le mot-clef en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_mot"].">
+                       [<a href='[(#ENV{voir_mot})]' class='spip-admin-boutons'>
+                               <:admin_modifier_mot:> ((#ENV{id_mot}))
+                       </a>]
+               </span>");
+       // Modifier le site reference en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_site"].">
+                       [<a href='[(#ENV{voir_site})]' class='spip-admin-boutons'>
+                               <:icone_modifier_site:> ((#ENV{id_syndic}))
+                       </a>]
+               </span>");
+       // Modifier l'auteur en cours
+               echo("
+               <span".$cacher_le_bouton["modifier_auteur"].">
+                       [<a href='[(#ENV{voir_auteur})]' class='spip-admin-boutons'>
+                               <:admin_modifier_auteur:> ((#ENV{id_auteur}))
+                       </a>]</span>");
+       }
+       ?>
+
+       [(#REM) Bouton de previsualisation ]
+       <span<?php echo $cacher_le_bouton["previsualisation"]?>>
+               [<a href="(#ENV{preview})" class="spip-admin-boutons">
+                       <:previsualisation:>
+               </a>]
+       </span>
+
+       [(#REM) Acces aux statistiques ]
+       <span<?php echo $cacher_le_bouton["statistiques"]?>>
+               [<a href='(#ENV{statistiques})' class='spip-admin-boutons'>
+                       [<:info_visites:>&nbsp;(#ENV{visites})][;&nbsp;<:info_popularite_5:>&nbsp;(#ENV{popularite})]
+               </a>]
+       </span>
+
+       [(#REM) Acces a l'espace prive ]
+       <a href='./ecrire' class='spip-admin-boutons'<?php echo $cacher_le_bouton['espace_prive'];?>>
+               <:espace_prive:>
+       </a>
+
+       [(#REM) Calcul et recalcul de la page en cours ]
+       <a href='[(#SELF|parametre_url{var_mode,#ENV{calcul}})]'<?php echo $cacher_le_bouton['calculer'];?> title="<:admin_recalculer:> [(#ENV{use_cache}|?{(<:basupp:calcul_necessaire:>),''})]">
+               &nbsp;<img style="vertical-align:middle;border:0;" src="<?php echo($img_reload); ?>" alt="<:admin_recalculer:>" />
+       </a>
+
+       [(#REM) Debogueur de squelettes ]
+       [<a href='(#ENV{debug})' class='spip-admin-boutons'>
+               <:admin_debug:>
+       </a>]
+
+       [(#REM) Deconnexion ]
+       <a href="javascript:quitter('#URL_LOGOUT')"<?php echo $cacher_le_bouton['deconnexion'];?> title="<:icone_deconnecter:>">
+               <img style="vertical-align:middle;border:0;" src="<?php echo($img_logout); ?>" alt="<:icone_deconnecter:>" />
+       </a>
+
+       [(#REM) Bouton pour masquer/afficher la barre de boutons ]
+       <a href="javascript:masquer_boutons('hidden')"<?php echo $cacher_le_bouton['masquer'];?> title="<:basupp:cacher_barre:>" style="font-style:italic;">
+               <?php echo($img_cacher);?>
+       </a>
+</div>
+
+<?php
+echo '
+<script type="text/javascript">
+var localisation_fixe = "'.find_in_path('fixe.png').'";
+var localisation_pas_fixe = "'.find_in_path('pas_fixe.png').'";
+var localisation_rien = "'.find_in_path('rien.gif').'";
+</script>';
+
+/* Appel des fonctions en javascript pour masquer/afficher les boutons */
+$localisation_fonctions_js = '<script src="'.find_in_path('fonctions_boutons_supp.js').'" type="text/javascript"></script>';
+echo $localisation_fonctions_js;
+?>
diff --git a/plugins/boutons_admin_supp/formulaires/formulaire_admin.html b/plugins/boutons_admin_supp/formulaires/formulaire_admin.html
new file mode 100644 (file)
index 0000000..cc12de1
--- /dev/null
@@ -0,0 +1,212 @@
+<?php\r
+// Fichier pour SPIP 1.9.1 surchargeant formulaire_admin.html pour\r
+// le plugin boutons_admin_supp, par Vincent Ramos\r
+// <spip_dev AD kailaasa PVNCTVM net>, publie sous licence\r
+// GNU/GPL <http://www.gnu.org/copyleft/gpl.html>.\r
+\r
+// Les images sont tirees du jeu d'icones Nuvola <http://icon-king.com/?p=15>\r
+// et sont publiees sous licence LGPL <http://fr.wikipedia.org/wiki/LGPL>\r
+\r
+// Pas de boutons pour les visiteurs\r
+if($GLOBALS['auteur_session'][statut] == '6forum') return;\r
+\r
+// Quelques definitions de variables\r
+$img_montrer = '<img name="montrer1" src="'.\r
+               find_in_path('montrer.png').\r
+               '" style="vertical-align:middle" alt="<:basupp:montrer_barre:>" />';\r
+$img_cacher = '<img name="montrer2" src="'.\r
+               find_in_path('cacher.png').\r
+               '" style="vertical-align:middle" alt="<:basupp:cacher_barre:>" />';\r
+$img_reload = find_in_path('reload_page.png');\r
+$img_reload_new = find_in_path('reload_page_new.png');\r
+$page_modifie = "#ENV{use_cache}";\r
+if($page_modifie){\r
+$img_reload = $img_reload_new;\r
+}\r
+$img_logout = find_in_path('exit.png');\r
+\r
+// Masquer entierement les boutons quand on s'est deconnecte sans avoir detruit le cookie.\r
+if(!isset($GLOBALS['auteur_session']['id_auteur'])){$afficher_boutons="display:none; ";}\r
+else{$afficher_boutons="display:inherit; ";}\r
+\r
+// Appel du fichier de configuration boutons_supp_options.php, dans lequel on peut choisir\r
+// de masquer certains boutons\r
+include(find_in_path("boutons_supp_options.php"));\r
+$cacher_le_bouton = $GLOBALS['cacher_le_bouton'];\r
+?>\r
+\r
+[(#REM) Bouton lorsque la barre de boutons est masquee ]\r
+<div id="bouton_montrer" dir='#LANG_DIR' style="visibility:hidden; top:5px; right:35px; position: absolute; background-color: transparent; z-index: 100;">\r
+       <a href="javascript:masquer_boutons('visible')" title="<:basupp:montrer_barre:>">\r
+               <?php echo($img_montrer); ?>\r
+       </a>\r
+</div>\r
+\r
+[(#REM) Div globale de la barre de boutons ]\r
+\r
+<div id="boutons_admin_supp" [class="(#ENV{divclass,spip-admin-bloc})" ]dir='#LANG_DIR' style="<?php echo($afficher_boutons);?>visibility:hidden">\r
+\r
+       [(#REM) Bouton pour fixer ou non la barre de boutons ]\r
+       <a href="javascript:swap_fixer_barre()"<?php echo $cacher_le_bouton['garder_au_premier_plan'];?>>\r
+               <img name="statut_fixation" alt="." src="rien.gif" />\r
+       </a>\r
+\r
+       [(#REM) Bouton avec le nom de l'auteur connecte et un lien vers sa page ]\r
+       <?php\r
+       echo("\r
+       <span style='font-variant:small-caps'>\r
+               <a href='".generer_url_public('auteur','id_auteur='.$GLOBALS['auteur_session']['id_auteur'])\r
+                       . "' class='spip-admin-boutons'".$cacher_le_bouton['auteur'].">"\r
+                       . $GLOBALS['auteur_session']['nom']."\r
+               </a>\r
+       </span>");\r
+       ?>\r
+\r
+       [(#REM) Analyse XML]\r
+       [<a href='(#ENV{analyser})' class='spip-admin-boutons'><:analyse_xml:>[(#ENV{xhtml_error}|?{' *',''})]</a>]\r
+\r
+       [(#REM) Creer une rubrique si l'on est administrateur ]\r
+       <?php\r
+       if($GLOBALS['auteur_session']['statut'] == '0minirezo'){\r
+       echo("\r
+       <a href='ecrire/?exec=rubriques_edit&amp;new=oui[&amp;id_parent=(#ENV{id_rubrique})]' class='spip-admin-boutons'".$cacher_le_bouton['creer_rubrique'].">\r
+               <:icone_creer_rubrique:>\r
+       </a>");\r
+       }\r
+       ?>\r
+\r
+       [(#REM) Ecrire un nouvel article dans la rubrique en cours ]\r
+       <a href='ecrire/?exec=articles_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton['nouvel_article'];?>>\r
+               <:icone_ecrire_article:>\r
+       </a>\r
+\r
+       [(#REM) Referencer un site ]\r
+       <a href='ecrire/?exec=sites_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton["referencer_site"];?>>\r
+               <:info_sites_referencer:>\r
+       </a>\r
+\r
+       [(#REM) Ecrire une nouvelle breve ]\r
+       <a href='ecrire/?exec=breves_edit&amp;new=oui[&amp;id_rubrique=(#ENV{id_rubrique})]' class='spip-admin-boutons'<?php echo $cacher_le_bouton["nouvelle_breve"];?>>\r
+               <:icone_nouvelle_breve:>\r
+       </a>\r
+\r
+       [(#REM) Les boutons suivants ne s'affichent pas pour les redacteurs ]\r
+       <?php\r
+       if($GLOBALS['auteur_session']['statut'] == '0minirezo'){\r
+       // Editer la rubrique en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["editer_rubrique"].">\r
+                       [<a href='ecrire/?exec=rubriques_edit&amp;id_rubrique=#ENV{id_rubrique}' class='spip-admin-boutons'>\r
+                               <:basupp:editer:> ((#ENV{id_rubrique}))\r
+                       </a>]\r
+               </span>");\r
+       // Editer l'article en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["editer_article"].">\r
+                       [<a href='ecrire/?exec=articles_edit&amp;id_article=#ENV{id_article}' class='spip-admin-boutons'>\r
+                               <:basupp:editer:> ((#ENV{id_article}))\r
+                       </a>]\r
+               </span>");\r
+       // Editer la breve en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["editer_breve"].">\r
+                       [<a href='ecrire/?exec=breves_edit&amp;id_breve=#ENV{id_breve}' class='spip-admin-boutons'>\r
+                               <:basupp:editer:> ((#ENV{id_breve}))\r
+                       </a>]\r
+               </span>");\r
+       // Editer l'auteur en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["editer_auteur"].">\r
+                       [<a href='". parametre_url('[(#ENV{voir_auteur})]', 'edit', 'oui') . "' class='spip-admin-boutons'>\r
+                               <:basupp:editer:> ((#ENV{id_auteur}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier la breve en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_breve"].">\r
+                       [<a href='[(#ENV{voir_breve})]' class='spip-admin-boutons'>\r
+                               <:admin_modifier_breve:> ((#ENV{id_breve}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier la rubrique en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_rubrique"].">\r
+                       [<a href='[(#ENV{voir_rubrique})]' class='spip-admin-boutons'>\r
+                               <:admin_modifier_rubrique:> ((#ENV{id_rubrique}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier l'article en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_article"].">\r
+                       [<a href='[(#ENV{voir_article})]' class='spip-admin-boutons'>\r
+                               <:admin_modifier_article:> ((#ENV{id_article}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier et editer le mot-clef en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_mot"].">\r
+                       [<a href='[(#ENV{voir_mot})]' class='spip-admin-boutons'>\r
+                               <:admin_modifier_mot:> ((#ENV{id_mot}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier le site reference en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_site"].">\r
+                       [<a href='[(#ENV{voir_site})]' class='spip-admin-boutons'>\r
+                               <:icone_modifier_site:> ((#ENV{id_syndic}))\r
+                       </a>]\r
+               </span>");\r
+       // Modifier l'auteur en cours\r
+               echo("\r
+               <span".$cacher_le_bouton["modifier_auteur"].">\r
+                       [<a href='[(#ENV{voir_auteur})]' class='spip-admin-boutons'>\r
+                               <:admin_modifier_auteur:> ((#ENV{id_auteur}))\r
+                       </a>]</span>");\r
+       }\r
+       ?>\r
+\r
+       [(#REM) Bouton de previsualisation ]\r
+       <span<?php echo $cacher_le_bouton["previsualisation"]?>>\r
+               [<a href="(#ENV{preview})" class="spip-admin-boutons">\r
+                       <:previsualisation:>\r
+               </a>]\r
+       </span>\r
+\r
+       [(#REM) Acces aux statistiques ]\r
+       <span<?php echo $cacher_le_bouton["statistiques"]?>>\r
+               [<a href='(#ENV{statistiques})' class='spip-admin-boutons'>\r
+                       [<:info_visites:>&nbsp;(#ENV{visites})][;&nbsp;<:info_popularite_5:>&nbsp;(#ENV{popularite})]\r
+               </a>]\r
+       </span>\r
+\r
+       [(#REM) Acces a l'espace prive ]\r
+       <a href='./ecrire' class='spip-admin-boutons'<?php echo $cacher_le_bouton['espace_prive'];?>>\r
+               <:espace_prive:>\r
+       </a>\r
+\r
+       [(#REM) Calcul et recalcul de la page en cours ]\r
+       <a href='[(#SELF|parametre_url{var_mode,#ENV{calcul}})]'<?php echo $cacher_le_bouton['calculer'];?> title="<:admin_recalculer:> [(#ENV{use_cache}|?{(<:basupp:calcul_necessaire:>),''})]">\r
+               &nbsp;<img style="vertical-align:middle" src="<?php echo($img_reload); ?>" alt="<:admin_recalculer:>" />\r
+       </a>\r
+\r
+       [(#REM) Debogueur de squelettes ]\r
+       [<a href='(#ENV{debug})' class='spip-admin-boutons'>\r
+               <:admin_debug:>\r
+       </a>]\r
+\r
+       [(#REM) Deconnexion ]\r
+       <a href="javascript:quitter('#URL_LOGOUT')"<?php echo $cacher_le_bouton['deconnexion'];?> title="<:icone_deconnecter:>">\r
+               <img style="vertical-align:middle" src="<?php echo($img_logout); ?>" alt="<:icone_deconnecter:>" />\r
+       </a>\r
+\r
+       [(#REM) Bouton pour masquer/afficher la barre de boutons ]\r
+       <a href="javascript:masquer_boutons('hidden')"<?php echo $cacher_le_bouton['masquer'];?> title="<:basupp:cacher_barre:>" style="font-style:italic;">\r
+               <?php echo($img_cacher);?>\r
+       </a>\r
+</div>\r
+\r
+<?php\r
+/* Appel des fonctions en javascript pour masquer/afficher les boutons */\r
+$localisation_fonctions_js = '<script src="'.find_in_path('fonctions_boutons_supp.js').'" type="text/javascript"></script>';\r
+echo $localisation_fonctions_js;\r
+?>\r
diff --git a/plugins/boutons_admin_supp/lang/basupp_ar.php b/plugins/boutons_admin_supp/lang/basupp_ar.php
new file mode 100644 (file)
index 0000000..5eff552
--- /dev/null
@@ -0,0 +1,8 @@
+<?php\r
+\r
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP\r
+\r
+$GLOBALS[$GLOBALS['idx_lang']] = array(\r
+    'editer' => '&#1578;&#1581;&#1585;&#1610;&#1585;',\r
+    );\r
+?>\r
diff --git a/plugins/boutons_admin_supp/lang/basupp_en.php b/plugins/boutons_admin_supp/lang/basupp_en.php
new file mode 100644 (file)
index 0000000..872d8dc
--- /dev/null
@@ -0,0 +1,10 @@
+<?php\r
+\r
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP\r
+\r
+$GLOBALS[$GLOBALS['idx_lang']] = array(\r
+       'editer' => 'Edit',\r
+       'montrer_barre' => 'Show button bar',\r
+       'cacher_barre' => 'Hide button bar',\r
+       );\r
+?>\r
diff --git a/plugins/boutons_admin_supp/lang/basupp_es.php b/plugins/boutons_admin_supp/lang/basupp_es.php
new file mode 100644 (file)
index 0000000..fe36ada
--- /dev/null
@@ -0,0 +1,10 @@
+<?php\r
+\r
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP\r
+\r
+$GLOBALS[$GLOBALS['idx_lang']] = array(\r
+       'editer' => 'Editar',\r
+       'montrer_barre' => 'Mostrar la barra de botones',\r
+       'cacher_barre' => 'Esconder la barra de botones',\r
+   );\r
+?>\r
diff --git a/plugins/boutons_admin_supp/lang/basupp_fr.php b/plugins/boutons_admin_supp/lang/basupp_fr.php
new file mode 100644 (file)
index 0000000..02ef8e9
--- /dev/null
@@ -0,0 +1,11 @@
+<?php\r
+\r
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP\r
+\r
+$GLOBALS[$GLOBALS['idx_lang']] = array(\r
+       'editer' => '&Eacute;diter',\r
+       'montrer_barre' => 'Montrer la barre de boutons',\r
+       'cacher_barre' => 'Cacher la barre de boutons',\r
+       'calcul_necessaire' => 'la page n&eacute;cessite un recalcul',\r
+   );\r
+?>\r
diff --git a/plugins/boutons_admin_supp/lang/basupp_pt.php b/plugins/boutons_admin_supp/lang/basupp_pt.php
new file mode 100644 (file)
index 0000000..75d8984
--- /dev/null
@@ -0,0 +1,8 @@
+<?php\r
+\r
+// This is a SPIP language file  --  Ceci est un fichier langue de SPIP\r
+\r
+$GLOBALS[$GLOBALS['idx_lang']] = array(\r
+       'editer' => 'Editar',\r
+       );\r
+?>\r
diff --git a/plugins/boutons_admin_supp/montrer.png b/plugins/boutons_admin_supp/montrer.png
new file mode 100644 (file)
index 0000000..f10b2ec
Binary files /dev/null and b/plugins/boutons_admin_supp/montrer.png differ
diff --git a/plugins/boutons_admin_supp/pas_fixe.png b/plugins/boutons_admin_supp/pas_fixe.png
new file mode 100644 (file)
index 0000000..ca3c5ca
Binary files /dev/null and b/plugins/boutons_admin_supp/pas_fixe.png differ
diff --git a/plugins/boutons_admin_supp/plugin.xml b/plugins/boutons_admin_supp/plugin.xml
new file mode 100644 (file)
index 0000000..51053e6
--- /dev/null
@@ -0,0 +1,51 @@
+<plugin>
+    <nom>
+    <multi>
+    [fr]Boutons d&#8217;administration suppl&eacute;mentaires
+    [de]Zus&#228;tzliche Administrations-Buttons
+    </multi>
+    </nom>
+    <version>2.4</version>
+    <prefix>boutons_admin_supp</prefix>
+    <etat>stable</etat>
+    <auteur>
+    [Vincent Ramos->http://www.spip-contrib.net/auteur7639.html]
+    <multi>
+    [fr](auteur initial&nbsp;; le plugin est maintenant d&eacute;velopp&eacute; en commun).
+    [de](Urspr&uuml;nglicher Autor; das Plugin ist nun gemeinschaftlich entwickelt).
+    </multi>
+    </auteur>
+    <lien>[<multi>[fr]Description sur [de]Beschreibung auf </multi>SPIP-Contrib->http://www.spip-contrib.net/article1553.html]</lien>
+    <description>
+    <multi>
+    [fr]Ce plugin ajoute, dans l&#8217;interface publique, des boutons d&#8217;administration suppl&eacute;mentaires permettant, par exemple, d&#8217;&eacute;diter directement le texte d&#8217;un article, d&#8217;une rubrique, d&#8217;acc&eacute;der &agrave; l&#8217;interface priv&eacute;e, de cr&eacute;er un nouvel article, etc. Les possibilit&#233;s offertes d&#233;pendent du statut&nbsp;: les administrateurs seuls, par exemple, disposent d&#8217;un bouton pour cr&#233;er une rubrique.
+
+    Un bouton (prenant la forme d&#8217;un plus ou d&#8217;un moins) permet de masquer/afficher les boutons de la barre d&#8217;&eacute;dition et un autre (en forme de trombone) de garder cette barre au premier plan (ce bouton n&#8217;est pas activ&#233; pour Internet Explorer).
+
+    La technique employ&eacute;e (surcharge du fichier <code>formulaire_admin.html</code>) n&#8217;a rien d&#8217;original&nbsp;: elle est par exemple expliqu&eacute;e dans [cette page->http://www.spip-contrib.net/Administrer-un-site-web-depuis-l]. La seule originalit&eacute; est qu&#8217;elle se pr&eacute;sente ici sous la forme d&#8217;un plugin, qui ne n&eacute;cessite donc pas de modification de fichiers ou d&#8217;ajout de squelettes et permet des mises &agrave; jour simplifi&eacute;es. L&#8217;intitul&eacute; des boutons suppl&eacute;mentaire est localis&eacute; et s&#8217;affichera dans la langue choisie pour l&#8217;interface.
+
+    Noter que les rubriques, articles, br&egrave;ves ou r&eacute;f&eacute;rences &agrave; des sites externes cr&eacute;&eacute;s par ce biais sont par d&eacute;faut class&eacute;s dans la rubrique depuis laquelle on a cliqu&eacute; sur le bouton dans la partie publique du site.
+
+    Un fichier de configuration permet de choisir les boutons suppl&eacute;mentaires qu&#8217;on d&eacute;sire voir appara&icirc;tre afin de masquer d&#233;finitivement ceux qui ne semblent pas utiles. La configuration est globale et concerne tous les utilisateurs.
+
+    Ce plugin est distribu&eacute; sous licence GNU/GPL
+    [de]Dieses Plugin f&uuml;gt im &ouml;ffentlichen Bereich zus&auml;tzliche Administrations-Buttons hinzu, die Beispielsweise erm&ouml;glichen, den Text eines Artikels, einer Rubrik direkt zu editieren, in den privaten Redaktionsbereich zu gelangen, eine neuen Artikel zu erzeugen, etc. Die M&ouml;glichkeiten h&auml;ngen vom Status ab: nur die Administratoren zum Beispiel k&ouml;nnen eine Rubrik erzeugen.
+
+    Ein Button (in Form eines plus oder minus) erm&ouml;glicht, die Toolbar anzuzeigen oder zu verstecken, ein anderer (eine B&uuml;roklammer) erlaubt, die Toolbar im Vordergrund zu lassen (dieser Button ist nicht aktiv f&uuml;r Internet Explorer).
+
+    Die verwendete Technik ist nicht besonders originell (&Uuml;berladung der Datei <code>formulaire_admin.html</code>): sie ist zum Beispiel [auf dieser Seite->http://www.spip-contrib.net/Administrer-un-site-web-depuis-l] erkl&auml;rt. Die einzige Originalit&auml;t ist hier die Pr&auml;sentation in Form eines Plugins, das keine &Auml;nderung von Dateien oder Skeletten notwendig macht und die Updates erleichtert. Die Titel der Buttons werden der jeweiligen Sprache der Oberfl&auml;che angepasst.
+
+    Zu bachten ist, dass die Rubriken, Artikel etc die durch die Buttons erzeugt worden sind, in der Rubrik platziert sind von der aus man im &ouml;ffentlichen Bereich auf den Button geklickt hat.
+
+    Eine Konfigurationsdatei erlaubt es, die zus&auml;tzlichen Buttons zu w&auml;hlen, die angezeigt oder definitif versteckt werden sollen. Die Konfiguration ist global und betrifft alle Nutzer.
+
+    Dieses Plugin ist unter der Lizenz GNU/GPL vertrieben
+    </multi>
+    </description>
+    <pipeline>
+        <nom>insert_head</nom>
+        <inclure>boutons_admin_supp_fonctions.php</inclure>
+    </pipeline>
+       <necessite id="SPIP" version="[1.9.0;]" />
+       <categorie>maintenance</categorie>
+</plugin>
\ No newline at end of file
diff --git a/plugins/boutons_admin_supp/reload_page.png b/plugins/boutons_admin_supp/reload_page.png
new file mode 100644 (file)
index 0000000..35beef8
Binary files /dev/null and b/plugins/boutons_admin_supp/reload_page.png differ
diff --git a/plugins/boutons_admin_supp/reload_page_new.png b/plugins/boutons_admin_supp/reload_page_new.png
new file mode 100644 (file)
index 0000000..cc8f18c
Binary files /dev/null and b/plugins/boutons_admin_supp/reload_page_new.png differ
diff --git a/plugins/boutons_admin_supp/rien.gif b/plugins/boutons_admin_supp/rien.gif
new file mode 100644 (file)
index 0000000..bc9785e
Binary files /dev/null and b/plugins/boutons_admin_supp/rien.gif differ
index fd08b4c..9728f86 100644 (file)
@@ -1,3 +1,6 @@
+[(#REM)
+       Un cache plus court, pour la boucle syndic_articles
+]#CACHE{3600}
 <BOUCLE_principale(ARTICLES) {id_article}>
 <INCLURE{fond=inc-head}{id_article}>
 <body>
diff --git a/squelettes/formulaire/administration.html b/squelettes/formulaire/administration.html
deleted file mode 100755 (executable)
index 0e7129d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
- <div[ class="(#ENV{divclass,spip-admin-bloc})"] dir="#LANG_DIR">[
-       <a href="(#ENV{analyser})" class="spip-admin-boutons"
-               id="analyser"><:analyse_xml:>[ ((#ENV{xhtml_error}))]</a>][
-       <a href="[(#ENV{voir_article})]" class="spip-admin-boutons"
-               id="voir_article"><:admin_modifier_article:>
-                       ((#ENV{id_article}))</a>][
-       <a href="[(#ENV{voir_breve})]" class="spip-admin-boutons"
-               id="voir_breve"><:admin_modifier_breve:>
-                       ((#ENV{id_breve}))</a>][
-       <a href="[(#ENV{voir_rubrique})]" class="spip-admin-boutons"
-               id="voir_rubrique"><:admin_modifier_rubrique:>
-                       ((#ENV{id_rubrique}))</a>][
-       <a href="[(#ENV{voir_mot})]" class="spip-admin-boutons"
-               id="voir_mot"><:admin_modifier_mot:>
-                       ((#ENV{id_mot}))</a>][
-       <a href="[(#ENV{voir_site})]" class="spip-admin-boutons"
-               id="voir_site"><:icone_modifier_site:>
-                       ((#ENV{id_syndic}))</a>][
-       <a href="[(#ENV{voir_auteur})]" class="spip-admin-boutons"
-               id="voir_auteur"><:admin_modifier_auteur:>
-                       ((#ENV{id_auteur}))</a>][
-       <a href="(#ENV{ecrire})" class="spip-admin-boutons"
-               id="ecrire"><:espace_prive:></a>]
-       <a href="[(#SELF|parametre_url{var_mode,#ENV{calcul}})]" class="spip-admin-boutons"
-               id="var_mode"><:admin_recalculer:>[(#ENV{use_cache})]</a>[
-       <a href="(#ENV{statistiques})" class="spip-admin-boutons"
-               id="statistiques">[<:info_visites:>&nbsp;(#ENV{visites})][;&nbsp;<:info_popularite_5:>&nbsp;(#ENV{popularite})]</a>][
-       <a href="(#ENV{preview})" class="spip-admin-boutons"
-               id="preview"><:previsualisation:></a>][
-       <a href="(#ENV{debug})" class="spip-admin-boutons"
-               id="debug"><:admin_debug:></a>]
-</div>
\ No newline at end of file