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

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

un peu de nettoyage (un peu)

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