Commit | Line | Data |
---|---|---|
c495c100 P |
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 | ?> |