Que voulez-vous faire?
+ Créer un forum
+ Créer une catégorie';
+ }
+
+ //2ème cas : on cherche à créer un forum (c=f)
+ elseif($_GET['c'] == "f") {
+ $query=$db->query('SELECT cat_id, cat_nom FROM forum_categorie
+ ORDER BY cat_ordre DESC');
+ echo'
Création d\'un forum
';
+ echo'';
+ $query->CloseCursor();
+ }
+ //3ème cas : on cherche à créer une catégorie (c=c)
+ elseif($_GET['c'] == "c") {
+ echo'
Création d\'une catégorie
';
+ echo'';
+ }
+
+ break;
+
+ case "edit":
+ //Edition d'un forum
+ echo'
';
+break;
+}
+?>
diff --git a/forum/admin.php.REMOVED.git-id b/forum/admin.php.REMOVED.git-id
deleted file mode 100644
index dd8e832..0000000
--- a/forum/admin.php.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-3e100ffafb6767f9b4a662cc15439dd245cba665
\ No newline at end of file
diff --git a/forum/adminok.php b/forum/adminok.php
new file mode 100644
index 0000000..5849706
--- /dev/null
+++ b/forum/adminok.php
@@ -0,0 +1,487 @@
+Vous êtes ici : Index du forum --> Administration du forum';
+if (!verif_auth(ADMIN)) erreur(ERR_AUTH_ADMIN);
+$cat = htmlspecialchars($_GET['cat']); //on récupère dans l'url la variable cat
+switch($cat) {//1er switch
+ case "config":
+ echo'
Configuration du forum
';
+ //On récupère les valeurs et le nom de chaque entrée de la table
+ $query=$db->query('SELECT config_nom, config_valeur FROM forum_config');
+ //Avec cette boucle, on va pouvoir contrôler le résultat pour voir s'il a changé
+ while($data = $query->fetch()) {
+ if ($data['config_valeur'] != $_POST[$data['config_nom']]) {
+ //On met ensuite à jour
+ $valeur = htmlspecialchars($_POST[$data['config_nom']]);
+ $query=$db->prepare('UPDATE forum_config SET config_valeur = :valeur
+ WHERE config_nom = :nom');
+ $query->bindValue(':valeur', $valeur, PDO::PARAM_STR);
+ $query->bindValue(':nom', $data['config_nom'],PDO::PARAM_STR);
+ $query->execute();
+ }
+ }
+ $query->CloseCursor();
+ //Et le message !
+ echo'
Les nouvelles configurations ont été mises à jour !
+ Cliquez ici pour revenir à l\'administration';
+break;
+case "forum":
+ //Ici forum
+ $action = htmlspecialchars($_GET['action']); //On récupère la valeur de action
+ switch($action) {//2ème switch
+ case "creer":
+ //On commence par les forums
+ if ($_GET['c'] == "f") {
+ $titre = $_POST['nom'];
+ $desc = $_POST['desc'];
+ $cat = (int) $_POST['cat'];
+ $query=$db->prepare('INSERT INTO forum_forum (forum_cat_id, forum_name, forum_desc)
+ VALUES (:cat, :titre, :desc)');
+ $query->bindValue(':cat',$cat,PDO::PARAM_INT);
+ $query->bindValue(':titre',$titre, PDO::PARAM_STR);
+ $query->bindValue(':desc',$desc,PDO::PARAM_STR);
+ $query->execute();
+ echo'
Le forum a été créé !
+ Cliquez ici pour revenir à l\'administration';
+ $query->CloseCursor();
+ }
+ //Puis par les catégories
+ elseif ($_GET['c'] == "c") {
+ $titre = $_POST['nom'];
+ $query=$db->prepare('INSERT INTO forum_categorie (cat_nom) VALUES (:titre)');
+ $query->bindValue(':titre',$titre, PDO::PARAM_STR);
+ $query->execute();
+ echo'
La catégorie a été créée ! Cliquez ici
+ pour revenir à l\'administration
La catégorie a été modifiée !
+ Cliquez ici
+ pour revenir à l\'administration
';
+
+ }
+ elseif($_GET['e'] == "ordref") {
+ //On récupère les id et l'ordre de tous les forums
+ $query=$db->query('SELECT forum_id, forum_ordre FROM forum_forum');
+
+ //On boucle les résultats
+ while($data= $query->fetch()) {
+ $ordre = (int) $_POST[$data['forum_id']];
+
+ //Si et seulement si l'ordre est différent de l'ancien, on le met à jour
+ if ($data['forum_ordre'] != $ordre) {
+ $query=$db->prepare('UPDATE forum_forum SET forum_ordre = :ordre
+ WHERE forum_id = :id');
+ $query->bindValue(':ordre',$ordre,PDO::PARAM_INT);
+ $query->bindValue(':id',$data['forum_id'],PDO::PARAM_INT);
+ $query->execute();
+ $query->CloseCursor();
+ }
+ }
+ $query->CloseCursor();
+ //Message
+ echo'
L\'ordre a été modifié !
+ Cliquez ici pour revenir à l\'administration
';
+ }
+ elseif($_GET['e'] == "ordrec") {
+
+ //On récupère les id et les ordres de toutes les catégories
+ $query=$db->query('SELECT cat_id, cat_ordre FROM forum_categorie');
+
+ //On boucle le tout
+ while($data = $query->fetch()) {
+ $ordre = (int) $_POST[$data['cat_id']];
+
+ //On met à jour si l'ordre a changé
+ if($data['cat_ordre'] != $ordre) {
+ $query=$db->prepare('UPDATE forum_categorie SET cat_ordre = :ordre
+ WHERE cat_id = :id');
+ $query->bindValue(':ordre',$ordre,PDO::PARAM_INT);
+ $query->bindValue(':id',$data['cat_id'],PDO::PARAM_INT);
+ $query->execute();
+ $query->CloseCursor();
+ }
+ }
+ echo'
L\'ordre a été modifié !
+ Cliquez ici pour revenir à l\'administration
Le niveau du membre a été modifié !
+ Cliquez ici pour revenir à l\'administration
';
+ break;
+ case "ban":
+ //Bannissement dans un premier temps
+ //Si jamais on n'a pas laissé vide le champ pour le pseudo
+ if (isset($_POST['membre']) AND !empty($_POST['membre']))
+ {
+ $membre = $_POST['membre'];
+ $query=$db->prepare('SELECT membre_id
+ FROM forum_membres WHERE LOWER(membre_pseudo) = :pseudo');
+ $query->bindValue(':pseudo',strtolower($membre), PDO::PARAM_STR);
+ $query->execute();
+ //Si le membre existe
+ if ($data = $query->fetch())
+ {
+ //On le bannit
+ $query=$db->prepare('UPDATE forum_membres SET membre_rang = 0
+ WHERE membre_id = :id');
+ $query->bindValue(':id',$data['membre_id'], PDO::PARAM_INT);
+ $query->execute();
+ $query->CloseCursor();
+ echo'
+ Le membre '.stripslashes(htmlspecialchars($membre)).' a bien été banni ! ';
+ }
+ else
+ {
+ echo'
Désolé, le membre '.stripslashes(htmlspecialchars($membre)).' n existe pas !
+
+ Cliquez ici
+ pour réessayer
';
+ }
+ }
+ //Debannissement ici
+ $query = $db->query('SELECT membre_id FROM forum_membres
+ WHERE membre_rang = 0');
+ //Si on veut débannir au moins un membre
+ if ($query->rowCount() > 0)
+ {
+ $i=0;
+ while($data= $query->fetch())
+ {
+ if(isset($_POST[$data['membre_id']]))
+ {
+ $i++;
+ //On remet son rang à 2
+ $query=$db->prepare('UPDATE forum_membres SET membre_rang = 2
+ WHERE membre_id = :id');
+ $query->bindValue(':id',$data['membre_id'],PDO::PARAM_INT);
+ $query->execute();
+ $query->CloseCursor();
+ }
+ }
+ if ($i!=0)
+ echo'
Les membres ont été débannis
+ Cliquez ici pour retourner à l\'administration
';
+ }
+ break;
+ }
+break;
+}
diff --git a/forum/adminok.php.REMOVED.git-id b/forum/adminok.php.REMOVED.git-id
deleted file mode 100644
index 8cf1efd..0000000
--- a/forum/adminok.php.REMOVED.git-id
+++ /dev/null
@@ -1 +0,0 @@
-5849706342132c1b613fbe2158b4fcb17055c871
\ No newline at end of file
diff --git a/forum/amis.php b/forum/amis.php
new file mode 100644
index 0000000..6c4b902
--- /dev/null
+++ b/forum/amis.php
@@ -0,0 +1,204 @@
+Vous êtes ici : Index du forum --> Gestion des amis';
+if ($id==0) erreur(ERR_IS_NOT_CO);
+
+//Le titre
+echo '
Gestion des amis
';
+switch($action)
+{
+ case "add": //On veut ajouter un ami
+ if (!isset($_POST['pseudo']))
+ {
+ echo '';
+ }
+ else
+ {
+ $pseudo_d = $_POST['pseudo'];
+ //On vérifie que le pseudo renvoit bien quelque chose :o
+
+ $query=$db->prepare('SELECT membre_id, COUNT(*) AS nbr FROM forum_membres
+ WHERE LOWER(membre_pseudo) = :pseudo GROUP BY membre_pseudo');
+ $query->bindValue(':pseudo',strtolower($pseudo_d),PDO::PARAM_STR);
+ $query->execute();
+ $data = $query->fetch();
+ $pseudo_exist = $data['nbr'];
+ $i = 0;
+ $id_to=$data['membre_id'];
+ if(!$pseudo_exist)
+ {
+ echo '
Ce membre ne semble pas exister
+ Cliquez ici pour réessayer
';
+ $i++;
+ }
+ $query->CloseCursor();
+ $query = $db->prepare('SELECT COUNT(*) AS nbr FROM forum_amis
+ WHERE ami_from = :id AND ami_to = :id_to
+ OR ami_from = :id AND ami_to = :id_to');
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->bindValue(':id_to', $id_to, PDO::PARAM_INT);
+ $query->execute();
+ $deja_ami=$query->fetchColumn();
+ $query->CloseCursor();
+
+ if ($deja_ami != 0)
+ {
+ echo '
Ce membre fait déjà parti de vos amis ou a déjà proposé son amitié :p
+ Cliquez ici pour réessayer
';
+ $i++;
+ }
+ if ($id_to == $id)
+ {
+ echo '
Vous ne pouvez pas vous ajouter vous même
+ Cliquez ici pour réessayer
'.stripslashes(htmlspecialchars($pseudo_d)).'
+ a bien été ajouté à vos amis, il faut toutefois qu\'il donne son accord.
+ Cliquez ici pour retourner à l index du forum
+ Cliquez ici pour retourner à la page de gestion des amis
';
+ }
+ }
+
+case "check":
+ $add = (isset($_GET['add']))?htmlspecialchars($_GET['add']):0;
+ if (empty($add))
+ {
+ $query = $db->prepare('SELECT ami_from, ami_date, membre_pseudo FROM forum_amis
+ LEFT JOIN forum_membres ON membre_id = ami_from
+ WHERE ami_to = :id AND ami_confirm = :conf
+ ORDER BY ami_date DESC');
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->bindValue(':conf','0',PDO::PARAM_STR);
+ $query->execute();
+
+ echo '
Le membre a bien été ajouté à votre liste d\'ami
+ Cliquez ici pour retourner à la liste des amis';
+ }
+break;
+case "delete":
+ $membre = (int) $_GET['m'];
+ if (!isset($_GET['ok']))
+ {
+ echo '
Etes vous certain de vouloir supprimer ce membre ?
+ oui - non
';
+ }
+ else
+ {
+ $query = $db->prepare('DELETE FROM forum_amis WHERE ami_from = :membre AND ami_to = :id');
+ $query->bindValue(':membre',$membre,PDO::PARAM_INT);
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->execute();
+ $query->closeCursor();
+
+ $query = $db->prepare('DELETE FROM forum_amis WHERE ami_to = :membre AND ami_from = :id');
+ $query->bindValue(':membre',$membre,PDO::PARAM_INT);
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->execute();
+ $query->closeCursor();
+
+ echo '
Membre correctement supprimé :D
+ Cliquez ici pour retourner à la liste des amis
';
+ }
+break;
+default:
+
+ $query = $db->prepare('SELECT (ami_from + ami_to - :id) AS ami_id, ami_date, membre_pseudo, online_id
+ FROM forum_amis
+ LEFT JOIN forum_membres ON membre_id = (ami_from + ami_to - :id)
+ LEFT JOIN forum_whosonline ON online_id = membre_id
+ WHERE (ami_from = :id OR ami_to = :id) AND ami_confirm = :conf ORDER BY membre_pseudo');
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->bindValue(':conf','1',PDO::PARAM_STR);
+ $query->execute();
+
+ echo '
';
+ $query->CloseCursor();
+
+ //On compte le nombre de demande en cours et on met quelques liens
+ $query=$db->prepare('SELECT COUNT(*) FROM forum_amis
+ WHERE ami_to = :id AND ami_confirm = :conf');
+ $query->bindValue(':id',$id,PDO::PARAM_INT);
+ $query->bindValue(':conf','0', PDO::PARAM_STR);
+ $query->execute();
+ $demande_ami=$query->fetchColumn();
+
+ //Cette ligne va permettre d'afficher 0 plutôt qu'un vide
+ if (empty($demande_ami)) $demande_ami=0;
+ echo '