// // 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 = '

'.$post['texte_html'].'

'; $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.= '

Poster un nouveau message

'; if(!empty($err)) $page.= '

'.$err.'

'; $page.= '
(facultatif)
(facultatif)
'.($_POST['parent'] != "0" ? ' (facultatif)' : '').'

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.= '
(facultatif)
(facultatif)
'.($post['parent'] != "0" ? ' (facultatif)' : '').'

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 ?

'; if(!is_array($id) && !empty($id)) $id = array($id); if(count($id) < 1) { header("location: forum.php?err=".urlencode("Aucun message sélectionné.")); exit; } $page.= '

'; foreach($id as $i) { $post = $forum->getPostLight($journal->courant['id'],$i); $page.= ' '.(empty($post['titre']) ? 'Message #'.$i : str2html($post['titre'])).'
'; } $page.= '

'; } 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.= '
'; $time_today = mktime(0,0,1,date("m"),date("d"),date("Y")); $time_yday = $time_today - (3600 * 24); foreach($liste as $el) { if($el['tempo'] > $time_today) $date = "Aujourd'hui à ".date("H\hi",$el['tempo']); elseif($el['tempo'] > $time_yday) $date = "Hier à ".date("H\hi",$el['tempo']); else $date = "Le ".date("d/m/Y à H\hi",$el['tempo']); $page.= ' '; if(!$pair) $pair = TRUE; else unset($pair); } $page.= '
Titre Auteur Réponses Dernier message
'.str2html($el['titre']).' '.str2html($el['nom']).' '.$el['reponses'].' '.$date.'

'; } $page.= '

Poster un nouveau message

(facultatif)
(facultatif)

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

'; } page($titre,$page); ?>