3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
6 * Copyright (c) 2001-2010 *
7 * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James *
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 \***************************************************************************/
13 if (!defined("_ECRIRE_INC_VERSION")) return;
15 // http://doc.spip.org/@action_poster_forum_prive_dist
16 function action_poster_forum_prive_dist() {
18 $securiser_action = charger_fonction('securiser_action', 'inc');
19 $arg = $securiser_action();
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);
27 // http://doc.spip.org/@action_poster_forum_prive_post
28 function action_poster_forum_prive_post($r)
30 list(,$id, $id_parent, $statut, $script, $objet) = $r;
32 if (_request('valider_forum') AND ($statut!='')) {
33 include_spip('inc/texte');
34 include_spip('inc/forum');
36 $titre_message = corriger_caracteres(_request('titre_message'));
37 $texte = corriger_caracteres(_request('texte'));
39 $id_forum = sql_insertq('spip_forum', array(
41 'titre' => $titre_message,
43 'date_heure' => date('Y-m-d H:i:s'),
44 'nom_site' => _request('nom_site'),
45 'url_site' => _request('url_site'),
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));
54 if ($objet == 'id_message') {
55 sql_updateq("spip_auteurs_messages", array("vu" => 'non'), "id_message=$id");
60 if ($notifications = charger_fonction('notifications', 'inc')) {
61 $notifications('forumprive', $id_forum);
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);
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.
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);
82 include(_DIR_RESTREINT
.'index.php');