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

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

réécriture de la fonction spiplistes_server_rezo_local(), mieux detecter les réseaux privés

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