source: spip-zone/_plugins_/chatbox2/formulaires/editer_message_chat.php @ 112523

Last change on this file since 112523 was 112523, checked in by pierre.troller@…, 2 years ago

nettoyage de champs inutiles du formulaire qui provoquaientt un problème d'affichage + cosmétique générale

File size: 7.0 KB
Line 
1<?php
2
3/***************************************************************************\
4 *  SPIP, Systeme de publication pour l'internet                           *
5 *                                                                         *
6 *  Copyright (c) 2001-2016                                                *
7 *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
8 *                                                                         *
9 *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
10 *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
11\***************************************************************************/
12
13if (!defined('_ECRIRE_INC_VERSION')) {
14        return;
15}
16
17include_spip('inc/editer');
18
19function formulaires_editer_message_chat_charger_dist(
20        $id_message = 'new',
21        $type = 'message',
22        $retour = '',
23        $accepter_email = 'oui',
24        $destinataires = '',
25        $titre = '',
26        $texte = '',
27        $id_message_origine = ''
28) {
29        include_spip('inc/autoriser');
30        if (
31                (!intval($id_message) and !autoriser('envoyermessage', $type))
32                or
33                (intval($id_message) and !autoriser('modifier', 'message', $id_message))
34        ) {
35                return false;
36        }
37
38        $valeurs = formulaires_editer_objet_charger('message', $id_message, 0, 0, $retour, '');
39
40        // les destinataires sont stockes en chaine separe par une virgule dans la base
41        if (strlen($valeurs['destinataires'])) {
42                $valeurs['destinataires'] = explode(",", $valeurs['destinataires']);
43        }
44
45        if (!intval($id_message)) {
46                $valeurs['type'] = $type;
47                $valeurs['destinataires'] = ($destinataires ? explode(",", $destinataires) : array());
48                $valeurs['titre'] = $titre;
49                $valeurs['texte'] = $texte;
50                $t = time();
51                $valeurs["date_heure"] = date('Y-m-d H:i:00', $t);
52                $valeurs["date_fin"] = date('Y-m-d H:i:00', $t + 3600);
53                $valeurs["rv"] = "";
54                $valeurs["id_message_origine"] = $id_message_origine;
55        }
56
57        $id_message_origine = intval($id_message_origine);
58        if ($id_message_origine && autoriser('voir', 'message', $id_parent)) {
59
60                $v = formulaires_editer_objet_charger('message', $id_message_origine, 0, 0, $retour, '');
61                $valeurs['titre'] =  $v['titre'];
62                         $valeurs['texte'] ="\n\n\n\n\n\r" . sql_getfetsel('nom','spip_auteurs','id_auteur='.intval($v['id_auteur'])) . "\n" . affdate($v['date_heure']) . "\n"
63                        ."<quote>"."\n" . $v['texte'] . "\n"."</quote>"."\n\r";
64        }
65
66
67        // dispatcher date et heure
68        list($valeurs["date_debut"], $valeurs["heure_debut"]) = explode(' ',
69                date('d/m/Y H:i', strtotime($valeurs["date_heure"])));
70        list($valeurs["date_fin"], $valeurs["heure_fin"]) = explode(' ', date('d/m/Y H:i', strtotime($valeurs["date_fin"])));
71
72        if (in_array($valeurs['type'], array('pb', 'affich'))) {
73                $valeurs['_destiner'] = '';
74        } else {
75                $valeurs['_destiner'] = ' ';
76        }
77
78        return $valeurs;
79}
80
81
82function formulaires_editer_message_chat_verifier_dist(
83        $id_message = 'new',
84        $type = 'message',
85        $retour = '',
86        $accepter_email = 'oui',
87        $destinataires = '',
88        $titre = '',
89        $texte = '',
90        $id_message_origine=''
91) {
92
93        $oblis = array('titre');
94        if (!_request('draft')) {
95                $oblis[] = 'texte';
96        }
97        if (intval($id_message) and $t = sql_getfetsel('type', 'spip_messages', 'id_message=' . intval($id_message))) {
98                $type = $t;
99        }
100        if (!in_array($type, array('pb', 'affich'))
101                // pas de destinataire obligatoire pour un brouillon
102                and !_request('draft')
103        ) {
104                $oblis['destinataires'] = 'destinataires';
105        }
106
107        if ($d = _request('destinataires')) {
108                set_request('destinataires', implode(',', $d));
109        }
110        $erreurs = formulaires_editer_objet_verifier('message', $id_message, $oblis);
111        if ($d) {
112                set_request('destinataires', $d);
113        }
114        include_spip('inc/messages');
115        if (
116                (!isset($erreurs['destinataires']) or !$erreurs['destinataires'])
117                and isset($oblis['destinataires'])
118                and $e = messagerie_verifier_destinataires(_request('destinataires'),
119                        array('accepter_email' => ($accepter_email == 'oui')))
120        ) {
121                $erreurs['destinataires'] = implode(', ', $e);
122        }
123
124        if (_request('rv') == 'oui') {
125                include_spip('inc/date_gestion');
126                $date_debut = verifier_corriger_date_saisie('debut', true, $erreurs);
127                $date_fin = verifier_corriger_date_saisie('fin', true, $erreurs);
128
129                if ($date_debut and $date_fin and $date_fin < $date_debut) {
130                        $erreurs['date_fin'] = _T('organiseur_public:erreur_date_avant_apres');
131                }
132        } else {
133                set_request('rv', '');
134        }
135
136        return $erreurs;
137}
138
139function formulaires_editer_message_chat_traiter_dist(
140        $id_message = 'new',
141        $type = 'message',
142        $retour = '',
143        $accepter_email = 'oui',
144        $destinataires = '',
145        $titre = '',
146        $texte = '',
147        $id_message_origine = ''
148) {
149        // preformater le post
150        // fixer le type de message
151        // sans modifier le type d'un message existant
152        if (intval($id_message) and $t = sql_getfetsel('type', 'spip_messages', 'id_message=' . intval($id_message))) {
153                $type = $t;
154        }
155        set_request('type', $type);
156
157        // formater les destinataires
158        $d = _request('destinataires');
159        if (!$d) {
160                $d = array();
161        }
162        include_spip('inc/messages');
163        $d = messagerie_nettoyer_destinataires($d);
164        // si email non acceptes, extraire les seuls id_auteur de la liste proposee
165        if ($accepter_email !== 'oui') {
166                // separer id_auteur et email
167                $d = messagerie_destiner($d);
168                // ne conserver que les id_auteur
169                $d = reset($d);
170        }
171        // reinjecter sous forme de chaine
172        set_request('destinataires', implode(',', $d));
173
174        // fixer l'auteur !
175        set_request('id_auteur', $GLOBALS['visiteur_session']['id_auteur']);
176
177        if (_request('rv') == 'oui') {
178                include_spip('inc/date_gestion');
179                $erreurs = array();
180                $date_debut = verifier_corriger_date_saisie('debut', true, $erreurs);
181                $date_fin = verifier_corriger_date_saisie('fin', true, $erreurs);
182                set_request('date_heure', date('Y-m-d H:i:s', $date_debut));
183                set_request('date_fin', date('Y-m-d H:i:s', $date_fin));
184        } else {
185                set_request('date_heure');
186                set_request('date_fin');
187        }
188
189        // on gere par les traitements standard
190        // la diffusion du message se fait par pipeline post_edition sur instituer
191        // et notification
192        $res = formulaires_editer_objet_traiter('message', $id_message, 0, 0, $retour, '');
193
194        if ($id_message = $res['id_message']
195                and !_request('draft')
196        ) {
197                include_spip('action/editer_objet');
198                objet_modifier('message', $id_message, array('statut' => 'publie', 'date_heure' => _request('date_heure')));
199
200                // apres un message envoyes, retourner sur la boite d'envoi plutot que sur le message
201                if (isset($res['redirect']) and ($res['redirect'] == generer_url_public('message', 'id_message=' . $id_message))) {
202                //$res['redirect'] = generer_url_ecrire('messages', 'quoi=envoi');
203                // troll                        $res['redirect'] = generer_url_public('organiseur', 'quoi=envoi&id_message='.$id_message .'#'.$id_message,false,false);
204                $res['redirect'] = generer_url_public('organiseur', 'quoi=envoi&id_message='.$id_message.'#msgs',false,false);
205                }
206
207
208        }
209
210        set_request('destinataires', explode(',', _request('destinataires')));
211
212        return $res;
213}
Note: See TracBrowser for help on using the repository browser.