source: spip-zone/_plugins_/spip-listes/spip-listes_1_9_3/exec/spiplistes_config.php @ 48905

Last change on this file since 48905 was 48905, checked in by paladin@…, 10 years ago

Correction du message de confirmation d'abonnement. La balise FORMULAIRE_SPIP_LISTES_INSCRIPTION utilise maintenant le patron messages_abo/standard poour répondre. Reste à revoir le charset, et peut-être le contenu du message (en plus clair, avec un lien cookie)

  • Property svn:keywords set to LastChangedBy LastChangedDate LastChangedRevision
File size: 28.1 KB
Line 
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
28if (!defined('_ECRIRE_INC_VERSION')) return;
29
30include_spip('inc/spiplistes_api_globales');
31
32function 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                . "&nbsp;"
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 */
663function 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 */
696function 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
Note: See TracBrowser for help on using the repository browser.