// // This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike License. // // To view a copy of this license, visit http://creativecommons.org/licenses/by-nc-sa/1.0/ // // or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA. // // Francais (brouillon): http://creativecommons.org/projects/international/fr/translated-license // ////////////////////////////////////////////////////////////////////////////////////////////////////// // Ajout des messages dans les forums // Nota: curieusement la redirection par 404 ne permet pas de récupérer des requêtes POST // v0.2.O if(empty($_POST)) { die("404"); } function display_page($title, $content) { echo ' '.$title.'
'.$content.'
'; } @session_start(); include_once("classes/config.inc.php"); if(!empty($_SESSION['msg']) && !empty($_POST['confirm'])) { include_once("classes/journal.php"); include_once("classes/forum.php"); include_once("classes/cache.php"); $msg = $_SESSION['msg']; $urls = preg_match_all('!http://!', $msg['texte'], $match, PREG_SET_ORDER); if (@count($match) > 3) { die('Trop de liens dans le message.'); } $journal = new journal(); $journal->infos = $journal->infos($msg['journal']); $forum = new forum(); $forum->chemin = "datas/"; $forum->err['stop'] = "non"; // Si on peux pas récupérer le journal c'est qu'il n'existe pas if(!$journal->infos) { die('404'); } if(empty($msg['parent'])) $msg['parent'] = "0"; $id = $forum->add($journal->infos['id'],array( "nom" => $msg['nom'], "email" => $msg['email'], "titre" => $msg['titre'], "texte" => $msg['texte'], "parent"=> $msg['parent'])); if(!$id) $erreur = $forum->erreur; if($erreur) { $content ='

Erreur dans l\'ajout du message

'.$erreur.'

Corrigez l\'erreur si possible et renvoyez le formulaire.

(facultatif)
(facultatif)
'.(($msg['parent'] == "0") ? '' : ' (facultatif)').'

Nota: Le code HTML sera affiché comme du texte, les adresses internet seront converties automatiquement.

'; display_page('Forum - '.$journal->infos['id'], $content); exit; } unset($_SESSION['msg']); $datas = $forum->getPostLight($journal->infos['id'], $id); header("location: ".id2url($journal->infos['id'])."forum/".$datas['uri']); exit; } else { $msg = array('texte' => $_POST['texte'], 'titre' => $_POST['titre'], 'nom' => $_POST['nom'], 'email' => $_POST['email'], 'journal' => $_GET['login'], 'parent' => $_POST['parent']); $_SESSION['msg'] = $msg; $content = '

Prévisualisation du message

Vérifiez que le message ci-dessous correspond à ce que vous désirez envoyer et cliquez sur Confirmer ou sur Annuler pour revenir à l\'édition du message.

Nom
'.(empty($msg['nom']) ? 'anonyme' : str2html($msg['nom'])).'
eMail
'.(empty($msg['email']) ? 'Non renseigné' : str2html($msg['email'])).'
Titre
'.(empty($msg['titre']) ? 'Non renseigné' : str2html($msg['titre'])).'
Message
'.nl2br(str2html($msg['texte'])).'
 
'; display_page('Forum - '.$msg['journal'], $content); exit; } ?>