source: spip-zone/_plugins_/spip-lettres/formulaires/editer_thematique.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: 4.9 KB
Line 
1<?php
2/**
3 * SPIP-Lettres
4 *
5 * Copyright (c) 2006-2009
6 * Agence Artégo http://www.artego.fr
7 *
8 * Ce programme est un logiciel libre distribue sous licence GNU/GPLv3.
9 * Pour plus de details voir http://www.gnu.org/licenses/gpl-3.0.html
10 *
11 **/
12 
13// Sécurité
14if (!defined('_ECRIRE_INC_VERSION')) return;
15 
16function formulaires_editer_thematique_saisies($id_theme=0, $titre='', $id_rubrique=0, $expediteur_type='default', $expediteur_id=0, $retours_type='default', $retours_id=0){
17       
18        $types = array('default', 'webmaster', 'author', 'custom');
19
20        if (!in_array($expediteur_type, $types))
21        {
22                if ($GLOBALS['meta']['spip_lettres_signe_par_auteurs'] == 'oui')
23                        $expediteur_type = 'author';
24                else   
25                        $expediteur_type = 'default';
26        }
27
28        if (!in_array($retours_type, $types))
29                $retours_type = 'default';
30       
31        $mes_saisies = array(
32                array( // champ id_theme : champ caché
33                        'saisie' => 'hidden',
34                        'options' => array(
35                                'nom' => 'id_theme',
36                                'defaut' => $id_theme
37                        )
38                ),
39                array( // hors fieldset : champ titre  : ligne de texte
40                        'saisie' => 'input',
41                        'options' => array(
42                                'nom' => 'titre',
43                                'obligatoire' => 'oui',
44                                'defaut' => $titre,
45                                'label' => ucfirst(_T('lettresprive:titre'))
46                        )
47                ), // fin champ titre
48                array( // fielset
49                        'saisie' => 'fieldset',
50                        'options' => array(
51                                'nom' => 'toutes_thematiques',
52                                'label' => _T('lettresprive:toutes_lettres_thematique')
53                        ),
54                        'saisies' => array( // les champs dans le fieldset
55                                array( // champ expediteur_type : radio
56                                        'saisie' => 'radio',
57                                        'options' => array(
58                                                'nom' => 'expediteur_type',
59                                                'label' => ucfirst(_T('lettresprive:email_expediteur')),
60                                                'defaut' => $expediteur_type,
61                                                'datas' => array( // types possibles
62                                                        'default' => _T('lettresprive:expediteur_defaut'),
63                                                        'webmaster' => _T('lettresprive:webmestre_site'),
64                                                        'author' => _T('lettresprive:auteur_lettre'),
65                                                        'custom' => _T('lettresprive:choisir_parmi_auteurs')
66                                                )
67                                        )
68                                ), // fin champ expediteur_type
69                                array( // champ expediteur_id : auteurs
70                                        'saisie' => 'auteurs',
71                                        'options' => array(
72                                                'nom' => 'expediteur_id',
73                                                'defaut' => $expediteur_id,
74                                                'statut' => '0minirezo',
75                                                'option_intro' => _T('lettresprive:selectionner_auteur'),
76                                                'afficher_si' => '@expediteur_type@ == "custom"'
77                                        )
78                                ),
79                                array( // champ retours_type : radio
80                                        'saisie' => 'radio',
81                                        'options' => array(
82                                                'nom' => 'retours_type',
83                                                'label' => ucfirst(_T('lettresprive:email_return_path')),
84                                                'defaut' => $retours_type,
85                                                'datas' => array( // types possibles
86                                                        'default' => _T('lettresprive:expediteur_defaut'),
87                                                        'webmaster' => _T('lettresprive:webmestre_site'),
88                                                        'author' => _T('lettresprive:auteur_lettre'),
89                                                        'custom' => _T('lettresprive:choisir_parmi_auteurs')
90                                                )
91                                        )
92                                ), // fin champ retours_type
93                                array( // champ retours_id : auteurs
94                                        'saisie' => 'auteurs',
95                                        'options' => array(
96                                                'nom' => 'retours_id',
97                                                'defaut' => $retours_id,
98                                                'statut' => '0minirezo',
99                                                'option_intro' => _T('lettresprive:selectionner_auteur'),
100                                                'afficher_si' => '@retours_type@ == "custom"'
101                                        )
102                                ),
103                                array( // champ id_rubrique : selecteur_rubrique
104                                        'saisie' => 'selecteur_rubrique',
105                                        'options' => array(
106                                                'nom' => 'id_rubrique',
107                                                'obligatoire' => 'oui',
108                                                'defaut' => 'rubrique|'.$id_rubrique,
109                                                'explication' => _T('lettresprive:choix_rubrique'),
110                                                'afficher_rub_dans_langue_interface' => 'oui'
111                                        )
112                                ) // fin champ id_rubrique
113                        ) // fin 'saisies'
114                ) // fin 'fieldset'
115        ); // fin $mes_saisies
116
117        return $mes_saisies;
118}
119
120function formulaires_editer_thematique_traiter_dist(){
121        $res = array();
122        $aTypes = array('default','webmaster','author','custom');
123       
124        $id_theme = _request('id_theme');
125        $aRubrique = _request('id_rubrique');
126        $id_rubrique = str_replace('rubrique|', '', $aRubrique[0]);
127        $titre = _request('titre');
128        $expediteur_type = in_array( _request('expediteur_type'), $aTypes) ? _request('expediteur_type') : 'default';
129        $expediteur_id = 'custom'== $expediteur_type ? _request('expediteur_id') : 0;
130        $retours_type = in_array( _request('retours_type'), $aTypes) ? _request('retours_type') : 'default';
131        $retours_id = 'custom'== $retours_type ? _request('retours_id') : 0;
132       
133        $modifications = array(
134                'id_rubrique'                           => intval($id_rubrique),
135                'titre'                                         => sql_quote($titre),
136                'expediteur_type'                       => sql_quote($expediteur_type),
137                'expediteur_id'                         => intval($expediteur_id),
138                'retours_type'                          => sql_quote($retours_type),
139                'retours_id'                            => intval($retours_id)
140        );
141
142        $succes = sql_update('spip_themes', $modifications, 'id_theme=' . intval($id_theme));
143
144        if ($succes)
145        {
146                $res['message_ok'] = _T('lettresprive:thematique_modifiee');
147        }
148        else
149                $res['message_erreur'] = _T('lettresprive:thematique_erreur_modif');
150
151        return $res;
152}
153
154 ?>
Note: See TracBrowser for help on using the repository browser.