1 | <?php |
---|
2 | function formulaires_clevermail_list_edit_charger_dist($lst_id = -1) { |
---|
3 | if ($valeurs = sql_fetsel('*', 'spip_cm_lists', 'lst_id='.intval($lst_id))) { |
---|
4 | $valeurs['lst_auto_week_days'] = explode(',', $valeurs['lst_auto_week_days']); |
---|
5 | } else { |
---|
6 | $cm_mail_admin = sql_getfetsel('set_value', 'spip_cm_settings', 'set_name="CM_MAIL_ADMIN"'); |
---|
7 | $valeurs = array( |
---|
8 | 'lst_id' => -1, |
---|
9 | 'lst_name' => '', |
---|
10 | 'lst_comment' => '', |
---|
11 | 'lst_moderation' => 'closed', |
---|
12 | 'lst_moderator_email' => $cm_mail_admin, |
---|
13 | 'lst_subscribe_subject' => _T('clevermail:confirmation_votre_inscription'), |
---|
14 | 'lst_subscribe_text' => _T('clevermail:confirmation_votre_inscription_text'), |
---|
15 | 'lst_subject' => '', |
---|
16 | 'lst_unsubscribe_subject' => _T('clevermail:confirmation_votre_desinscription'), |
---|
17 | 'lst_unsubscribe_text' => _T('clevermail:confirmation_votre_desinscription_text'), |
---|
18 | 'lst_subject_tag' => 1, |
---|
19 | 'lst_url_html' => 'clevermail_nouveautes_html', |
---|
20 | 'lst_url_text' => 'clevermail_nouveautes_text', |
---|
21 | 'lst_auto_mode' => 'none', |
---|
22 | 'lst_auto_hour' => 8, |
---|
23 | 'lst_auto_week_days' => array(1), |
---|
24 | 'lst_auto_month_day' => 1, |
---|
25 | 'lst_auto_subscribers' => '', |
---|
26 | 'lst_auto_subscribers_mode' => 0 |
---|
27 | ); |
---|
28 | } |
---|
29 | return $valeurs; |
---|
30 | } |
---|
31 | |
---|
32 | function formulaires_clevermail_list_edit_verifier_dist($lst_id = -1) { |
---|
33 | $erreurs = array(); |
---|
34 | foreach(array('lst_name', 'lst_moderator_email', 'lst_url_html') as $obligatoire) { |
---|
35 | if (!_request($obligatoire)) { |
---|
36 | $erreurs[$obligatoire] = _T('clevermail:ce_champ_est_obligatoire'); |
---|
37 | } |
---|
38 | } |
---|
39 | $nb = sql_countsel("spip_cm_lists", "lst_id != ".intval(_request('lst_id'))." AND lst_name = ".sql_quote(_request('lst_name'))); |
---|
40 | if ($nb > 0) { |
---|
41 | $erreurs['lst_name'] = _T('clevermail:lettre_meme_nom'); |
---|
42 | } |
---|
43 | include_spip('inc/filtres'); |
---|
44 | if (_request('lst_moderator_email') && !email_valide(_request('lst_moderator_email'))) { |
---|
45 | $erreurs['lst_moderator_email'] = _T('clevermail:cette_adresse_email_n_est_pas_valide'); |
---|
46 | } |
---|
47 | if (_request('lst_auto_mode') && _request('lst_auto_mode') != 'none') { |
---|
48 | if (in_array(_request('lst_auto_mode'), array('day', 'week', 'month'))) { |
---|
49 | if (_request('lst_auto_hour') && (intval(_request('lst_auto_hour')) < 0 || intval(_request('lst_auto_hour')) > 23)) { |
---|
50 | $erreurs['lst_auto_hour'] = _T('clevermail:auto_erreur_cette_heure_existe_pas'); |
---|
51 | } |
---|
52 | switch(_request('lst_auto_mode')) { |
---|
53 | case 'day': |
---|
54 | break; |
---|
55 | case 'week': |
---|
56 | if (!_request('lst_auto_week_days') || count(_request('lst_auto_week_days')) == 0) { |
---|
57 | $erreurs['lst_auto_week_days'] = _T('clevermail:auto_erreur_choisir_un_jour_minimum'); |
---|
58 | } elseif (min(_request('lst_auto_week_days')) < 0 || max(_request('lst_auto_week_days')) > 6) { |
---|
59 | $erreurs['lst_auto_week_days'] = _T('clevermail:auto_erreur_ce_jour_semaine_existe_pas'); |
---|
60 | } |
---|
61 | break; |
---|
62 | case 'month': |
---|
63 | if (_request('lst_auto_month_day') && (intval(_request('lst_auto_month_day')) < 0 || intval(_request('lst_auto_month_day')) > 31)) { |
---|
64 | $erreurs['lst_auto_month_day'] = _T('clevermail:auto_erreur_ce_jour_mois_existe_pas'); |
---|
65 | } elseif (intval(_request('lst_auto_month_day')) > 28) { |
---|
66 | $erreurs['lst_auto_month_day'] = _T('clevermail:auto_erreur_ce_jour_mois_pas_possible'); |
---|
67 | } |
---|
68 | break; |
---|
69 | } |
---|
70 | } else { |
---|
71 | $erreurs['lst_auto_mode'] = _T('clevermail:auto_erreur_ce_mode_automatisation_existe_pas'); |
---|
72 | } |
---|
73 | } |
---|
74 | if (_request('lst_auto_subscribers') != '') { |
---|
75 | include_spip('inc/distant'); |
---|
76 | if ($adresses = recuperer_page(_request('lst_auto_subscribers'))) { |
---|
77 | include_spip('inc/clevermail_abonnes'); |
---|
78 | if (!clevermail_verification_adresses_email($adresses)) { |
---|
79 | $erreurs['lst_auto_subscribers'] = _T('clevermail:le_format_des_adresses_email_ne_semble_pas_bon'); |
---|
80 | } |
---|
81 | } else { |
---|
82 | $erreurs['lst_auto_subscribers'] = _T('clevermail:fichier_adresses_distant_impossible_telecharger'); |
---|
83 | } |
---|
84 | } |
---|
85 | if (count($erreurs)) { |
---|
86 | $erreurs['message_erreur'] = _T('clevermail:veuillez_corriger_votre_saisie'); |
---|
87 | } |
---|
88 | return $erreurs; |
---|
89 | } |
---|
90 | |
---|
91 | function formulaires_clevermail_list_edit_traiter_dist($lst_id = -1) { |
---|
92 | $champs = array( |
---|
93 | 'lst_name' => _request('lst_name'), |
---|
94 | 'lst_comment' => _request('lst_comment'), |
---|
95 | 'lst_moderation' => _request('lst_moderation'), |
---|
96 | 'lst_moderator_email' => _request('lst_moderator_email'), |
---|
97 | 'lst_subscribe_subject' => _request('lst_subscribe_subject'), |
---|
98 | 'lst_subscribe_text' => _request('lst_subscribe_text'), |
---|
99 | 'lst_subject' => _request('lst_subject'), |
---|
100 | 'lst_unsubscribe_subject' => _request('lst_unsubscribe_subject'), |
---|
101 | 'lst_unsubscribe_text' => _request('lst_unsubscribe_text'), |
---|
102 | 'lst_subject_tag' => _request('lst_subject_tag'), |
---|
103 | 'lst_url_html' => _request('lst_url_html'), |
---|
104 | 'lst_url_text' => _request('lst_url_text'), |
---|
105 | 'lst_auto_mode' => _request('lst_auto_mode'), |
---|
106 | 'lst_auto_hour' => intval(_request('lst_auto_hour')), |
---|
107 | 'lst_auto_week_days' => implode(',', _request('lst_auto_week_days')), |
---|
108 | 'lst_auto_month_day' => intval(_request('lst_auto_month_day')), |
---|
109 | 'lst_auto_subscribers' => _request('lst_auto_subscribers'), |
---|
110 | 'lst_auto_subscribers_mode' => intval(_request('lst_auto_subscribers_mode')) |
---|
111 | ); |
---|
112 | |
---|
113 | // Handle checkbox value |
---|
114 | if (isset($list['lst_subject_tag']) && ($list['lst_subject_tag'] == 'on' || $list['lst_subject_tag'] == 1)) { |
---|
115 | $champs['lst_subject_tag'] = 1; |
---|
116 | } |
---|
117 | |
---|
118 | if (_request('lst_id') == -1) { |
---|
119 | sql_insertq('spip_cm_lists', $champs); |
---|
120 | // TODO : log en chaîne de langue |
---|
121 | spip_log('Nouvelle liste « '._request('lst_name').' »', 'clevermail'); |
---|
122 | } else { |
---|
123 | sql_updateq('spip_cm_lists', $champs, "lst_id = ".intval(_request('lst_id'))); |
---|
124 | // TODO : log en chaîne de langue |
---|
125 | spip_log('Modification de la liste « '._request('lst_name').' » (id = '._request('lst_id').')', 'clevermail'); |
---|
126 | } |
---|
127 | |
---|
128 | return array('message_ok' => 'ok', 'redirect' => generer_url_ecrire('clevermail_lists')); |
---|
129 | } |
---|
130 | ?> |
---|