source: spip-zone/_plugins_/_dev_/mots_techniques/exec/mots_tous.php @ 23407

Last change on this file since 23407 was 23407, checked in by marcimat@…, 11 years ago

Changement/simplification dans les autorisations de ce plugin :

  • voirmots de groupemots = voir de groupemots. Inutile de faire plus compliqué : si on ne peut pas voir le groupe, on ne peut pas voir les mots. Voir le groupe sans voir les mots n'ont pas trop de sens finalement.
  • 'creer' devient 'modifier' comme dans le core qui ne fait pas cette distinction non plus.
File size: 8.5 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2008                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined("_ECRIRE_INC_VERSION")) return;
14
15include_spip('inc/presentation');
16include_spip('inc/actions');
17
18// http://doc.spip.org/@exec_mots_tous_dist
19function exec_mots_tous_dist()
20{
21        global $spip_lang, $spip_lang_left, $spip_lang_right;
22
23        $conf_mot = intval(_request('conf_mot'));
24        $son_groupe = intval(_request('son_groupe'));
25
26        pipeline('exec_init',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
27        $commencer_page = charger_fonction('commencer_page', 'inc');
28        echo $commencer_page(_T('titre_page_mots_tous'), "naviguer", "mots");
29        echo debut_gauche('', true);
30
31
32        echo pipeline('affiche_gauche',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
33
34        if (autoriser('modifier','groupemots')  AND !$conf_mot){
35                $out = "";
36                $result = sql_select("*, ".sql_multi ("titre", "$spip_lang"), "spip_groupes_mots", "", "", "multi");
37                while ($row_groupes = sql_fetch($result)) {
38                        $id_groupe = $row_groupes['id_groupe'];
39                        $titre_groupe = typo($row_groupes['titre']);           
40                        $out .= "<li><a href='#mots_tous-$id_groupe' onclick='$(\"div.mots_tous\").hide().filter(\"#mots_tous-$id_groupe\").show();return false;'>$titre_groupe</a></li>";
41                }
42                if (strlen($out))
43                        $out = "
44                        <ul class='raccourcis_rapides'>".$out."</ul>
45                        <a href='#' onclick='$(\"div.mots_tous\").show();return false;'>"._T('icone_voir_tous_mots_cles')."</a>";
46
47                $res = icone_horizontale(_T('icone_creation_groupe_mots'), generer_url_ecrire("mots_type","new=oui"), "groupe-mot-24.gif", "creer.gif",false);
48                echo bloc_des_raccourcis($res . $out);
49        }
50
51
52        echo creer_colonne_droite('', true);
53        echo pipeline('affiche_droite',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
54        echo debut_droite('', true);
55
56        echo gros_titre(_T('titre_mots_tous'),'', false);
57        if (autoriser('modifier','groupemots')) {
58          echo typo(_T('info_creation_mots_cles')) . aide ("mots") ;
59        }
60        echo "<br /><br />";
61
62//
63// On boucle d'abord sur les groupes de mots
64// ### mt: On affiche tous les mots ici, meme technique='titi',
65//                 c'est a autoriser de proposer ou non un affichage du groupe de mot ###
66include_spip(_DIR_PLUGIN_MOTS_TECHNIQUES.'mots_techniques_fonctions');
67
68        $result = sql_select("*, ".sql_multi ("titre", "$spip_lang"), "spip_groupes_mots", "", "", "multi");
69
70        while ($row_groupes = sql_fetch($result)) {
71               
72                ### nouvelle autorisation (mt) ###
73                // si pas le droit de voir, on passe...
74                if (!autoriser('voir','groupemots', $row_groupes['id_groupe'])) {
75                        continue;
76                }
77               
78                $id_groupe = $row_groupes['id_groupe'];
79                $titre_groupe = typo($row_groupes['titre']);
80                $descriptif = $row_groupes['descriptif'];
81                $texte = $row_groupes['texte'];
82                $unseul = $row_groupes['unseul'];
83                $obligatoire = $row_groupes['obligatoire'];
84                $tables_liees = $row_groupes['tables_liees'];
85                $acces_minirezo = $row_groupes['minirezo'];
86                $acces_comite = $row_groupes['comite'];
87                $acces_forum = $row_groupes['forum'];
88                $technique = $row_groupes['technique'];
89               
90                // Afficher le titre du groupe
91                echo "<div id='mots_tous-$id_groupe' class='mots_tous'>";
92
93                ### mt: icone differente si mot technique ###
94                $icone = $technique ? (($s = mt_get_icone("mot-technique", $technique, 24)) ? $s : "groupe-mot-24.gif") : "groupe-mot-24.gif";
95                       
96                echo debut_cadre_enfonce($icone, true, '', $titre_groupe);
97                // Affichage des options du groupe (types d'elements, permissions...)
98                $res = '';
99                $tables_liees = explode(',',$tables_liees);
100               
101                $libelles = array('articles'=>'info_articles_2','breves'=>'info_breves_02','rubriques'=>'info_rubriques','syndic'=>'icone_sites_references');
102                $libelles = pipeline('libelle_association_mots',$libelles);
103                foreach($tables_liees as $table)
104                        if (strlen($table))
105                                $res .= "> " . _T(isset($libelles[$table])?$libelles[$table]:"$table:info_$table") . " &nbsp;&nbsp;";
106
107                if ($unseul == "oui" OR $obligatoire == "oui") $res .= "<br />";
108                if ($unseul == "oui") $res .= "> "._T('info_un_mot')." &nbsp;&nbsp;";
109                if ($obligatoire == "oui") $res .= "> "._T('info_groupe_important')." &nbsp;&nbsp;";
110
111                $res .= "<br />";
112                if ($acces_minirezo == "oui") $res .= "> "._T('info_administrateurs')." &nbsp;&nbsp;";
113                if ($acces_comite == "oui") $res .= "> "._T('info_redacteurs')." &nbsp;&nbsp;";
114                if ($acces_forum == "oui") $res .= "> "._T('info_visiteurs_02')." &nbsp;&nbsp;";
115
116                echo "<span class='verdana1 spip_x-small'>", $res, "</span>";
117                if (strlen($descriptif)) {
118                        echo "<div style='border: 1px dashed #aaa; background-color: #fff;' class='verdana1 spip_x-small '>", propre("{{"._T('info_descriptif')."}} ".$descriptif), "&nbsp; </div>";
119                }
120
121                if (strlen($texte)>0){
122                        echo "<div class='verdana1 spip_small'>", propre($texte), "</div>";
123                }
124
125                //
126                // Afficher les mots-cles du groupe
127                //
128
129                $groupe = sql_countsel("spip_mots", "id_groupe=$id_groupe");
130
131                echo "<div\nid='editer_mots-$id_groupe' style='position: relative;'>";
132
133                // Preliminaire: confirmation de suppression d'un mot lie a qqch
134                // (cf fin de afficher_groupe_mots_boucle executee a l'appel precedent)
135                if ($conf_mot  AND $son_groupe==$id_groupe) {
136                        include_spip('inc/grouper_mots');
137                        echo confirmer_mot($conf_mot, $id_groupe, $groupe);
138                }
139                if ($groupe) {
140                        $grouper_mots = charger_fonction('grouper_mots', 'inc');
141                        echo $grouper_mots($id_groupe, $groupe);
142                }
143
144                echo "</div>";
145
146                if (autoriser('modifier','groupemots',$id_groupe)){
147                        echo "\n<table cellpadding='0' cellspacing='0' border='0' width='100%'>";
148                        echo "<tr>";
149                        echo "<td>";
150                        echo icone_inline(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), $icone, "edit.gif", $spip_lang_left);
151                        echo "</td>";
152                        echo "\n<td id='editer_mots-$id_groupe-supprimer'",
153                          (!$groupe ? '' : " style='visibility: hidden'"),
154                          ">";
155                        echo icone_inline(_T('icone_supprimer_groupe_mots'), redirige_action_auteur('instituer_groupe_mots', "-$id_groupe", "mots_tous"), $icone, "supprimer.gif", $spip_lang_left);
156                        echo "</td>";
157                        echo "<td>";
158                        echo icone_inline(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit","new=oui&id_groupe=$id_groupe&redirect=" . generer_url_retour('mots_tous', "#mots_tous-$id_groupe")), $icone, "creer.gif", $spip_lang_right);
159                        echo "</td></tr></table>";
160                }       
161
162                echo fin_cadre_enfonce(true);
163                echo "</div>";
164        }
165
166        echo pipeline('affiche_milieu',array('args'=>array('exec'=>'mots_tous'),'data'=>''));
167
168
169        echo fin_gauche(), fin_page();
170}
171
172// http://doc.spip.org/@confirmer_mot
173function confirmer_mot ($conf_mot, $son_groupe, $total)
174{
175        $row = sql_fetsel("*", "spip_mots", "id_mot=$conf_mot");
176        if (!$row) return ""; // deja detruit (acces concurrent etc)
177
178        $id_mot = $row['id_mot'];
179        $titre_mot = typo($row['titre']);
180        $type_mot = typo($row['type']);
181
182        if (($na = intval(_request('na'))) == 1) {
183                $texte_lie = _T('info_un_article')." ";
184        } else if ($na > 1) {
185                $texte_lie = _T('info_nombre_articles', array('nb_articles' => $na)) ." ";
186        }
187        if (($nb = intval(_request('nb'))) == 1) {
188                $texte_lie .= _T('info_une_breve')." ";
189        } else if ($nb > 1) {
190                $texte_lie .= _T('info_nombre_breves', array('nb_breves' => $nb))." ";
191        }
192        if (($ns = intval(_request('ns'))) == 1) {
193                $texte_lie .= _T('info_un_site')." ";
194        } else if ($ns > 1) {
195                $texte_lie .= _T('info_nombre_sites', array('nb_sites' => $ns))." ";
196        }
197        if (($nr = intval(_request('nr'))) == 1) {
198                $texte_lie .= _T('info_une_rubrique')." ";
199        } else if ($nr > 1) {
200                $texte_lie .= _T('info_nombre_rubriques', array('nb_rubriques' => $nr))." ";
201        }
202
203        return debut_boite_info(true)
204        . "<div class='serif'>"
205        . _T('info_delet_mots_cles', array('titre_mot' => $titre_mot, 'type_mot' => $type_mot, 'texte_lie' => $texte_lie))
206        . "<p style='text-align: right'>"
207        . generer_supprimer_mot($id_mot, $son_groupe, ("<b>" . _T('item_oui') . "</b>"), $total)
208        . "<br />\n"
209        .  _T('info_oui_suppression_mot_cle')
210        . '</p>'
211          /* troublant. A refaire avec une visibility
212         . "<li><b><a href='"
213        . generer_url_ecrire("mots_tous")
214        . "#editer_mots-$son_groupe"
215        . "'>"
216        . _T('item_non')
217        . "</a>,</b> "
218        . _T('info_non_suppression_mot_cle')
219        . "</ul>" */
220        . "</div>"
221        . fin_boite_info(true);
222}
223?>
Note: See TracBrowser for help on using the repository browser.