//
// 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 //
//////////////////////////////////////////////////////////////////////////////////////////////////////
// Gestion du forum
// v0.2.0b
$requiredFiles = array("forum","fonctions","cache");
include_once("head.php");
if(isset($_POST['post']))
{
$id = $forum->add($journal->courant['id'],array(
"nom" => $_POST['nom'],
"email" => $_POST['email'],
"titre" => $_POST['titre'],
"texte" => $_POST['texte'],
"parent"=> $_POST['parent']));
if(!$id) {
$action = "lire";
$id = $_POST['parent'];
$err = $forum->erreur;
}
else {
header("location: forum?lire=".$id."&err=".urlencode("Message ajouté au forum."));
exit;
}
}
elseif(isset($_POST['edit']))
{
if(!$forum->modify($journal->courant['id'],$_POST['id'],array(
"nom" => $_POST['nom'],
"email" => $_POST['email'],
"titre" => $_POST['titre'],
"texte" => $_POST['texte'],
"status"=> $_POST['status'])))
{
$action = "editer";
$id = $_POST['id'];
$err = $forum->erreur;
#exit;
}
else {
header("location: forum?err=".urlencode("Message modifié enregistré."));
exit;
}
}
elseif(isset($_POST['delete']))
{
if(isset($_POST['cancel'])) {
header("location: forum");
exit;
}
$forum->delete($journal->courant['id'],$_POST['delete']);
header("location: forum?err=".urlencode("Les messages ont été supprimés."));
}
if(isset($_GET['lire'])) {
$action = "lire";
$id = $_GET['lire'];
}
elseif(isset($_GET['modifier'])) {
$action = "editer";
$id = $_GET['modifier'];
}
elseif(isset($_GET['supprimer'])) {
$action = "supprimer";
$id = $_GET['supprimer'];
}
elseif(isset($_POST['supprimer'])) {
$action = "supprimer";
$id = $_POST['selected'];
}
if(isset($_GET['err'])) $err = htmlspecialchars(stripslashes(urldecode($_GET['err'])));
if(!empty($err)) $page = '
'.$err.'
';
if($action == "lire")
{
if(!isset($_POST['parent']) || $_POST['parent'] != "0")
{
$post = $forum->getPost($journal->courant['id'],$id);
if(!$post) die("Ce message n'existe pas.");
$titre = $post['titre'];
$page = '
';
$posts = $forum->getTopic($journal->courant['id'],$id);
if(count($posts) > 0)
{
foreach($posts as $post)
{
$page.= '
'.(!empty($post['titre']) ? '
'.str2html($post['titre']).'
' : '').'
'.$post['texte_html'].'
';
}
}
}
$page.= '
Nota: Le code HTML sera affiché comme du texte, les adresses internet seront converties automatiquement.
';
}
elseif($action == "editer")
{
if(isset($_POST['id'])) $post = $_POST;
else $post = $forum->getPost($journal->courant['id'],$id);
$titre = "Modifier un message";
$page.= '
Nota: Le code HTML sera affiché comme du texte, les adresses internet seront converties automatiquement.
';
}
elseif($action == "supprimer")
{
$titre = "Supprimer ?";
$page = 'Etes-vous sûr de vouloir supprimer les messages suivants ?
';
}
else
{
$titre = "Gestion du forum";
if(isset($_GET['debut'])) $debut = $_GET['debut'];
else $debut = 0;
$liste = $forum->getList($journal->courant['id'],$debut);
if(count($liste) < 1) $page.= 'Aucun message dans ce forum.
';
else
{
$pages = $forum->listPages($journal->courant['id'],$debut);
if(count($pages) > 2)
{
$page.= '';
$pp = array();
if($pages['current'] > 1) $pp[] = '« Page précédente';
foreach($pages as $p=>$nb)
{
if($p == "current") break;
if($p == $pages['current']) $pp[] = ''.$p.'';
else $pp[] = ''.$p.'';
}
if($pages['current'] < count($pages)-1) $pp[] = 'Page suivante »';
$page.= implode(" - ",$pp);
$page.= '
';
}
$page.= '';
}
$page.= '
Nota: Le code HTML sera affiché comme du texte, les adresses internet seront converties automatiquement.
';
}
page($titre,$page);
?>