squellete2
[aidenligne_francais_universite.git] / ecrire / action / poster_forum_prive.php
1 <?php
2
3 /***************************************************************************\
4 * SPIP, Systeme de publication pour l'internet *
5 * *
6 * Copyright (c) 2001-2007 *
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 global $redirect, $nom_site, $texte, $titre_message, $url_site, $modif_forum, $valider_forum;
31
32 list($x,$id,$id_parent,$statut,$script,$objet) = $r;
33
34 if ($valider_forum AND ($statut!='')) {
35 include_spip('inc/texte');
36 include_spip('base/abstract_sql');
37 include_spip('inc/forum');
38
39 $titre_message = corriger_caracteres($titre_message);
40 $texte = corriger_caracteres($texte);
41
42 $id_forum = spip_abstract_insert('spip_forum', "($objet, titre, texte, date_heure, nom_site, url_site, statut, id_auteur, auteur, email_auteur, id_parent)", "($id, " . _q($titre_message) . ", " . _q($texte) . ", NOW(), " . _q($nom_site) . ", " . _q($url_site) . ", " . _q($statut) . ", " . $GLOBALS['auteur_session']['id_auteur'] . ", " . _q($GLOBALS['auteur_session']['nom']) . ", " . _q($GLOBALS['auteur_session']['email']) . ", $id_parent)");
43
44 calculer_threads();
45
46 if ($objet == 'id_message') {
47 spip_query("UPDATE spip_auteurs_messages SET vu = 'non' WHERE id_message=$id");
48
49 }
50 redirige_par_entete(urldecode($redirect)."#id".$id_forum);
51
52 } else {
53 // previsualisation : on ne fait que passer ....
54 // et si les clients HTTP respectaient le RFC HTTP selon lequel
55 // une redirection d'un POST doit etre en POST et pas en GET
56 // on n'aurait pas a faire l'horreur ci-dessous.
57
58 set_request('exec', 'forum_envoi');
59 set_request('id', $id);
60 set_request('id_parent', $id_parent);
61 set_request('statut', $statut);
62 set_request('script', $script);
63
64 include('ecrire/index.php');
65 }
66 exit;
67 }
68 ?>