[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / plugins-dist / svp / formulaires / admin_plugin.html
1 <B_erreurs_xml>
2 <div class='svp_retour'>
3 [(#BOITE_OUVRIR{<:svp:actions_en_erreur:>, error})]
4 <:svp:erreurs_xml:>
5 <ul>
6 <BOUCLE_erreurs_xml(DATA){source tableau,#ENV{_erreurs_xml}}>
7 <li>#VALEUR*</li>
8 </BOUCLE_erreurs_xml>
9 </ul>
10 #BOITE_FERMER
11 </div>
12 </B_erreurs_xml>
13 <div class="formulaire_spip formulaire_admin_plugin" id="formulaire_admin_plugin">
14 <h3 class="titrem">[(#CHEMIN_IMAGE{plugin-24.png}|balise_img{icone plugin-24,cadre-icone})]<span id="nbr_plugin"><:plugins_liste:></span> </h3>
15 <input type="input" id="filtrer" placeholder="<:svp:filtrer|attribut_html:>">
16 [<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
17 [<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
18 <form method="post" action="#ENV{action}">
19 <INCLURE{fond=formulaires/inc-confirmer_actions, env} />
20 #ACTION_FORMULAIRE
21 <div class="liste-plugins">
22 <fieldset>
23 <p class="explication">
24 [(#ENV{verrouille}|=={oui}|oui)
25 #SET{dir_plugins_dist,#CONST{_DIR_PLUGINS_DIST}|joli_repertoire}
26 <:svp:info_admin_plugin_verrouille{dir_plugins_dist=#GET{dir_plugins_dist}}:>
27 ][(#ENV{verrouille}|=={oui}|non)
28 [(#VAL{svp:info_admin_plugin}|concat{[_actif_(#ENV{actif, oui})], [_verrou_(#ENV{verrouille, non})]}|_T)]
29 ]
30 </p>
31 <INCLURE{fond=formulaires/inc-admin_plugin,env} />
32 </fieldset>
33 </div>
34 <div class="actions_multiples">
35 [<fieldset class="boutons">(#CONST{_DIR_PLUGINS_DIST}|in_array{#ENV{constante,#ARRAY}}|non)
36 <p class="cocher">
37 <a href="#" id="select_tous"><:svp:tout_cocher:></a><span class="sep"> | </span>
38 <a href="#" id="select_aucun"><:svp:tout_decocher:></a><span class="sep"> | </span>
39 <a href="#" id="select_up"><:svp:tout_cocher_up:></a>
40 </p>
41 <select id="action_globale" class="action" name="action_globale">
42 [(#ENV{actif}|=={oui}|non)<option value="on"><:svp:bouton_activer:></option>]
43 [(#ENV{actif}|=={non}|non)<option value="off"><:svp:bouton_desactiver:></option>]
44 <option value="up" id="option_up"><:svp:bouton_up:></option>
45 [(#ENV{actif}|=={non}|non|et{#AUTORISER{webmestre}}|oui)<option value="stop"><:svp:bouton_desinstaller:></option>]
46 </select>
47 <input type="submit" class="submit" name="appliquer" value="<:svp:bouton_appliquer:>" />
48 </fieldset>]
49 <script type="text/javascript">
50 /*<![CDATA[*/
51 (function($){
52
53 var tous_les_elements = $('div#liste_plugins ul > li');
54
55 // afficher le nombre de plugin au chargement de la page
56 calculer_nbr_plugin(tous_les_elements);
57
58 // on filtre les plugins
59 $('input#filtrer').keyup(function(){
60 var that = this;
61 jQuery('h1.grostitre').attr('data',$(this).val());
62 var elements_trouves = tous_les_elements.filter(function(i, li){
63 var listItemText = $(li).text().toUpperCase()
64 searchText = that.value.toUpperCase();
65 return ~listItemText.indexOf(searchText);
66 });
67 tous_les_elements.hide();
68 elements_trouves.show();
69
70 // recalculer le nombre de plugin
71 calculer_nbr_plugin(elements_trouves);
72 });
73
74 $("#select_tous").click(function(){
75 jQuery("input.select_plugin").prop("checked",true);
76 return false;
77 });
78 $("#select_aucun").click(function(){
79 $("input.select_plugin").prop("checked",false);
80 return false;
81 });
82 var cocher_plugins_up = function(){
83 if ($(".plugins li.item.up").length != 0) {
84 $("#select_up").click(function(){
85 $(".plugins li.item.up input.select_plugin").prop("checked",true);
86 $("select#action_globale>option#option_up").prop("selected",true);
87 return false;
88 });
89 } else {
90 $("#select_up").hide();
91 $("#select_up").prev(".sep").hide();
92 $("#option_up").hide();
93 }
94 }
95 // lorsqu'il y a de nombreux plugins et comme la remontee ajax est desactivee
96 // on ne voit pas forcement les erreurs. A ce monent la, on remonte dessus.
97 var remonter_sur_erreurs = function() {
98 if ($('#formulaire_admin_plugin .reponse_formulaire_erreur').length) {
99 $(document).scrollTop($('#formulaire_admin_plugin').offset().top - 20);
100 }
101 }
102 cocher_plugins_up();
103 onAjaxLoad(cocher_plugins_up);
104 onAjaxLoad(remonter_sur_erreurs);
105 onAjaxLoad(refiltrer);
106
107 // Au rechargement de la page et lors du chargement du descriptif d'un plugin
108 // on recupere l'éventuel filtre et on l'applique si présent
109 function refiltrer(){
110 if (jQuery('h1.grostitre').attr('data')) {
111 var elements_trouves = tous_les_elements.filter(function(i, li){
112 var listItemText = $(li).text().toUpperCase()
113 var searchText = jQuery('h1.grostitre').attr('data');
114 jQuery('input#filtrer').val(searchText);
115 return ~listItemText.indexOf(searchText.toUpperCase());
116 });
117 tous_les_elements.hide();
118 elements_trouves.show();
119 }
120 }
121
122 function calculer_nbr_plugin(liste_plugins){
123 var nbr_plugin = liste_plugins.length;
124 if (nbr_plugin > 1){
125 var texte = '<:svp:info_nb_plugins|texte_script:>';
126 texte = texte.replace('@nb@', nbr_plugin);
127 jQuery('span#nbr_plugin').text(texte);
128 } else if (nbr_plugin === 1){
129 jQuery('span#nbr_plugin').text('<:svp:info_1_plugin|texte_script:>');
130 } else {
131 jQuery('span#nbr_plugin').text('<:svp:info_0_plugin|texte_script:>');
132 }
133 }
134 })(jQuery);
135
136 /*]]>*/
137 </script>
138 </div>
139 </form>
140 </div>