1 | <?php |
---|
2 | /** |
---|
3 | * @package spiplistes |
---|
4 | */ |
---|
5 | // $LastChangedRevision: 48905 $ |
---|
6 | // $LastChangedBy: paladin@quesaco.org $ |
---|
7 | // $LastChangedDate: 2011-06-18 15:22:48 +0000 (Sat, 18 Jun 2011) $ |
---|
8 | |
---|
9 | /******************************************************************************************/ |
---|
10 | /* SPIP-listes est un système de gestion de listes d'information par email pour SPIP */ |
---|
11 | /* Copyright (C) 2004 Vincent CARON v.caron<at>laposte.net , http://bloog.net */ |
---|
12 | /* */ |
---|
13 | /* Ce programme est libre, vous pouvez le redistribuer et/ou le modifier selon les termes */ |
---|
14 | /* de la Licence Publique Générale GNU publiée par la Free Software Foundation */ |
---|
15 | /* (version 2). */ |
---|
16 | /* */ |
---|
17 | /* Ce programme est distribué car potentiellement utile, mais SANS AUCUNE GARANTIE, */ |
---|
18 | /* ni explicite ni implicite, y compris les garanties de commercialisation ou */ |
---|
19 | /* d'adaptation dans un but spécifique. Reportez-vous à la Licence Publique Générale GNU */ |
---|
20 | /* pour plus de détails. */ |
---|
21 | /* */ |
---|
22 | /* Vous devez avoir reçu une copie de la Licence Publique Générale GNU */ |
---|
23 | /* en même temps que ce programme ; si ce n'est pas le cas, écrivez à la */ |
---|
24 | /* Free Software Foundation, */ |
---|
25 | /* Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, États-Unis. */ |
---|
26 | /******************************************************************************************/ |
---|
27 | |
---|
28 | if (!defined('_ECRIRE_INC_VERSION')) return; |
---|
29 | |
---|
30 | include_spip('inc/spiplistes_api_globales'); |
---|
31 | |
---|
32 | function exec_spiplistes_config () { |
---|
33 | |
---|
34 | include_spip('inc/distant'); |
---|
35 | include_spip('inc/spiplistes_api'); |
---|
36 | include_spip('inc/spiplistes_api_presentation'); |
---|
37 | include_spip('inc/meta'); |
---|
38 | include_spip('inc/config'); |
---|
39 | |
---|
40 | //spiplistes_debug_log ('Appel page de configuration'); |
---|
41 | |
---|
42 | global $connect_statut |
---|
43 | , $connect_toutes_rubriques |
---|
44 | , $connect_id_auteur |
---|
45 | , $couleur_foncee |
---|
46 | , $spip_lang_right |
---|
47 | ; |
---|
48 | |
---|
49 | $eol = PHP_EOL; |
---|
50 | |
---|
51 | $flag_editable = (($connect_statut == "0minirezo") && ($connect_toutes_rubriques)); |
---|
52 | |
---|
53 | if($flag_editable) |
---|
54 | { |
---|
55 | |
---|
56 | $adresse_defaut = |
---|
57 | (email_valide($GLOBALS['meta']['email_defaut'])) |
---|
58 | ? $GLOBALS['meta']['email_defaut'] |
---|
59 | : $GLOBALS['meta']['email_webmaster'] |
---|
60 | ; |
---|
61 | |
---|
62 | $keys_complement_courrier = array( |
---|
63 | 'opt_personnaliser_courrier' |
---|
64 | , 'opt_lien_en_tete_courrier', 'lien_patron' |
---|
65 | , 'opt_ajout_tampon_editeur', 'tampon_patron' |
---|
66 | , 'opt_completer_titre_nom_site' |
---|
67 | , 'opt_ajout_lien_desabo' |
---|
68 | ); |
---|
69 | $keys_complement_courrier = array_merge($keys_complement_courrier |
---|
70 | , $_tampon_cles = explode(",", _SPIPLISTES_TAMPON_CLES)); |
---|
71 | $tampon_labels = array_flip($_tampon_cles); |
---|
72 | foreach($tampon_labels as $key=>$value) { |
---|
73 | $tampon_labels[$key] = _T('spiplistes:'.$key); |
---|
74 | } |
---|
75 | |
---|
76 | $keys_opt_formabo = array( |
---|
77 | 'opt_plier_deplier_formabo' // effet plier/deplier dans le formulaire abonnement |
---|
78 | ); |
---|
79 | |
---|
80 | $keys_param_valider = array( |
---|
81 | 'email_defaut' |
---|
82 | , 'smtp_server' |
---|
83 | , 'smtp_login' |
---|
84 | , 'smtp_pass' |
---|
85 | , 'smtp_port' |
---|
86 | , 'mailer_smtp' |
---|
87 | , 'smtp_identification' |
---|
88 | , 'smtp_sender' |
---|
89 | , 'spiplistes_lots' |
---|
90 | , 'spiplistes_charset_envoi' |
---|
91 | ); |
---|
92 | $keys_str_param_valider = array( |
---|
93 | 'email_reply_to' // adresse mail de retour |
---|
94 | , 'email_return_path_defaut' // adresse mail de retour pour les erreurs |
---|
95 | ); |
---|
96 | $keys_opts_param_valider = array( |
---|
97 | 'opt_simuler_envoi' // demande à la méleuse de simuler l'envoi du courrier |
---|
98 | , 'opt_suspendre_trieuse' // suspendre la trieuse. Les listes restent en attente |
---|
99 | , 'opt_suspendre_meleuse' // suspendre les envois de courriers |
---|
100 | ); |
---|
101 | |
---|
102 | $keys_console_syslog = array( |
---|
103 | 'opt_console_debug' // console en mode verbose |
---|
104 | , 'opt_console_syslog' // envoyer le journal sur syslog |
---|
105 | , 'opt_log_voir_destinataire' // ecrire adresse mail des destinataires dans les journaux |
---|
106 | ); |
---|
107 | |
---|
108 | // initialise les variables postées par le formulaire |
---|
109 | foreach(array_merge( |
---|
110 | array( |
---|
111 | 'abonnement_valider', 'abonnement_config' |
---|
112 | , 'opt_format_courrier_defaut' |
---|
113 | , 'param_reinitialise' |
---|
114 | , 'btn_formabo_valider' |
---|
115 | , 'btn_complement_courrier' |
---|
116 | , 'btn_param_valider' |
---|
117 | , 'btn_console_syslog' |
---|
118 | , 'voir_logs' |
---|
119 | ) |
---|
120 | , $keys_opt_formabo |
---|
121 | , $keys_complement_courrier |
---|
122 | , $keys_param_valider |
---|
123 | , $keys_str_param_valider |
---|
124 | , $keys_opts_param_valider |
---|
125 | , $keys_console_syslog |
---|
126 | ) as $key) { |
---|
127 | $$key = _request($key); |
---|
128 | } |
---|
129 | // historiquement, ajoute le nom du site en |
---|
130 | // fin de titre. Permettre de ne pas le faire. |
---|
131 | $in_post = _request('opt_completer_titre_nom_site'); |
---|
132 | $in_meta = spiplistes_pref_lire('opt_completer_titre_nom_site'); |
---|
133 | $opt_completer_titre_nom_site = |
---|
134 | // ni dans le POST, ni dans les metas ? |
---|
135 | (!$in_post && !$in_meta) |
---|
136 | // comportement par défaut |
---|
137 | ? 'oui' |
---|
138 | // un imput vide n'est jamais renvoyé |
---|
139 | // donc si manquant, c'est un 'non' |
---|
140 | : ($in_post ? $in_post : 'non'); |
---|
141 | |
---|
142 | $doit_ecrire_metas = false; |
---|
143 | $str_log = ''; |
---|
144 | if(!isset($GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES])) { |
---|
145 | $GLOBALS['meta'][_SPIPLISTES_META_PREFERENCES] = array(); |
---|
146 | } |
---|
147 | |
---|
148 | if($abonnement_valider && $abonnement_config) { |
---|
149 | ecrire_meta('abonnement_config', $abonnement_config); |
---|
150 | spiplistes_ecrire_key_in_serialized_meta( |
---|
151 | 'opt_format_courrier_defaut' |
---|
152 | , $opt_format_courrier_defaut |
---|
153 | , _SPIPLISTES_META_PREFERENCES |
---|
154 | ); |
---|
155 | $doit_ecrire_metas = true; |
---|
156 | $str_log .= "abonnement_config = $abonnement_config, " |
---|
157 | . "opt_format_courrier_defaut = $opt_format_courrier_defaut, "; |
---|
158 | } |
---|
159 | |
---|
160 | if($btn_formabo_valider) { |
---|
161 | foreach($keys_opt_formabo as $key) { |
---|
162 | //spiplistes_log("$key ".$$key); |
---|
163 | spiplistes_ecrire_key_in_serialized_meta( |
---|
164 | $key |
---|
165 | , ($$key = (!empty($$key) ? $$key : 'non')) |
---|
166 | , _SPIPLISTES_META_PREFERENCES |
---|
167 | ); |
---|
168 | $str_log .= $key.' = '.$$key.', '; |
---|
169 | } |
---|
170 | $doit_ecrire_metas = true; |
---|
171 | } |
---|
172 | |
---|
173 | if($btn_complement_courrier) { |
---|
174 | foreach($keys_complement_courrier as $key) { |
---|
175 | spiplistes_ecrire_key_in_serialized_meta( |
---|
176 | $key |
---|
177 | , ($$key = (!empty($$key) ? $$key : 'non')) |
---|
178 | , _SPIPLISTES_META_PREFERENCES |
---|
179 | ); |
---|
180 | $str_log .= $key.' = '.$$key.', '; |
---|
181 | } |
---|
182 | $doit_ecrire_metas = true; |
---|
183 | } |
---|
184 | |
---|
185 | if($btn_param_valider) { |
---|
186 | foreach($keys_param_valider as $key) |
---|
187 | { |
---|
188 | if(($key != 'email_defaut') || email_valide($email_defaut)) { |
---|
189 | $str_log .= $key.' = ' |
---|
190 | . (($key == 'smtp_pass') ? str_repeat('*', strlen($$key)) : $$key) |
---|
191 | . ', '; |
---|
192 | ecrire_meta($key, trim($$key)); |
---|
193 | } |
---|
194 | } |
---|
195 | foreach($keys_str_param_valider as $key) { |
---|
196 | |
---|
197 | if( |
---|
198 | ($key == 'email_reply_to') |
---|
199 | || ($key == 'email_return_path_defaut') |
---|
200 | ) { |
---|
201 | $$key = |
---|
202 | ($ii = email_valide($$key)) |
---|
203 | ? $ii |
---|
204 | : $adresse_defaut |
---|
205 | ; |
---|
206 | } |
---|
207 | |
---|
208 | spiplistes_ecrire_key_in_serialized_meta ($key, $$key, _SPIPLISTES_META_PREFERENCES); |
---|
209 | $str_log .= $key.' = '.$$key.', '; |
---|
210 | } |
---|
211 | foreach($keys_opts_param_valider as $key) { |
---|
212 | $$key = (!empty($$key)) ? $$key : 'non'; |
---|
213 | spiplistes_ecrire_key_in_serialized_meta ($key, $$key, _SPIPLISTES_META_PREFERENCES); |
---|
214 | $str_log .= $key.' = '.$$key.', '; |
---|
215 | } |
---|
216 | $doit_ecrire_metas = true; |
---|
217 | } |
---|
218 | |
---|
219 | if($btn_console_syslog) { |
---|
220 | if(!spiplistes_server_rezo_local()) { |
---|
221 | } |
---|
222 | foreach($keys_console_syslog as $key) { |
---|
223 | if($key == $opt_log_voir_destinataire) { |
---|
224 | $opt_log_voir_destinataire = (!empty($$key)) ? $$key : 'non'; |
---|
225 | } |
---|
226 | if( |
---|
227 | // si pas sur réseau privé et option syslog validé, |
---|
228 | // retire l'option syslog (cas de copie de base du LAN sur celle du WAN) |
---|
229 | ($key == 'opt_console_syslog') |
---|
230 | && !spiplistes_server_rezo_local() |
---|
231 | ) { |
---|
232 | $$key = 'non'; |
---|
233 | } else { |
---|
234 | $$key = (!empty($$key)) ? $$key : 'non'; |
---|
235 | } |
---|
236 | spiplistes_ecrire_key_in_serialized_meta($key, $$key, _SPIPLISTES_META_PREFERENCES); |
---|
237 | $str_log .= $key.' = '.$$key.', '; |
---|
238 | } |
---|
239 | $doit_ecrire_metas = true; |
---|
240 | } |
---|
241 | |
---|
242 | if($doit_ecrire_metas) { |
---|
243 | // recharge les metas en cache |
---|
244 | spiplistes_ecrire_metas(); |
---|
245 | } |
---|
246 | |
---|
247 | if(!empty($str_log)) { |
---|
248 | $str_log = rtrim($str_log, ', '); |
---|
249 | spiplistes_log("CONFIGURE id_auteur #$connect_id_auteur : ".$str_log); |
---|
250 | } |
---|
251 | |
---|
252 | // |
---|
253 | // Adresse mail pour les retours (Reply-to:) |
---|
254 | // @see: http://www.w3.org/Protocols/rfc822/ |
---|
255 | $email_reply_to = spiplistes_pref_lire('email_reply_to'); |
---|
256 | |
---|
257 | // Adresse mail pour les retours en erreur (Return-path:) |
---|
258 | // @see: http://www.w3.org/Protocols/rfc822/ |
---|
259 | // Plus ou moins obsolete, ou non respecte' |
---|
260 | $email_return_path_defaut = spiplistes_pref_lire('email_return_path_defaut'); |
---|
261 | |
---|
262 | $smtp_identification = (isset($GLOBALS['meta']['smtp_identification']) && ($GLOBALS['meta']['smtp_identification']=='oui')) ? "oui" : "non"; |
---|
263 | $mailer_smtp = (isset($GLOBALS['meta']['mailer_smtp']) && ($GLOBALS['meta']['mailer_smtp']=='oui')) ? "oui" : "non"; |
---|
264 | $smtp_port = (isset($GLOBALS['meta']['smtp_port']) && (!empty($GLOBALS['meta']['smtp_port']))) ? $GLOBALS['meta']['smtp_port'] : "25"; |
---|
265 | $smtp_server = (isset($GLOBALS['meta']['smtp_server']) && (!empty($GLOBALS['meta']['smtp_server']))) ? $GLOBALS['meta']['smtp_server'] : "localhost"; |
---|
266 | $smtp_sender = (email_valide($GLOBALS['meta']['smtp_sender'])) ? $GLOBALS['meta']['smtp_sender'] : $GLOBALS['meta']['email_webmaster']; |
---|
267 | } |
---|
268 | |
---|
269 | //////////////////////////////////// |
---|
270 | // PAGE CONTENU |
---|
271 | //////////////////////////////////// |
---|
272 | |
---|
273 | $titre_page = _T('icone_configuration_site'); |
---|
274 | // Permet entre autres d'ajouter les classes a' la page : <body class='$rubrique $sous_rubrique'> |
---|
275 | $rubrique = 'configuration'; |
---|
276 | $sous_rubrique = _SPIPLISTES_PREFIX; |
---|
277 | |
---|
278 | $commencer_page = charger_fonction('commencer_page', 'inc'); |
---|
279 | echo($commencer_page(_T('spiplistes:spiplistes') . " - " . $titre_page, $rubrique, $sous_rubrique)); |
---|
280 | |
---|
281 | // la configuration spiplistes est réservée aux supers-admins |
---|
282 | if(!$flag_editable) { |
---|
283 | die (spiplistes_terminer_page_non_autorisee() . fin_page()); |
---|
284 | } |
---|
285 | |
---|
286 | $page_result = '' |
---|
287 | . '<br style="line-height:3em" />' . $eol |
---|
288 | . spiplistes_gros_titre(_T('titre_page_config_contenu'), '', true) |
---|
289 | . barre_onglets($rubrique, $sous_rubrique) |
---|
290 | . debut_gauche($rubrique, true) |
---|
291 | . spiplistes_boite_meta_info(_SPIPLISTES_PREFIX) |
---|
292 | . pipeline('affiche_gauche', array('args'=>array('exec'=>'spiplistes_config'),'data'=>'')) |
---|
293 | //. creer_colonne_droite($rubrique, true) // spiplistes_boite_raccourcis() s'en occupe |
---|
294 | . spiplistes_boite_raccourcis(true) |
---|
295 | . spiplistes_boite_autocron() |
---|
296 | . spiplistes_boite_info_spiplistes(true) |
---|
297 | . pipeline('affiche_droite', array('args'=>array('exec'=>'spiplistes_config'),'data'=>'')) |
---|
298 | . debut_droite($rubrique, true) |
---|
299 | ; |
---|
300 | |
---|
301 | ////////////////////////////////////////////////////// |
---|
302 | // Boite Mode d'inscription des visiteurs |
---|
303 | $checked1 = $checked2 = ''; |
---|
304 | |
---|
305 | $is_checked = 'checked="checked"'; |
---|
306 | |
---|
307 | ($GLOBALS['meta']['abonnement_config'] == 'simple') ? $checked1 = $is_checked : $checked2 = $is_checked; |
---|
308 | |
---|
309 | $opt_format_courrier_defaut = spiplistes_format_abo_default(); |
---|
310 | |
---|
311 | $page_result .= '' |
---|
312 | . '<!-- options inscription -->' . $eol |
---|
313 | . debut_cadre_trait_couleur('redacteurs-24.gif', true, '', _T('spiplistes:inscription')) |
---|
314 | . '<form action="' . generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE) . '" method="post">' . $eol |
---|
315 | . debut_cadre_relief('', true, '', _T('spiplistes:mode_inscription')) |
---|
316 | . '<p class="verdana2">' . $eol |
---|
317 | . '<input type="radio" name="abonnement_config" value="simple"' |
---|
318 | . $checked1 |
---|
319 | . ' id="statut_simple" />' . $eol |
---|
320 | . '<label for="statut_simple">'._T('spiplistes:abonnement_simple').'</label>' . $eol |
---|
321 | . '</p>' . $eol |
---|
322 | . '<p class="verdana2">' . $eol |
---|
323 | . '<input type="radio" name="abonnement_config" value="membre"' |
---|
324 | . $checked2 |
---|
325 | . ' id="statut_membre" />' . $eol |
---|
326 | . '<label for="statut_membre">'._T('spiplistes:abonnement_code_acces').'</label>' . $eol |
---|
327 | . '</p>' . $eol |
---|
328 | . fin_cadre_relief(true) |
---|
329 | |
---|
330 | . '<!-- format de courrier par defaut -->' . $eol |
---|
331 | . debut_cadre_relief('', true, '', _T('spiplistes:format_courrier_defaut')) |
---|
332 | . '<legend>'._T('spiplistes:format_courrier_defaut_desc').'</legend>' |
---|
333 | . '<p class="verdana2">' . $eol |
---|
334 | . '<input type="radio" name="opt_format_courrier_defaut" value="html"' |
---|
335 | . ($opt_format_courrier_defaut == 'html' ? $is_checked : '') |
---|
336 | . ' id="c_format_html" />' . $eol |
---|
337 | . '<label for="c_format_html">'._T('spiplistes:html_description').'</label>' . $eol |
---|
338 | . '</p>' . $eol |
---|
339 | . '<p class="verdana2">' . $eol |
---|
340 | . '<input type="radio" name="opt_format_courrier_defaut" value="texte"' |
---|
341 | . ($opt_format_courrier_defaut == 'texte' ? $is_checked : '') |
---|
342 | . ' id="c_format_texte" />' . $eol |
---|
343 | . '<label for="c_format_texte">'._T('spiplistes:texte_brut').'</label>' . $eol |
---|
344 | . '</p>' . $eol |
---|
345 | . fin_cadre_relief(true) |
---|
346 | |
---|
347 | // bouton de validation |
---|
348 | . '<div style="text-align:right;"><input type="submit" name="abonnement_valider" class="fondo" value="'._T('bouton_valider').'" /></div>' . $eol |
---|
349 | . '</form>' . $eol |
---|
350 | . fin_cadre_trait_couleur(true) |
---|
351 | ; |
---|
352 | |
---|
353 | ////////////////////////////////////////////////////// |
---|
354 | // Formulaire abonnement |
---|
355 | $checked1 = ((spiplistes_pref_lire('opt_plier_deplier_formabo') == 'oui') ? "checked='checked'" : ''); |
---|
356 | $page_result .= '' |
---|
357 | . debut_cadre_trait_couleur("redacteurs-24.gif", true, '', _T('spiplistes:formulaire_abonnement')) |
---|
358 | . "<form action='".generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE)."' method='post'>" . $eol |
---|
359 | . "<p class='verdana2'>" . $eol |
---|
360 | . "<input type='checkbox' name='opt_plier_deplier_formabo' value='oui' $checked1 id='plier_deplier' />" . $eol |
---|
361 | . "<label for='plier_deplier'>"._T('spiplistes:formulaire_abonnement_effet').'</label>' . $eol |
---|
362 | . "</p>" . $eol |
---|
363 | // bouton de validation |
---|
364 | . "<div style='text-align:right;'><input type='submit' name='btn_formabo_valider' class='fondo' value='"._T('bouton_valider')."' /></div>" . $eol |
---|
365 | . "</form>" . $eol |
---|
366 | . fin_cadre_trait_couleur(true) |
---|
367 | ; |
---|
368 | |
---|
369 | ////////////////////////////////////////////////////// |
---|
370 | // Boite parametrage complément du courrier |
---|
371 | $opt_personnaliser_courrier = (spiplistes_pref_lire('opt_personnaliser_courrier') == 'oui'); |
---|
372 | $opt_completer_titre_nom_site = (spiplistes_pref_lire('opt_completer_titre_nom_site') == 'oui'); |
---|
373 | $opt_lien_en_tete_courrier = (spiplistes_pref_lire('opt_lien_en_tete_courrier') == 'oui'); |
---|
374 | $lien_patron = spiplistes_pref_lire('lien_patron'); |
---|
375 | $opt_ajout_tampon_editeur = (spiplistes_pref_lire('opt_ajout_tampon_editeur') == 'oui'); |
---|
376 | $opt_ajout_lien_desabo = (spiplistes_pref_lire('opt_ajout_lien_desabo') == 'oui'); |
---|
377 | $tampon_patron = spiplistes_pref_lire('tampon_patron'); |
---|
378 | foreach($_tampon_cles as $key) |
---|
379 | { |
---|
380 | $$key = spiplistes_pref_lire($key); |
---|
381 | } |
---|
382 | $page_result .= '' |
---|
383 | . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK."courriers_complement-24.png", true, '', _T('spiplistes:complement_des_courriers')) |
---|
384 | . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) |
---|
385 | // |
---|
386 | // personnaliser le courrier (reprend les données de *_auteur) |
---|
387 | . "<!-- personnaliser le courrier -->" . $eol |
---|
388 | . debut_cadre_relief('', true, '', _T('spiplistes:personnaliser_le_courrier')) |
---|
389 | . "<p class='verdana2'>"._T('spiplistes:personnaliser_le_courrier_desc')."</p>" |
---|
390 | . "<label class='verdana2'>" |
---|
391 | . "<input type='checkbox' name='opt_personnaliser_courrier' value='oui' " |
---|
392 | . (($opt_personnaliser_courrier == 'oui') ? "checked='checked'" : '') |
---|
393 | . ' />' . $eol |
---|
394 | . _T('spiplistes:personnaliser_le_courrier_label').'</label>' . $eol |
---|
395 | . fin_cadre_relief(true) |
---|
396 | // |
---|
397 | // ajout du renvoi de tete, lien courrier |
---|
398 | . debut_cadre_relief('', true, '', _T('spiplistes:complement_lien_en_tete')) |
---|
399 | . "<p class='verdana2'>"._T('spiplistes:complement_lien_en_tete_desc')."</p>" |
---|
400 | . '<input type="checkbox" name="opt_lien_en_tete_courrier" value="oui" id="opt-lien-en-tete-courrier" ' |
---|
401 | . (($opt_lien_en_tete_courrier) ? 'checked="checked"' : '') |
---|
402 | . ' />' . $eol |
---|
403 | . "<label class='verdana2' for='opt-lien-en-tete-courrier'>"._T('spiplistes:complement_ajouter_lien_en_tete').'</label>' . $eol |
---|
404 | // |
---|
405 | // lien courrier: boite de selection |
---|
406 | . "<div id='div-lien-en-tete-courrier' style='".(!$opt_lien_en_tete_courrier ? "display:none;" : '')."margin-top:1em;'>" |
---|
407 | . '<label class="verdana2" style="padding-left:2ex;">' |
---|
408 | . _T('spiplistes:patron_du_lien').'.' . $eol |
---|
409 | . spiplistes_boite_selection_patrons($lien_patron, true, _SPIPLISTES_PATRONS_TETE_DIR, "lien_patron", 1) |
---|
410 | . '</label>' . $eol |
---|
411 | . "</div>" . $eol // fin bloc div-lien-en-tete-courrier |
---|
412 | . fin_cadre_relief(true) |
---|
413 | // |
---|
414 | // compléter le titre des listes par le nom du serveur ? |
---|
415 | . debut_cadre_relief('', true, '', _T('spiplistes:completer_titre_courrier_nom_site')) |
---|
416 | . '<label class="verdana2" style="padding-left:2ex;">' |
---|
417 | . '<input type="checkbox" name="opt_completer_titre_nom_site" value="oui" id="opt_completer_titre_nom_site" ' |
---|
418 | . (($opt_completer_titre_nom_site) ? 'checked="checked"' : '') |
---|
419 | . ' />' . $eol |
---|
420 | . _T('spiplistes:completer_titre_courrier_nom_site_desc') . $eol |
---|
421 | . '</label>' . $eol |
---|
422 | . fin_cadre_relief(true) |
---|
423 | // |
---|
424 | // opt_ajout_lien_desabo |
---|
425 | . debut_cadre_relief('', true, '', _T('spiplistes:lien_gestion_inscription')) |
---|
426 | . '<p class="verdana2">'._T('spiplistes:lien_gestion_inscription_desc').'</p>'.$eol |
---|
427 | . '<input type="checkbox" name="opt_ajout_lien_desabo" value="oui" id="opt_ajout_lien_desabo" ' |
---|
428 | . ($opt_ajout_lien_desabo ? 'checked="checked"' : '') |
---|
429 | . ' />' . $eol |
---|
430 | . '<label class="verdana2" for="opt_ajout_lien_desabo">' |
---|
431 | . _T('spiplistes:lien_gestion_inscription_label').'</label>'.$eol |
---|
432 | . fin_cadre_relief(true) |
---|
433 | // |
---|
434 | // ajout tampon editeur |
---|
435 | . debut_cadre_relief('', true, '', _T('spiplistes:complement_tampon_editeur')) |
---|
436 | . "<p class='verdana2'>"._T('spiplistes:complement_tampon_editeur_desc')."</p>" |
---|
437 | . "<input type='checkbox' name='opt_ajout_tampon_editeur' value='oui' id='opt-ajout-tampon-editeur' " |
---|
438 | . ($opt_ajout_tampon_editeur ? "checked='checked'" : '') |
---|
439 | . " />" . $eol |
---|
440 | . "<label class='verdana2' for='opt-ajout-tampon-editeur'>"._T('spiplistes:complement_tampon_editeur_label').'</label>' . $eol |
---|
441 | // |
---|
442 | // coordonnées editeur: bloc coordonnes_editeur |
---|
443 | . "<div id='div-ajout-tampon-editeur' style='".(!$opt_ajout_tampon_editeur ? "display:none;" : '')."margin-top:1em;'>" |
---|
444 | // tampon sélecteur |
---|
445 | . "<label class='verdana2' style='padding-left:2ex;'>"._T('spiplistes:patron_du_tampon_') . $eol |
---|
446 | . spiplistes_boite_selection_patrons($tampon_patron, true, _SPIPLISTES_PATRONS_TAMPON_DIR, "tampon_patron", 1) |
---|
447 | . '</label>' |
---|
448 | . "<ul class='verdana2' style='list-style:none;padding-left:2ex;'>" . $eol |
---|
449 | ; |
---|
450 | foreach($_tampon_cles as $key) { |
---|
451 | $value = ($$key == 'non') ? '' : $$key; |
---|
452 | $page_result .= '' |
---|
453 | . "<li><label for='id_$key'>".$tampon_labels[$key].":</label>" |
---|
454 | . "<input type='text' name='$key' id='id_$key' size='40' class='forml' value=\"{$value}\" /></li>" . $eol |
---|
455 | ; |
---|
456 | } |
---|
457 | $page_result .= '' |
---|
458 | . "</ul>" . $eol |
---|
459 | . "</div>" . $eol // fin bloc div-ajout-tampon-editeur |
---|
460 | . fin_cadre_relief(true) |
---|
461 | // |
---|
462 | // bouton de validation |
---|
463 | . "<div style='text-align:right;'><input type='submit' name='btn_complement_courrier' class='fondo' value='"._T('bouton_valider')."' /></div>" . $eol |
---|
464 | . spiplistes_form_fin(true) |
---|
465 | . fin_cadre_trait_couleur(true) |
---|
466 | ; |
---|
467 | |
---|
468 | |
---|
469 | function spiplistes_cadre_input_text($titre, $name, $value, $size=30, $class='forml') |
---|
470 | { |
---|
471 | static $eol = PHP_EOL; |
---|
472 | |
---|
473 | $str = debut_cadre_relief('', true, '', $titre) |
---|
474 | . '<input type="text" name="'.$name.'" value="'.$value.'" size="'.$size.'" class="'.$class.'" />' . $eol |
---|
475 | . fin_cadre_relief(true); |
---|
476 | |
---|
477 | return($str); |
---|
478 | } |
---|
479 | |
---|
480 | ////////////////////////////////////////////////////// |
---|
481 | // Boite parametrage envoi du courrier |
---|
482 | $page_result .= '' |
---|
483 | . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'courriers_envoyer-24.png', true, '', _T('spiplistes:envoi_des_courriers')) |
---|
484 | . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) |
---|
485 | // |
---|
486 | // adresse email de retour (reply-to) |
---|
487 | . spiplistes_cadre_input_text(_T('spiplistes:adresse_envoi_defaut') |
---|
488 | , 'email_defaut' , $adresse_defaut |
---|
489 | ) |
---|
490 | // |
---|
491 | // adresse email du smtp sender |
---|
492 | . spiplistes_cadre_input_text(_T('spiplistes:adresse_smtp') |
---|
493 | , 'smtp_sender' , $smtp_sender |
---|
494 | ) |
---|
495 | // |
---|
496 | // adresse de retour (reply-to) |
---|
497 | . spiplistes_cadre_input_text(_T('spiplistes:adresse_email_reply_to') |
---|
498 | , 'email_reply_to' , $email_reply_to |
---|
499 | ) |
---|
500 | // |
---|
501 | // adresse return-path de retour (on-error reply-to) |
---|
502 | . spiplistes_cadre_input_text(_T('spiplistes:adresse_on_error_defaut') |
---|
503 | , 'email_return_path_defaut' , $email_return_path_defaut |
---|
504 | ) |
---|
505 | // |
---|
506 | // Méthode d'envoi |
---|
507 | . debut_cadre_relief('', true, '', _T('spiplistes:methode_envoi')) |
---|
508 | . "<div class='verdana2'>" . $eol |
---|
509 | . _T('spiplistes:pas_sur') |
---|
510 | . bouton_radio("mailer_smtp", "non", _T('spiplistes:php_mail'), $mailer_smtp == "non", "changeVisible(this.checked, 'smtp', 'none', 'block');") |
---|
511 | . "<br />" . $eol |
---|
512 | . bouton_radio("mailer_smtp", "oui", _T('spiplistes:utiliser_smtp'), $mailer_smtp == "oui" |
---|
513 | , "changeVisible(this.checked, 'smtp', 'block', 'none');") |
---|
514 | . "</div>" . $eol |
---|
515 | // |
---|
516 | // si 'smtp', affiche bloc de paramétrage |
---|
517 | . "<ul id='smtp' class='verdana2' style='list-style: none;display:".(($mailer_smtp == "oui") ? "block" : "none")."'>" . $eol |
---|
518 | . "<li>"._T('spiplistes:smtp_hote')." : <input type='text' name='smtp_server' value='$smtp_server' size='30' class='forml' /></li>" . $eol |
---|
519 | . "<li>"._T('spiplistes:smtp_port')." : <input type='text' name='smtp_port' value='$smtp_port' size='4' class='fondl' /></li>" . $eol |
---|
520 | . "<li>"._T('spiplistes:requiert_identification')." : " |
---|
521 | . bouton_radio("smtp_identification", "oui", _T('item_oui'), ($smtp_identification == "oui"), "changeVisible(this.checked, 'smtp-auth', 'block', 'none');") |
---|
522 | . " " |
---|
523 | . bouton_radio("smtp_identification", "non", _T('item_non'), ($smtp_identification == "non"), "changeVisible(this.checked, 'smtp-auth', 'none', 'block');")."</li>" . $eol |
---|
524 | . "</ul>" . $eol |
---|
525 | . "<ul id='smtp-auth' class='verdana2' style='list-style:none;display:".(($smtp_identification == "oui") ? "block" : "none" )."'>" . $eol |
---|
526 | . "<li>" |
---|
527 | . "<label for='smtp_login'>"._T('item_login')." : </label>" . $eol |
---|
528 | . "<input type='text' id='smtp_login' name='smtp_login' value='".$GLOBALS['meta']['smtp_login']."' size='30' class='fondl' />" . $eol |
---|
529 | . "</li>" . $eol |
---|
530 | . "<li>" |
---|
531 | . "<label for='smtp_pass'>"._T('entree_passe_ldap')." : </label>" . $eol |
---|
532 | . "<input type='password' id='smtp_pass' name='smtp_pass' value='".$GLOBALS['meta']['smtp_pass']."' size='30' class='fondl' />" . $eol |
---|
533 | . "</li>" . $eol |
---|
534 | . "</ul>" . $eol |
---|
535 | . fin_cadre_relief(true) |
---|
536 | // |
---|
537 | // le nombre de lots d'envois |
---|
538 | . debut_cadre_relief('', true, '', _T('spiplistes:parametrer_la_meleuse')) |
---|
539 | . spiplistes_boite_select_de_formulaire ( |
---|
540 | spiplistes_array_values_in_keys(explode(";", _SPIPLISTES_LOTS_PERMIS)), $GLOBALS['meta']['spiplistes_lots'] |
---|
541 | , 'spiplistes_lots', 'spiplistes_lots' |
---|
542 | , 1, '', 'fondo', _T('spiplistes:nombre_lot')." : ", '', 'verdana2') |
---|
543 | . '<br />' . $eol |
---|
544 | // |
---|
545 | // sélection du charset d'envoi |
---|
546 | . spiplistes_boite_select_de_formulaire ( |
---|
547 | spiplistes_array_values_in_keys(explode(";", _SPIPLISTES_CHARSETS_ALLOWED)), $GLOBALS['meta']['spiplistes_charset_envoi'] |
---|
548 | , 'spiplistes_charset_envoi', 'spiplistes_charset_envoi' |
---|
549 | , 1, '', 'fondo', _T('spiplistes:jeu_de_caracteres')." : ", '', 'verdana2') |
---|
550 | . fin_cadre_relief(true) |
---|
551 | ; |
---|
552 | // |
---|
553 | // options simulation des envois, suspendre le tri, la meleuse |
---|
554 | $page_result .= '' |
---|
555 | . debut_cadre_relief('', true, '', _T('spiplistes:mode_suspendre_trieuse')) |
---|
556 | . spiplistes_form_input_checkbox ( |
---|
557 | 'opt_suspendre_trieuse' |
---|
558 | , 'oui', _T('spiplistes:suspendre_le_tri_des_listes') |
---|
559 | , (spiplistes_pref_lire('opt_suspendre_trieuse') == 'oui'), true, false) |
---|
560 | . fin_cadre_relief(true) |
---|
561 | // |
---|
562 | . debut_cadre_relief('', true, '', _T('spiplistes:mode_suspendre_meleuse')) |
---|
563 | . spiplistes_form_input_checkbox ( |
---|
564 | 'opt_suspendre_meleuse' |
---|
565 | , 'oui', _T('spiplistes:suspendre_lenvoi_des_courriers') |
---|
566 | , (spiplistes_pref_lire('opt_suspendre_meleuse') == 'oui'), true, false) |
---|
567 | . fin_cadre_relief(true) |
---|
568 | // |
---|
569 | . debut_cadre_relief('', true, '', _T('spiplistes:mode_simulation')) |
---|
570 | . spiplistes_form_input_checkbox ( |
---|
571 | 'opt_simuler_envoi' |
---|
572 | , 'oui', _T('spiplistes:simuler_les_envois') |
---|
573 | , (spiplistes_pref_lire('opt_simuler_envoi') == 'oui'), true, false) |
---|
574 | . fin_cadre_relief(true) |
---|
575 | // |
---|
576 | . spiplistes_form_bouton_valider('btn_param_valider', _T('bouton_valider'), true) |
---|
577 | . spiplistes_form_fin(true) |
---|
578 | . fin_cadre_trait_couleur(true) |
---|
579 | ; |
---|
580 | |
---|
581 | ////////////////////////////////////////////////////// |
---|
582 | // La console |
---|
583 | $page_result .= '<a id="regler-console" name="regler-console"></a>' |
---|
584 | . debut_cadre_trait_couleur(_DIR_PLUGIN_SPIPLISTES_IMG_PACK.'console-24.gif', true, '', _T('spiplistes:log_console')) |
---|
585 | . spiplistes_form_debut(generer_url_ecrire(_SPIPLISTES_EXEC_CONFIGURE), true) |
---|
586 | // |
---|
587 | // la console en mode debug ? |
---|
588 | . debut_cadre_relief('', true, '', _T('spiplistes:log_console_debug')) |
---|
589 | . spiplistes_form_input_checkbox ( |
---|
590 | 'opt_console_debug' |
---|
591 | , 'oui' |
---|
592 | , _T('spiplistes:log_console_debug_activer') |
---|
593 | , (spiplistes_pref_lire('opt_console_debug') == 'oui'), true, false) |
---|
594 | . fin_cadre_relief(true) |
---|
595 | // |
---|
596 | . debut_cadre_relief('', true, '', _T('spiplistes:log_details_console')) |
---|
597 | . spiplistes_form_input_checkbox ( |
---|
598 | 'opt_log_voir_destinataire' |
---|
599 | , 'oui' |
---|
600 | , _T('spiplistes:log_voir_destinataire') |
---|
601 | , (spiplistes_pref_lire('opt_log_voir_destinataire') == 'oui'), true, false) |
---|
602 | . fin_cadre_relief(true) |
---|
603 | ; |
---|
604 | // Paramétrer la console de debug/logs si sur LAN |
---|
605 | if(spiplistes_server_rezo_local()) { |
---|
606 | $page_result .= '' |
---|
607 | . debut_cadre_relief('', true, '', _T('spiplistes:log_console_syslog')) |
---|
608 | . '<p class="verdana2">'._T('spiplistes:log_console_syslog_desc', array('IP_LAN' => $_SERVER['SERVER_ADDR'])).'</p>' . $eol |
---|
609 | . spiplistes_form_input_checkbox ( |
---|
610 | 'opt_console_syslog' |
---|
611 | , 'oui', _T('spiplistes:log_console_syslog_texte') |
---|
612 | , (spiplistes_pref_lire('opt_console_syslog') == 'oui'), true, false) |
---|
613 | . fin_cadre_relief(true) |
---|
614 | ; |
---|
615 | } |
---|
616 | $page_result .= '' |
---|
617 | . spiplistes_form_bouton_valider('btn_console_syslog') |
---|
618 | . spiplistes_form_fin(true) |
---|
619 | ; |
---|
620 | // voir les journaux SPIP |
---|
621 | if(!($ii = spiplistes_pref_lire('opt_console_syslog')) || ($ii == 'non')) { |
---|
622 | // si syslog non activé, on visualise les journaux de spip |
---|
623 | // lien sur logs ou affiche logs |
---|
624 | /* |
---|
625 | * CP-20081112: deplace' dans les raccourcis |
---|
626 | */ |
---|
627 | /* |
---|
628 | $page_result .= '' |
---|
629 | . "<a id='view-spiplistes-log' name='view-spiplistes-log' href='#view-spiplistes-log' class='verdana2'>" |
---|
630 | . _T('spiplistes:log_voir_les_journaux') |
---|
631 | . "</a>" . $eol |
---|
632 | . "<div id='view-spiplistes-log-box'></div>" . $eol |
---|
633 | ; |
---|
634 | */ |
---|
635 | } |
---|
636 | $page_result .= '' |
---|
637 | . fin_cadre_trait_couleur(true) |
---|
638 | ; |
---|
639 | |
---|
640 | // Fin de la page |
---|
641 | echo($page_result); |
---|
642 | |
---|
643 | echo pipeline('affiche_milieu',array('args'=>array('exec'=>$sous_rubrique),'data'=>'')) |
---|
644 | , spiplistes_html_signature(_SPIPLISTES_PREFIX) |
---|
645 | , fin_gauche(), fin_page(); |
---|
646 | } // exec_config() |
---|
647 | |
---|
648 | /* |
---|
649 | * renvoie une boite select pour un formulaire |
---|
650 | * @return |
---|
651 | * @param $array_values Object |
---|
652 | * @param $selected Object |
---|
653 | * @param $select_id Object |
---|
654 | * @param $select_name Object |
---|
655 | * @param $size Object[optional] |
---|
656 | * @param $select_style Object[optional] |
---|
657 | * @param $select_class Object[optional] |
---|
658 | * @param $label_value Object[optional] |
---|
659 | * @param $label_style Object[optional] |
---|
660 | * @param $label_class Object[optional] |
---|
661 | * @param $multiple Object[optional] |
---|
662 | */ |
---|
663 | function spiplistes_boite_select_de_formulaire ($array_values, $selected, $select_id, $select_name |
---|
664 | , $size=1, $select_style='', $select_class='' |
---|
665 | , $label_value='', $label_style='', $label_class='', $multiple=false |
---|
666 | ) { |
---|
667 | $result = ''; |
---|
668 | foreach($array_values as $key=>$value) { |
---|
669 | $result .= "<option".mySel($value, $selected).">$key</option>" . $eol; |
---|
670 | } |
---|
671 | $result = '' |
---|
672 | . ( |
---|
673 | (!empty($label_value)) |
---|
674 | ? "<label for='$select_id'" |
---|
675 | .(!empty($label_style) ? " style='$label_style'" : '') |
---|
676 | .(!empty($label_class) ? " class='$label_class'" : '') |
---|
677 | .">$label_value</label>" . $eol |
---|
678 | : '' |
---|
679 | ) |
---|
680 | . "<select name='$select_name' size='$size'" |
---|
681 | .(($multiple && ($size>1)) ? " multiple='multiple'" : '') |
---|
682 | .(!empty($select_style) ? " style='$select_style'" : '') |
---|
683 | .(!empty($select_class) ? " class='$select_class'" : '') |
---|
684 | ." id='$select_id'>" . $eol |
---|
685 | . $result |
---|
686 | . "</select>" . $eol |
---|
687 | ; |
---|
688 | return ($result); |
---|
689 | } // spiplistes_boite_select_de_formulaire() |
---|
690 | |
---|
691 | /* |
---|
692 | * renvoie tableau avec key => value |
---|
693 | * @return |
---|
694 | * @param $array Object |
---|
695 | */ |
---|
696 | function spiplistes_array_values_in_keys($array) { |
---|
697 | $result = array(); |
---|
698 | foreach($array as $value) { |
---|
699 | $result[$value] = $value; |
---|
700 | } |
---|
701 | return($result); |
---|
702 | } // spiplistes_array_values_in_keys() |
---|
703 | |
---|
704 | |
---|