[SPIP] +2.1.12
[velocampus/web/www.git] / www / ecrire / action / poster_forum_prive.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2010 *
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
13 if (!defined("_ECRIRE_INC_VERSION")) return;
14
15 // http://doc.spip.org/@action_poster_forum_prive_dist
16 function action_poster_forum_prive_dist() {
17
18 $securiser_action = charger_fonction('securiser_action', 'inc');
19 $arg = $securiser_action();
20
21 // arg = l'eventuel mot a supprimer pour d'eventuelles Row SQL
22 if (!preg_match(',^(\d+)\D(\d+)\D(\w+)\W(\w+)\W(\w+)$,', $arg, $r))
23 spip_log("action poster_forum_prive: $arg pas compris");
24 else action_poster_forum_prive_post($r);
25 }
26
27 // http://doc.spip.org/@action_poster_forum_prive_post
28 function action_poster_forum_prive_post($r)
29 {
30 list(,$id, $id_parent, $statut, $script, $objet) = $r;
31
32 if (_request('valider_forum') AND ($statut!='')) {
33 include_spip('inc/texte');
34 include_spip('inc/forum');
35
36 $titre_message = corriger_caracteres(_request('titre_message'));
37 $texte = corriger_caracteres(_request('texte'));
38
39 $id_forum = sql_insertq('spip_forum', array(
40 $objet => $id,
41 'titre' => $titre_message,
42 'texte' => $texte,
43 'date_heure' => date('Y-m-d H:i:s'),
44 'nom_site' => _request('nom_site'),
45 'url_site' => _request('url_site'),
46 'statut' => $statut,
47 'id_auteur' =>$GLOBALS['visiteur_session']['id_auteur'],
48 'auteur' => $GLOBALS['visiteur_session']['nom'],
49 'email_auteur' => $GLOBALS['visiteur_session']['email'],
50 'id_parent' => $id_parent));
51
52 calculer_threads();
53
54 if ($objet == 'id_message') {
55 sql_updateq("spip_auteurs_messages", array("vu" => 'non'), "id_message=$id");
56
57 }
58
59 // Notification
60 if ($notifications = charger_fonction('notifications', 'inc')) {
61 $notifications('forumprive', $id_forum);
62 }
63
64 $retour = urldecode(_request('redirect'));
65 $retour = parametre_url($retour, 'modif_forum', 'fin', '&');
66 $retour = parametre_url($retour, 'texte', $objet, '&');
67 # $retour = parametre_url($retour, 'script', $script, '&');
68 redirige_par_entete($retour ."#id".$id_forum);
69 } else {
70 // previsualisation : on ne fait que passer ....
71 // et si les clients HTTP respectaient le RFC HTTP selon lequel
72 // une redirection d'un POST doit etre en POST et pas en GET
73 // on n'aurait pas a faire l'horreur ci-dessous.
74
75 set_request('action', '');
76 set_request('exec', 'poster_forum_prive');
77 set_request('id', $id);
78 set_request('id_parent', $id_parent);
79 set_request('statut', $statut);
80 set_request('script', $script);
81
82 include(_DIR_RESTREINT.'index.php');
83 exit;
84 }
85 }
86 ?>