source: spip-zone/_plugins_/spip-lettres/exec/config_lettres_formulaire.php @ 48782

Last change on this file since 48782 was 48782, checked in by n.pavot@…, 10 years ago

De nouveaux paramètres sont désormais accessibles sur spip-lettres :

  • pour chaque thématique, on peut définir l'expéditeur ainsi que l'adresse e-mail qui recevra les retours en erreur

4 cas sont possibles :
1-défaut(facteur ou site)
2-webmaster
3-auteur de la lettre
4-un des auteurs/admins (0minirezo)

  • il est aussi possible de paramétrer dans la configuration avancée de spip-lettres, la personne qui recevra les notifications de désabonnements (webmaster ou un admin sélectionné).
  • N.B. : cette nouvelle version de spip-lettres nécessite les plugins YAML et saisies
File size: 5.5 KB
Line 
1<?php
2
3
4        /**
5         * SPIP-Lettres
6         *
7         * Copyright (c) 2006-2009
8         * Agence Artégo http://www.artego.fr
9         * 
10         * Ce programme est un logiciel libre distribue sous licence GNU/GPLv3.
11         * Pour plus de details voir http://www.gnu.org/licenses/gpl-3.0.html
12         * 
13         **/
14
15
16        if (!defined("_ECRIRE_INC_VERSION")) return;
17        include_spip('inc/presentation');
18        include_spip('inc/config');
19        include_spip('inc/meta');
20        include_spip('lettres_fonctions');
21
22        function exec_config_lettres_formulaire() {
23
24                if (!autoriser('configurer', 'lettres')) {
25                        include_spip('inc/minipres');
26                        echo minipres();
27                        exit;
28                }
29
30                pipeline('exec_init',array('args'=>array('exec'=>'config_lettres_formulaire'),'data'=>''));
31
32                if (!empty($_POST['titre'])) {
33                        sql_replace('spip_themes', array('id_rubrique' => intval($_POST['id_parent']), 'titre' => $_POST['titre']));
34                        include_spip('inc/rubriques');
35                        calculer_langues_rubriques();
36                        $url = generer_url_ecrire('config_lettres_formulaire');
37                        header('Location: '.$url);
38                        exit();
39                };
40
41                // rubrique par défaut pour un nouvel abonné   
42                if ($_REQUEST['pardefaut']=='oui') {
43                        if (isset($_POST['supprimer'])) // pas d'abo par défaut
44                                ecrire_meta('spip_lettres_abonnement_par_defaut', -1); 
45                        else
46                                ecrire_meta('spip_lettres_abonnement_par_defaut', 
47                                                        $_POST['id_parent']);
48                        ecrire_metas();
49                        $url = generer_url_ecrire('config_lettres_formulaire');
50                        header('Location: '.$url);
51                        exit();
52                }                       
53
54                if (!empty($_GET['supprimer_theme'])) {
55                        sql_delete('spip_themes', 'id_theme='.intval($_GET['supprimer_theme']));
56                        $url = generer_url_ecrire('config_lettres_formulaire');
57                        header('Location: '.$url);
58                        exit();
59                }                       
60
61                $commencer_page = charger_fonction('commencer_page', 'inc');
62                echo $commencer_page(_T('titre_configuration'), "configuration", "configuration");
63
64                echo '<br /><br /><br />';
65                echo gros_titre(_T('titre_configuration'),'',false);
66                echo barre_onglets("configuration", "config_lettres_formulaire_top");
67                echo "<br>";
68                echo barre_onglets("lettres", "config_lettres_formulaire");
69
70                echo debut_gauche('', true);
71                echo debut_boite_info(true);
72                echo _T('lettresprive:aide_config_lettres_formulaire');
73                echo fin_boite_info(true);
74                echo pipeline('affiche_gauche',array('args'=>array('exec'=>'config_lettres_formulaire'),'data'=>''));
75
76                echo creer_colonne_droite('', true);
77                echo pipeline('affiche_droite',array('args'=>array('exec'=>'config_lettres_formulaire'),'data'=>''));
78
79                echo debut_droite('', true);
80
81                echo('<h1>'._T('lettresprive:config_formulaire').'</h1>');
82               
83                $themes = afficher_objets(
84                        'theme', _T('lettresprive:themes_disponibles'), 
85                        array('SELECT' => 'T.*, RUB.titre AS titre_rub', 'FROM' => 'spip_themes AS T LEFT JOIN spip_rubriques AS RUB ON RUB.id_rubrique=T.id_rubrique', 'ORDER BY' => 'T.titre'));
86                if ($themes) {
87                        echo $themes;
88                        echo '<br />';
89                } else {
90                        echo debut_boite_info(true);
91                        echo _T('lettresprive:aucun_theme_selectionne');
92                        echo fin_boite_info(true);
93                }
94
95                echo '<form method="post" action="'.generer_url_ecrire('config_lettres_formulaire').'">';
96                echo debut_cadre_trait_couleur("", true, "", _T('lettresprive:ajouter_theme'));
97               
98            echo '<p>';
99                // Ajout d'un message d'erreur (avec un style inline car ne n'est pas un CVT)
100                if (empty($_REQUEST['pardefaut']) and !empty($_POST['id_parent']) and empty($_POST['titre']))
101                        echo '<span style="color:red;">'._T('info_obligatoire').'</span><br/>';
102                echo '<label for="titre">';
103                echo _T('lettresprive:titre').'</label>&nbsp;&nbsp;&nbsp;';
104
105                echo '<input type="text" class="text" name="titre" id="titre" value="" />';
106                echo '</p>';
107
108            echo '<p>';
109                echo '<label for="id_parent">'._T('lettresprive:choix_rubrique').'</label>';
110                $selecteur_rubrique = charger_fonction('chercher_rubrique', 'inc');
111                echo $selecteur_rubrique(0, 'rubrique', false);
112                echo '</p>';
113
114                echo '<p style="text-align: right;"><input class="fondo" name="ajouter" type="submit" value="'._T('lettresprive:ajouter').'" /></p>';
115                echo fin_cadre_trait_couleur(true);
116                echo '</form>';
117               
118                // rubrique par défaut pour un nouvel abonné créé via la partie privée 
119                $nbt= lettres_nombre_themes();
120                if ($nbt==1) {
121                        ecrire_meta('spip_lettres_abonnement_par_defaut', 
122                                                lettres_rubrique_theme_par_defaut());
123                        ecrire_metas();
124                        echo '<p>'._T('lettresprive:theme_par_defaut_actuel')
125                                .lettres_titre_theme_par_defaut();
126                }
127                else if ($nbt>1) {
128                        echo '<form method="post" action="'.generer_url_ecrire('config_lettres_formulaire',"pardefaut=oui").'">';
129                        echo debut_cadre_trait_couleur("", true, "", _T('lettresprive:theme_par_defaut'));
130                                               
131                        echo '<p>'._T('lettresprive:theme_par_defaut_actuel')
132                                                .lettres_titre_theme_par_defaut();
133                        if ($GLOBALS['meta']['spip_lettres_abonnement_par_defaut']>=0)
134                                echo '<input class="fondo" style="float: right;"
135                                        name="supprimer" type="submit" value="'._T('lettresprive:supprimer').'" />';
136                        echo '</p>';
137                        if (sql_countsel("spip_themes")>1) {
138                                echo '<p style="margin-top:1em;">';
139                                echo '<label for="id_parent">'._T('lettresprive:theme_par_defaut_modifier').':</label>';
140                                echo choisir_thematique();
141                                echo '<input class="fondo" style="float: right;"
142                                        name="enregistrer" type="submit" value="'._T('lettresprive:enregistrer').'" />
143                                </p>';
144                        };
145                        echo fin_cadre_trait_couleur(true);
146                        echo '</form>';
147                };
148               
149                echo pipeline('affiche_milieu',array('args'=>array('exec'=>'config_lettres_formulaire'),'data'=>''));
150               
151                echo fin_gauche();
152
153                echo fin_page();
154        }
155?>
Note: See TracBrowser for help on using the repository browser.