source: trunk/spip/esqueleto-redcta/plugins/agenda/1_9_0/exec/mots_tous.php @ 30

Last change on this file since 30 was 30, checked in by sebas, 17 years ago

nueva importacion del codigo del esqueleto de redcta con los plugins

File size: 12.0 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2006                                                *
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/mots');
17include_spip('base/abstract_sql');
18include_spip('inc/agenda_gestion');
19include_spip('inc/pim_agenda_gestion');
20
21function exec_mots_tous_dist()
22{
23  global $acces_comite, $acces_forum, $acces_minirezo, $new, $articles, $breves, $change_type, $conf_mot, $connect_statut, $connect_toutes_rubriques, $descriptif, $id_groupe, $modifier_groupe, $obligatoire, $rubriques, $spip_lang, $spip_lang_right, $supp_group, $syndic, $texte, $unseul;
24        global $evenements, $pim_agenda;
25        global $tables_principales;
26       
27  $id_groupe = intval($id_groupe);
28
29  if ($conf_mot = intval($conf_mot)) {
30        $result = spip_query("SELECT * FROM spip_mots WHERE id_mot=$conf_mot");
31        if ($row = spip_fetch_array($result)) {
32                $id_mot = $row['id_mot'];
33                $titre_mot = typo($row['titre']);
34                $type_mot = typo($row['type']);
35
36                if ($connect_statut=="0minirezo") $aff_articles="'prepa','prop','publie','refuse'";
37                else $aff_articles="'prop','publie'";
38
39                $nb_articles = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_articles AS lien, spip_articles AS article WHERE lien.id_mot=$conf_mot AND article.id_article=lien.id_article AND (article.statut IN ($aff_articles))>0 AND article.statut!='refuse'"));
40                $nb_articles = $nb_articles['n'];
41
42                $nb_rubriques = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_rubriques AS lien, spip_rubriques AS rubrique WHERE lien.id_mot=$conf_mot AND rubrique.id_rubrique=lien.id_rubrique"));
43                $nb_rubriques = $nb_rubriques['n'];
44
45                $nb_breves = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_breves AS lien, spip_breves AS breve WHERE lien.id_mot=$conf_mot AND breve.id_breve=lien.id_breve AND (breve.statut IN ($aff_articles))>0 AND breve.statut!='refuse'"));
46                $nb_breves = $nb_breves['n'];
47
48                $nb_sites = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_syndic AS lien, spip_syndic AS syndic WHERE lien.id_mot=$conf_mot AND syndic.id_syndic=lien.id_syndic      AND (syndic.statut IN ($aff_articles))>0 AND syndic.statut!='refuse'"));
49                $nb_sites = $nb_sites['n'];
50
51                $nb_forum = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_forum AS lien, spip_forum AS forum WHERE lien.id_mot=$conf_mot AND forum.id_forum=lien.id_forum AND forum.statut='publie'"));
52                $nb_forum = $nb_forum['n'];
53
54                $nb_evenements = 0;
55                if (isset($tables_principales['spip_evenements'])){
56                        $nb_evenements = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_evenements AS lien, spip_evenements AS evenement WHERE lien.id_mot=$conf_mot AND evenement.id_evenement=lien.id_evenement"));
57                        $nb_evenements = $nb_evenements['n'];
58                }
59               
60                $nb_agenda = 0;
61                if (isset($tables_principales['spip_pim_agenda'])){
62                        $nb_agenda = spip_fetch_array(spip_query("SELECT COUNT(*) AS n FROM spip_mots_pim_agenda AS lien, spip_pim_agenda AS agenda WHERE lien.id_mot=$conf_mot AND agenda.id_agenda=lien.id_agenda"));
63                        $nb_agenda = $nb_agenda['n'];
64                }
65               
66                // si le mot n'est pas lie, on demande sa suppression
67                if ($nb_articles + $nb_breves + $nb_sites + $nb_forum + $nb_evenements + $nb_agenda == 0) {
68                  redirige_par_entete(generer_url_ecrire("mots_edit","supp_mot=$id_mot&redirect_ok=oui&redirect=" . rawurlencode(generer_url_ecrire('mots_tous')), true));
69                } // else traite plus loin (confirmation de suppression)
70        }
71}
72
73if ($connect_statut == '0minirezo'  AND $connect_toutes_rubriques) {
74        if (function_exists('Agenda_install'))  Agenda_install();
75        if (function_exists('PIMAgenda_install'))       PIMAgenda_install();
76
77        if ($modifier_groupe == "oui") {
78                $change_type = (corriger_caracteres($change_type));
79                $texte = (corriger_caracteres($texte));
80                $descriptif = (corriger_caracteres($descriptif));
81
82                if (!$new) {    // modif groupe
83                        spip_query("UPDATE spip_mots SET type=" . spip_abstract_quote($change_type) . " WHERE id_groupe=$id_groupe");
84
85
86                        spip_query("UPDATE spip_groupes_mots SET titre=" . spip_abstract_quote($change_type) . ", texte=" . spip_abstract_quote($texte) . ", descriptif=" . spip_abstract_quote($descriptif) . ", unseul=" . spip_abstract_quote($unseul) . ", obligatoire=" . spip_abstract_quote($obligatoire) . ", articles=" . spip_abstract_quote($articles) . ", breves=" . spip_abstract_quote($breves) . ", rubriques=" . spip_abstract_quote($rubriques) . ", syndic=" . spip_abstract_quote($syndic) . ",     minirezo=" . spip_abstract_quote($acces_minirezo) . ", comite=" . spip_abstract_quote($acces_comite) . ", forum=" . spip_abstract_quote($acces_forum) . " WHERE id_groupe=$id_groupe");
87
88                } else {        // creation groupe
89                  $id_groupe = spip_abstract_insert('spip_groupes_mots', "(titre, texte, descriptif, unseul,  obligatoire, articles, breves, rubriques, syndic, minirezo, comite, forum)", "(" . spip_abstract_quote($change_type) . ", " . spip_abstract_quote($texte) . " , " . spip_abstract_quote($descriptif) . " , " . spip_abstract_quote($unseul) . " , " . spip_abstract_quote($obligatoire) . " , " . spip_abstract_quote($articles) . " ," . spip_abstract_quote($breves) . " , " . spip_abstract_quote($rubriques) . " , " . spip_abstract_quote($syndic) . " , " . spip_abstract_quote($acces_minirezo) . " ,  " . spip_abstract_quote($acces_comite) . " , " . spip_abstract_quote($acces_forum) . " )");
90                }
91                if ($id_groupe && isset($tables_principales['spip_evenements']))
92                        spip_query("UPDATE spip_groupes_mots SET evenements=".spip_abstract_quote($evenements)." WHERE id_groupe=$id_groupe");
93                if ($id_groupe && isset($tables_principales['spip_pim_agenda']))
94                        spip_query("UPDATE spip_groupes_mots SET pim_agenda=".spip_abstract_quote($pim_agenda)." WHERE id_groupe=$id_groupe");
95        }
96        if ($supp_group){
97                spip_query("DELETE FROM spip_groupes_mots WHERE id_groupe=" . intval($supp_group));
98        }
99 }
100
101
102debut_page(_T('titre_page_mots_tous'), "documents", "mots");
103debut_gauche();
104
105debut_droite();
106
107gros_titre(_T('titre_mots_tous'));
108if ($connect_statut == '0minirezo'  AND $connect_toutes_rubriques) {
109  echo typo(_T('info_creation_mots_cles')) . aide ("mots") ;
110  }
111echo "<br><br>";
112
113/////
114
115if ($conf_mot>0) {
116        if ($nb_articles == 1) {
117                $texte_lie = _T('info_un_article')." ";
118        } else if ($nb_articles > 1) {
119                $texte_lie = _T('info_nombre_articles', array('nb_articles' => $nb_articles)) ." ";
120        }
121        if ($nb_breves == 1) {
122                $texte_lie .= _T('info_une_breve')." ";
123        } else if ($nb_breves > 1) {
124                $texte_lie .= _T('info_nombre_breves', array('nb_breves' => $nb_breves))." ";
125        }
126        if ($nb_sites == 1) {
127                $texte_lie .= _T('info_un_site')." ";
128        } else if ($nb_sites > 1) {
129                $texte_lie .= _T('info_nombre_sites', array('nb_sites' => $nb_sites))." ";
130        }
131        if ($nb_rubriques == 1) {
132                $texte_lie .= _T('info_une_rubrique')." ";
133        } else if ($nb_rubriques > 1) {
134                $texte_lie .= _T('info_nombre_rubriques', array('nb_rubriques' => $nb_rubriques))." ";
135        }
136        if ($nb_evenements == 1) {
137                $texte_lie .= _T('agenda:info_un_evenement')." ";
138        } else if ($nb_evenements > 1) {
139                $texte_lie .= _T('agenda:info_nombre_evenements', array('$nb_evenements' => $nb_evenements))." ";
140        }
141
142        debut_boite_info();
143        echo "<div class='serif'>";
144        echo _T('info_delet_mots_cles', array('titre_mot' => $titre_mot, 'type_mot' => $type_mot, 'texte_lie' => $texte_lie));
145
146        echo "<UL>";
147        echo "<LI><B><A href='", generer_url_ecrire('mots_edit', "supp_mot=$id_mot&redirect_ok=oui&redirect=" . rawurlencode(generer_url_ecrire('mots_tous'))),
148          "'>",
149          _T('item_oui'),
150          "</A>,</B> ",
151          _T('info_oui_suppression_mot_cle');
152        echo "<LI><B><A href='" . generer_url_ecrire("mots_tous","") . "'>"._T('item_non')."</A>,</B> "._T('info_non_suppression_mot_cle');
153        echo "</UL>";
154        echo "</div>";
155        fin_boite_info();
156        echo "<P>";
157}
158
159//
160// On boucle d'abord sur les groupes de mots
161//
162
163 $result_groupes = spip_query("SELECT *, ".creer_objet_multi ("titre", "$spip_lang")." FROM spip_groupes_mots ORDER BY multi");
164
165
166while ($row_groupes = spip_fetch_array($result_groupes)) {
167        $id_groupe = $row_groupes['id_groupe'];
168        $titre_groupe = typo($row_groupes['titre']);
169        $descriptif = $row_groupes['descriptif'];
170        $texte = $row_groupes['texte'];
171        $unseul = $row_groupes['unseul'];
172        $obligatoire = $row_groupes['obligatoire'];
173        $articles = $row_groupes['articles'];
174        $breves = $row_groupes['breves'];
175        $rubriques = $row_groupes['rubriques'];
176        $syndic = $row_groupes['syndic'];
177        if (isset($tables_principales['spip_evenements']))      $evenements = $row_groupes['evenements'];
178        if (isset($tables_principales['spip_pim_agenda']))      $pim_agenda = $row_groupes['pim_agenda'];
179        $acces_minirezo = $row_groupes['minirezo'];
180        $acces_comite = $row_groupes['comite'];
181        $acces_forum = $row_groupes['forum'];
182
183        // Afficher le titre du groupe
184        debut_cadre_enfonce("groupe-mot-24.gif", false, '', $titre_groupe);
185        // Affichage des options du groupe (types d'elements, permissions...)
186        echo "<font face='Verdana,Arial,Sans,sans-serif' size=1>";
187        if ($articles == "oui") echo "> "._T('info_articles_2')." &nbsp;&nbsp;";
188        if ($breves == "oui") echo "> "._T('info_breves_02')." &nbsp;&nbsp;";
189        if ($rubriques == "oui") echo "> "._T('info_rubriques')." &nbsp;&nbsp;";
190        if ($syndic == "oui") echo "> "._T('icone_sites_references')." &nbsp;&nbsp;";
191        if (isset($tables_principales['spip_evenements']))
192                if ($evenements == "oui") echo "> "._T('agenda:info_evenements')." &nbsp;&nbsp;";
193        if (isset($tables_principales['spip_pim_agenda']))
194                if ($pim_agenda == "oui") echo "> "._T('pimagenda:info_evenements')." &nbsp;&nbsp;";
195
196        if ($unseul == "oui" OR $obligatoire == "oui") echo "<br>";
197        if ($unseul == "oui") echo "> "._T('info_un_mot')." &nbsp;&nbsp;";
198        if ($obligatoire == "oui") echo "> "._T('info_groupe_important')." &nbsp;&nbsp;";
199
200        echo "<br>";
201        if ($acces_minirezo == "oui") echo "> "._T('info_administrateurs')." &nbsp;&nbsp;";
202        if ($acces_comite == "oui") echo "> "._T('info_redacteurs')." &nbsp;&nbsp;";
203        if ($acces_forum == "oui") echo "> "._T('info_visiteurs_02')." &nbsp;&nbsp;";
204
205        echo "</font>";
206        if ($descriptif) {
207                echo "<p><div align='left' border: 1px dashed #aaaaaa;'>";
208                echo "<font size=2 face='Verdana,Arial,Sans,sans-serif'>";
209                echo "<b>"._T('info_descriptif')."</b> ";
210                echo propre($descriptif);
211                echo "&nbsp; ";
212                echo "</font>";
213                echo "</div>";
214        }
215
216        if (strlen($texte)>0){
217                echo "<FONT FACE='Verdana,Arial,Sans,sans-serif'>";
218                echo "<P>".propre($texte);
219                echo "</FONT>";
220        }
221
222        //
223        // Afficher les mots-cles du groupe
224        //
225        $supprimer_groupe = afficher_groupe_mots($id_groupe);
226
227        if ($connect_statut =="0minirezo" AND $connect_toutes_rubriques AND !$conf_mot){
228                echo "\n<table cellpadding=0 cellspacing=0 border=0 width=100%>";
229                echo "<tr>";
230                echo "<td>";
231                icone(_T('icone_modif_groupe_mots'), generer_url_ecrire("mots_type","id_groupe=$id_groupe"), "groupe-mot-24.gif", "edit.gif");
232                echo "</td>";
233                if ($supprimer_groupe) {
234                        echo "<td>";
235                        icone(_T('icone_supprimer_groupe_mots'), generer_url_ecrire("mots_tous","supp_group=$id_groupe"), "groupe-mot-24.gif", "supprimer.gif");
236                        echo "</td>";
237                        echo "<td> &nbsp; </td>"; // Histoire de forcer "supprimer" un peu plus vers la gauche
238                }
239                echo "<td>";
240                echo "<div align='$spip_lang_right'>";
241                icone(_T('icone_creation_mots_cles'), generer_url_ecrire("mots_edit","new=oui&id_groupe=$id_groupe&redirect=" . rawurlencode(generer_url_ecrire('mots_tous'))), "mot-cle-24.gif", "creer.gif");
242                echo "</div>";
243                echo "</td></tr></table>";
244        }       
245
246        fin_cadre_enfonce();
247
248}
249
250if ($connect_statut =="0minirezo"  AND $connect_toutes_rubriques  AND !$conf_mot){
251        echo "<p>&nbsp;</p><div align='right'>";
252        icone(_T('icone_creation_groupe_mots'), generer_url_ecrire("mots_type","new=oui"), "groupe-mot-24.gif", "creer.gif");
253        echo "</div>";
254}
255
256fin_page();
257}
258
259?>
Note: See TracBrowser for help on using the repository browser.