[SPIP] ~maj v2.1.25-->2.1.26
[velocampus/web/www.git] / www / ecrire / inc / gadgets.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2014 *
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
13 if (!defined('_ECRIRE_INC_VERSION')) return;
14
15 include_spip('inc/presentation');
16
17 //
18 // Pour les boutons dont l'action fait des requetes SQL,
19 // le bandeau des gadgets s'affiche en deux temps :
20 // 1. On affiche un minimum de <div> permettant aux boutons de jouer
21 // du on/off au survol
22 // -> fonction bandeau_gadgets()
23 // 2. Au survol, sera execute un script en Ajax menu_{gadget}.php
24 //
25
26 // http://doc.spip.org/@bandeau_gadgets
27 function bandeau_gadgets($largeur, $options, $id_rubrique) {
28
29 return "<div id='bandeau-gadgets'>" .
30 "\n<div style='width:{$largeur}px' class='centered'>" .
31 "\n<div style='position: relative; z-index: 1000; height:1%'>" .
32 bandeau_gadget_menu_rubriques() .
33 bandeau_gadget_navigation_rapide($id_rubrique) .
34 bandeau_gadget_recherche() .
35 (($GLOBALS['meta']['messagerie_agenda'] != 'non')
36 ? bandeau_gadget_agenda_messagerie() : '') .
37 bandeau_gadget_suivi_activite () .
38 // -------- Affichage de droite ----------
39 bandeau_gadget_deconnection() .
40 bandeau_gadget_couleurs() .
41 "</div></div></div>\n";
42 }
43
44 function bandeau_gadget_menu_rubriques()
45 {
46 global $spip_lang_left;
47
48 return
49 "\n<div id='bandeautoutsite' class='bandeau bandeau_couleur_sous' style='text-align:$spip_lang_left;$spip_lang_left: 0px;'>"
50 . "<a href='"
51 . generer_url_ecrire("articles_tous")
52 . "' class='lien_sous'"
53 . ">"
54 ._T('icone_site_entier')
55 . "</a>"
56 . "\n<div id='gadget-rubriques'></div>"
57 . "</div>";
58 } // FIN GADGET Menu rubriques
59
60 function bandeau_gadget_navigation_rapide($id_rubrique)
61 {
62 global $spip_lang_left;
63
64 return
65 "<div id='bandeaunavrapide' class='bandeau bandeau_couleur_sous' style='text-align:$spip_lang_left;$spip_lang_left: 30px;'>"
66 . "<a href='" . generer_url_ecrire("brouteur", ($id_rubrique ? "id_rubrique=$id_rubrique" : '')) . "' class='lien_sous'>"
67 . _T('icone_brouteur')
68 . "</a>"
69 . "\n<div id='gadget-navigation'></div>\n"
70 . "</div>\n";
71 } // FIN GADGET Navigation rapide
72
73 function bandeau_gadget_recherche()
74 {
75 global $spip_lang_left;
76
77 $r = _T('info_rechercher');
78
79 return "\n<div id='bandeaurecherche' class='bandeau bandeau_couleur_sous' style='text-align:$spip_lang_left;$spip_lang_left: 60px;'>"
80 . generer_form_ecrire('recherche',
81 ("<input type='text' size='10' value='$r' name='recherche' class='formo' accesskey='r' id='form_recherche' style='width: 140px;' />"),
82 " method='get' style='margin: 0px; position: relative;'")
83 . "</div>";
84 } // FIN GADGET recherche
85
86
87 function bandeau_gadget_agenda_messagerie()
88 {
89 global $spip_lang_left;
90
91 return "<div id='bandeauagenda' class='bandeau bandeau_couleur_sous' style='text-align:$spip_lang_left;$spip_lang_left: 100px;'>"
92 . "<a href='" . generer_url_ecrire("calendrier","type=semaine") . "' class='lien_sous'>"
93 . _T('icone_agenda')
94 . "</a>"
95
96 . "\n<div id='gadget-agenda'></div>\n"
97 . "</div>\n"
98 // FIN GADGET Agenda
99
100 // GADGET Messagerie
101
102 . "<div id='bandeaumessagerie' class='bandeau bandeau_couleur_sous' style='text-align:$spip_lang_left;$spip_lang_left: 130px;'>"
103 . "<a href='" . generer_url_ecrire("messagerie") . "' class='lien_sous'>"
104 . _T('icone_messagerie_personnelle')
105 . "</a>"
106 . "\n<div id='gadget-messagerie'></div>\n"
107 . "</div>";
108
109 } // FIN GADGET Messagerie
110
111 function bandeau_gadget_suivi_activite ()
112 {
113 global $spip_lang_left;
114
115 return
116 "<div id='bandeausynchro' class='bandeau bandeau_couleur_sous' style='$spip_lang_left: 160px;'>"
117 . "<a href='" . generer_url_ecrire("synchro") . "' class='lien_sous'>"
118 . _T('icone_suivi_activite')
119 . "</a>"
120 // . "\n<div id='gadget-suivi'><div>&nbsp;</div>"
121 // . icone_horizontale(_T('analyse_xml'), parametre_url(self(),'transformer_xml', 'valider_xml'), 'racine-24.gif', '', false)
122 // . "</div>".
123 . "</div>\n";
124
125 /*
126 // Infos perso
127 $bandeau .= "\n<div id='bandeauinfoperso' class='bandeau bandeau_couleur_sous' style='$spip_lang_left: 200px;'>"
128 . "<a href='" . generer_url_ecrire("auteur_infos","id_auteur=$connect_id_auteur") . "' class='lien_sous'>"
129 . _T('icone_informations_personnelles')
130 . "</a>"
131 . "</div>";
132 */
133 }
134
135 function bandeau_gadget_deconnection()
136 {
137 global $spip_lang_right;
138
139 return
140 "\n<div class='bandeau bandeau_couleur_sous' id='bandeaudeconnecter' style='$spip_lang_right: 0px;'>"
141 . "<a href='"
142 . generer_url_action("logout","logout=prive")
143 . "' class='lien_sous'>"._T('icone_deconnecter')."</a>"
144 . aide("deconnect")
145 . "</div>";
146 }
147
148 function bandeau_gadget_couleurs()
149 {
150 global $spip_ecran, $spip_lang, $spip_lang_rtl, $spip_lang_left, $spip_lang_right;
151 $decal = 0;
152 $decal = $decal + 150;
153
154 $bandeau = "\n<div id='bandeauinterface' class='bandeau bandeau_couleur_sous' style='$spip_lang_right: ".$decal."px; text-align: $spip_lang_right; white-space: nowrap;'>";
155
156 // couleurs
157 // $couleurs = charger_fonction('couleurs', 'inc');
158 // $bandeau .= "<div id='preferences_couleurs' title='" . attribut_html(_T('titre_changer_couleur_interface')) . "'>";
159 // $bandeau .= $couleurs() . "</div>";
160
161 // menu
162 $self = self('&');
163 $bandeau .= "\n<div id='preferences_map'><map name='map_layout' id='map_layout'>"
164 . lien_change_var (generer_action_auteur('preferer',"display:1", $self),'','', '1,0,18,15', _T('lien_afficher_texte_seul'))
165 . lien_change_var (generer_action_auteur('preferer',"display:2", $self),'','', '19,0,40,15', _T('lien_afficher_texte_icones'))
166 . lien_change_var (generer_action_auteur('preferer',"display:3", $self),'','', '41,0,59,15', _T('lien_afficher_icones_seuls'))
167 . "\n</map></div>";
168
169 $bandeau .= "<div id='preferences_menu'>"
170 . http_img_pack("choix-layout$spip_lang_rtl".($spip_lang=='he'?'_he':'').".gif", _T('choix_interface'), " style='vertical-align: middle' width='59' height='15' usemap='#map_layout'")
171 . http_img_pack("rien.gif", "", "width='10' height='1'")
172 . "</div>";
173 // ecran
174 if ($spip_ecran == "large")
175 $bandeau .= "<div id='preferences_ecran'><a href='".generer_action_auteur('preferer',"spip_ecran:etroit", $self)."' class='lien_sous'>"._T('info_petit_ecran')."</a>/<b>"._T('info_grand_ecran')."</b></div>";
176 else
177 $bandeau .= "<div id='preferences_ecran'><b>"._T('info_petit_ecran')."</b>/<a href='".generer_action_auteur('preferer',"spip_ecran:large", $self)."' class='lien_sous'>"._T('info_grand_ecran')."</a></div>";
178 $bandeau .= "</div>";
179
180 return $bandeau;
181 }
182
183 // http://doc.spip.org/@gadget_messagerie
184 function gadget_messagerie() {
185 global $connect_statut;
186
187 return "<div>&nbsp;</div>"
188 . icone_horizontale(_T('lien_nouvea_pense_bete'),generer_action_auteur("editer_message","pb"), "pense-bete.gif",'',false)
189 . icone_horizontale(_T('lien_nouveau_message'),generer_action_auteur("editer_message","normal"), "message.gif",'',false)
190 . (($connect_statut != "0minirezo") ? '' :
191 icone_horizontale(_T('lien_nouvelle_annonce'),generer_action_auteur("editer_message","affich"), "annonce.gif",'',false));
192 }
193
194 // http://doc.spip.org/@installer_gadgets
195 function installer_gadgets($id_rubrique)
196 {
197 return "<a id='boutonbandeautoutsite' href='"
198 . generer_url_ecrire("articles_tous")
199 . "' class='icone26' onmouseover=\"changestyle('bandeautoutsite');\" onfocus=\"changestyle('bandeautoutsite');\" onblur=\"changestyle('bandeautoutsite');\">"
200 . http_img_pack("tout-site.png", _T('icone_site_entier'), "width='26' height='20'")
201 . "</a>"
202 . "<a id='boutonbandeaunavrapide' href='"
203 . generer_url_ecrire("brouteur",($id_rubrique ? "id_rubrique=$id_rubrique" : ''))
204 . "' class='icone26' onmouseover=\"changestyle('bandeaunavrapide');\" onfocus=\"changestyle('bandeaunavrapide');\" onblur=\"changestyle('bandeaunavrapide');\">"
205 . http_img_pack("naviguer-site.png", _T('icone_brouteur'), "width='26' height='20'")
206 ."</a>"
207 . "<a href='"
208 . generer_url_ecrire("recherche")
209 . "' class='icone26' onmouseover=\"changestyle('bandeaurecherche'); jQuery('#form_recherche')[0].focus();\" onfocus=\"changestyle('bandeaurecherche');\" onblur=\"changestyle('bandeaurecherche');\">"
210 . http_img_pack("loupe.png", _T('info_rechercher'), "width='26' height='20'")
211 ."</a>"
212
213 . (($GLOBALS['meta']['messagerie_agenda'] != 'non')
214 ? http_img_pack("rien.gif", "", "width='10'")
215 . "<a id='boutonbandeauagenda' href='"
216 . generer_url_ecrire("calendrier","type=semaine")
217 . "' class='icone26' onmouseover=\"changestyle('bandeauagenda');\">"
218 . http_img_pack("cal-rv.png", _T('icone_agenda'), "width='26' height='20'")
219 ."</a>"
220 . "<a href='"
221 . generer_url_ecrire("messagerie")
222 . "' class='icone26' onmouseover=\"changestyle('bandeaumessagerie');\" onfocus=\"changestyle('bandeaumessagerie');\" onblur=\"changestyle('bandeaumessagerie');\">"
223 . http_img_pack("cal-messagerie.png", _T('icone_messagerie_personnelle'), "width='26' height='20'")
224 ."</a>"
225 . "<a href='"
226 . generer_url_ecrire("synchro")
227 . "' class='icone26' onmouseover=\"changestyle('bandeausynchro');\" onfocus=\"changestyle('bandeausynchro');\" onblur=\"changestyle('bandeausynchro');\">"
228 . http_img_pack("cal-suivi.png", _T('icone_suivi_activite'), "width='26' height='20'")
229 . "</a>"
230 : '');
231 }
232
233 // http://doc.spip.org/@repercuter_gadgets
234 function repercuter_gadgets($id_rubrique) {
235
236 if (!_SPIP_AJAX) return '';
237
238 // comme on cache fortement ce menu,
239 // son url change en fonction de sa date de modif
240
241 $d = isset($GLOBALS['meta']['date_calcul_rubriques'])
242 ? $GLOBALS['meta']['date_calcul_rubriques'] : 0;
243
244 $args = join("',\n'", array(
245 "./?exec=menu_rubriques\\x26date=$d",
246 "./?exec=menu_navigation\\x26id_rubrique=$id_rubrique",
247 "./?exec=menu_agenda",
248 str_replace('</', '<\\/', addslashes(strtr(gadget_messagerie(),"\n\r"," ")))));
249
250 return "\$(document).ready(function(){init_bandeau_gadgets('$args')});";
251 }
252
253 ?>