diff --git a/forum/admin.php b/forum/admin.php new file mode 100644 index 0000000..3e100ff --- /dev/null +++ b/forum/admin.php @@ -0,0 +1,580 @@ +Vous êtes ici : Index du forum --> Administration du forum'; +if (!verif_auth(ADMIN)) erreur(ERR_AUTH_ADMIN); + +switch($cat) {//1er switch +case "forum": + //Ici forum + $action = htmlspecialchars(isset($_GET['action'])?$_GET['action']:""); //On récupère la valeur de action + switch($action) {//2eme switch + case "creer": + //Création d'un forum + + //1er cas : pas de variable c + if(empty($_GET['c'])) { + echo'


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'
'; + 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'
'; + echo' +

+
'; + } + + break; + + case "edit": + //Edition d'un forum + echo'

Edition d\'un forum

'; + if(!isset($_GET['e'])) { + echo'

Que voulez vous faire ?
+ + Editer un forum
+ + Editer une catégorie
+ + Changer l\'ordre des forums
+ + Changer l\'ordre des catégories +

'; + } + elseif($_GET['e'] == "editf") { + //On affiche dans un premier temps la liste des forums + if(!isset($_POST['forum'])) + { + $query=$db->query('SELECT forum_id, forum_name + FROM forum_forum ORDER BY forum_ordre DESC'); + + echo'
'; + echo'

Choisir un forum :
+

'; + $query->CloseCursor(); + + } + //Ensuite, on affiche les renseignements sur le forum choisi + else + { + $query = $db->prepare('SELECT forum_id, forum_name, forum_desc, + forum_cat_id + FROM forum_forum + WHERE forum_id = :forum'); + $query->bindValue(':forum',(int) $_POST['forum'],PDO::PARAM_INT); + $query->execute(); + + $data1 = $query->fetch(); + + echo'

Edition du forum + '.stripslashes(htmlspecialchars($data1['forum_name'])).'

'; + + echo'
+ +
+ +

'; + $query->CloseCursor(); + //A partir d'ici, on boucle toutes les catégories, + //On affichera en premier celle du forum + + $query = $db->query('SELECT cat_id, cat_nom + FROM forum_categorie ORDER BY cat_ordre DESC'); + echo' + '; + echo'

'; + $query->CloseCursor(); + + } + } + + elseif($_GET['e'] == "editc") + { + //On commence par afficher la liste des catégories + if(!isset($_POST['cat'])) + { + $query = $db->query('SELECT cat_id, cat_nom + FROM forum_categorie ORDER BY cat_ordre DESC'); + echo'
'; + echo'

Choisir une catégorie :
+

'; + $query->CloseCursor(); + } + //Puis le formulaire + else + { + $query = $db->prepare('SELECT cat_nom FROM forum_categorie + WHERE cat_id = :cat'); + $query->bindValue(':cat',(int) $_POST['cat'],PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + echo'
'; + + echo' + +

+ +

'; + $query->CloseCursor(); + + } + } + + elseif($_GET['e'] == "ordref") { + $categorie=""; + $query = $db->query('SELECT forum_id, forum_name, forum_ordre, forum_cat_id, cat_id, cat_nom FROM forum_categorie LEFT JOIN forum_forum ON cat_id = forum_cat_id ORDER BY cat_ordre DESC'); + + echo'
'; + + echo ''; + + while($data = $query->fetch()) + { + if( $categorie !== $data['cat_id'] ) + { + $categorie = $data['cat_id']; + echo' + + + + '; + } + echo' + '; + } + echo'
'.stripslashes(htmlspecialchars($data['cat_nom'])).'Ordre
+ '.$data['forum_name'].' +
+

'; + + } + + elseif($_GET['e'] == "ordrec") + { + $query = $db->query('SELECT cat_id, cat_nom, cat_ordre + FROM forum_categorie + ORDER BY cat_ordre DESC'); + + echo'
'; + while($data = $query->fetch()) + { + echo' +

'; + } + echo '
'; + $query->CloseCursor(); + } + break; + + case "messageauto": + if (!isset($_POST['idmessage'])) { + $query=$db->query('SELECT automess_id, automess_titre + FROM forum_automess ORDER BY automess_id DESC'); + echo'

Modification, ajout ou suppression d\'un message automatique.

'; + echo'

Ajout:

'; + echo'
'; + echo'
'; + echo'
'; + echo'
'; + echo'

Modification:

'; + echo'

'; + echo'

Choisir le message automatique:

+

'; + $query->CloseCursor(); + $query=$db->query('SELECT automess_id, automess_titre + FROM forum_automess ORDER BY automess_id DESC'); + echo'

Suppression :

'; + echo'

'; + echo'

Choisir le message automatique:

+

'; + $query->CloseCursor(); + } + elseif ($_GET['c'] == "del") { + echo'

Suppression d\'un message.

Êtes vous sur de vouloir supprimer ce message ?'; + echo'

Oui ou non.

'; + } + else { + $query=$db->prepare('SELECT automess_mess, automess_titre FROM forum_automess WHERE automess_id = :automess_id'); + $query->bindValue(':automess_id',(int) $_POST['idmessage'], PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + echo'

Edition

+
+
+ +
'; + + } + break; + + case "droits": + //Gestion des droits + echo'

Edition des droits

'; + + if(!isset($_POST['forum'])) + { + $query=$db->query('SELECT forum_id, forum_name + FROM forum_forum ORDER BY forum_ordre DESC'); + echo'
'; + echo'

Choisir un forum :
+

'; + $query->CloseCursor(); + } + else + { + $query = $db->prepare('SELECT forum_id, forum_name, auth_view, + auth_post, auth_topic, auth_annonce, auth_modo + FROM forum_forum WHERE forum_id = :forum'); + $query->bindValue(':forum',(int) $_POST['forum'], PDO::PARAM_INT); + $query->execute(); + + echo '

+ + + + + + '; + $data = $query->fetch(); + + //Ces deux tableaux vont permettre d'afficher les résultats + $rang = array( + VISITEUR=>"Visiteur", + INSCRIT=>"Membre", + KT=>"KT", + MODO=>"Modérateur", + ADMIN=>"Administrateur"); + $list_champ = array("auth_view", "auth_post", "auth_topic","auth_annonce", "auth_modo"); + + //On boucle + foreach($list_champ as $champ) + { + echo''; + } + echo'
+

'; + + $query->CloseCursor(); + + } + echo '
LireRépondrePosterAnnonceModérer
'; + break; + + default; //action n'est pas remplie, on affiche le menu + echo'

Administration des forums

'; + echo'

Bonjour, cher administrateur :p, que veux tu faire ? +
+ Créer un forum +
+ Modifier un forum +
+ Modifier/ajouter/supprimer un message automatique +
+ + Modifier les droits d\'un forum

'; + break; + } +break; + +case "membres": +//Ici membres +$action = htmlspecialchars(isset($_GET['action'])?$_GET['action']:""); //On récupère la valeur de action + switch($action) //2eme switch + { + case "edit": + echo'

Edition du profil d\'un membre

'; + + if(!isset($_POST['membre'])) //Si la variable $_POST['membre'] n'existe pas + { + echo'De quel membre voulez-vous éditer le profil ?
'; + echo'
+

+ +

'; + } + else //sinon + { + $pseudo_d = $_POST['membre']; + + //Requête qui ramène des info sur le membre à + //Partir de son pseudo + $query = $db->prepare('SELECT membre_id, + membre_pseudo, membre_email, + membre_siteweb, membre_signature, + membre_twitch, membre_localisation, membre_avatar + FROM forum_membres WHERE LOWER(membre_pseudo)=:pseudo'); + $query->bindValue(':pseudo',strtolower($pseudo_d),PDO::PARAM_STR); + $query->execute(); + //Si la requête retourne un truc, le membre existe + if ($data = $query->fetch()) + { + ?> +
+
Identifiants + +
+
+ +
Contacts + +
+ +
+ +
+
+ +
Informations supplémentaire + + +
+
+ +
Profil sur le forum + + +

+ + Avatar actuel : + ' ?> + +

+ + + +
+
+ +
'; + $query->CloseCursor(); + + } + else echo'

Erreur : Ce membre n existe pas,
+ cliquez ici pour réessayez

'; + } + break; + + case "droits": + echo'

Edition des droits d\'un membre

'; + + if(!isset($_POST['membre'])) { + echo'De quel membre voulez-vous modifier les droits ?
'; + echo'
+

+ +

'; + } + else { + $pseudo_d = $_POST['membre']; + $query = $db->prepare('SELECT membre_pseudo,membre_rang + FROM forum_membres WHERE LOWER(membre_pseudo) = :pseudo'); + $query->bindValue(':pseudo',strtolower($pseudo_d),PDO::PARAM_STR); + $query->execute(); + if ($data = $query->fetch()) { + echo'
'; + $rang = array + (0 => "Bannis", + 1 => "Visiteur", + 2 => "Membre", + 3 => "KT", + 4 => "Modérateur", + 5 => "Administrateur"); //Ce tableau associe numéro de droit et nom + echo''; + echo' + +
'; + $query->CloseCursor(); + } + else echo'

Erreur : Ce membre n existe pas,
+ cliquez ici pour réessayer

'; + } + break; + + case "ban": + //Bannissement + echo'

Gestion du bannissement

'; + + //Zone de texte pour bannir le membre + echo'Quel membre voulez-vous bannir ?
'; + echo'
+
+ + +
'; + + //Ici, on boucle : pour chaque membre banni, on affiche une checkbox + //Qui propose de le débannir + $query = $db->query('SELECT membre_id, membre_pseudo + FROM forum_membres WHERE membre_rang = 0'); + + //Bien sur, on ne lance la suite que s'il y a des membres bannis ! + if ($query->rowCount() > 0) + { + + while($data = $query->fetch()) + { + echo'
+ + Débannir
'; + } + echo'

'; + } + else echo'

Aucun membre banni pour le moment :p

'; + $query->CloseCursor(); + break; + + default; //action n'est pas remplie, on affiche le menu + echo'

Administration des membres

'; + echo'

Bonjour, que voulez-vous faire ?
+ + Editer le profil d\'un membre
+ + Modifier les droits d\'un membre
+ + Bannir / Debannir un membre

'; + break; + } +break; + +case "config": + //ici configuration + echo'

Configuration du forum

'; + echo '
'; + + //Le tableau associatif + $config_name = array( + "avatar_maxsize" => "Taille maximale de l'avatar", + "avatar_maxh" => "Hauteur maximale de l'avatar", + "avatar_maxl" => "Largeur maximale de l'avatar", + "sign_maxl" => "Taille maximale de la signature", + "auth_bbcode_sign" => "Autoriser le bbcode dans la signature", + "pseudo_maxsize" => "Taille maximale du pseudo", + "pseudo_minsize" => "Taille minimale du pseudo", + "topic_par_page" => "Nombre de topics par page", + "post_par_page" => "Nombre de posts par page", + "forum_titre" => "Titre du forum", + ); + $query = $db->query('SELECT config_nom, config_valeur FROM forum_config'); + + while($data=$query->fetch()) + { + echo '

: +

'; + } + echo '

'; + $query->CloseCursor(); +break; + + +default; //cat n'est pas remplie, on affiche le menu général +echo'

Index de l\'administration

'; +echo'

Bienvenue sur la page d\'administration.
+Configuration du forum
+Administration des forums
+Administration des membres

'; +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

'; + $query->CloseCursor(); + } + break; + + case "edit": + echo'

Edition d\'un forum

'; + + if($_GET['e'] == "editf") { + //Récupération d'informations + $titre = $_POST['nom']; + $desc = $_POST['desc']; + $cat = (int) $_POST['depl']; + + //Vérification + $query=$db->prepare('SELECT COUNT(*) + FROM forum_forum WHERE forum_id = :id'); + $query->bindValue(':id',(int) $_POST['forum_id'],PDO::PARAM_INT); + $query->execute(); + $forum_existe=$query->fetchColumn(); + $query->CloseCursor(); + if ($forum_existe == 0) erreur(ERR_FOR_EXIST); + + + //Mise à jour + $query=$db->prepare('UPDATE forum_forum + SET forum_cat_id = :cat, forum_name = :name, forum_desc = :desc + WHERE forum_id = :id'); + $query->bindValue(':cat',$cat,PDO::PARAM_INT); + $query->bindValue(':name',$titre,PDO::PARAM_STR); + $query->bindValue(':desc',$desc,PDO::PARAM_STR); + $query->bindValue(':id',(int) $_POST['forum_id'],PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + //Message + echo'

Le forum a été modifié !
Cliquez ici + pour revenir à l\'administration

'; + } + elseif($_GET['e'] == "editc") { + //Récupération d'informations + $titre = $_POST['nom']; + + //Vérification + $query=$db->prepare('SELECT COUNT(*) + FROM forum_categorie WHERE cat_id = :cat'); + $query->bindValue(':cat',(int) $_POST['cat'],PDO::PARAM_INT); + $query->execute(); + $cat_existe=$query->fetchColumn(); + $query->CloseCursor(); + if ($cat_existe == 0) erreur(ERR_CAT_EXIST); + + //Mise à jour + $query=$db->prepare('UPDATE forum_categorie + SET cat_nom = :name WHERE cat_id = :cat'); + $query->bindValue(':name',$titre,PDO::PARAM_STR); + $query->bindValue(':cat',(int) $_POST['cat'],PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Message + echo'

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

'; + } + break; + case "messageauto": + $c = htmlspecialchars($_GET['c']); + switch($c) { + case "new": + $mess = $_POST['message']; + $titre = $_POST['titre']; + $query=$db->prepare('INSERT INTO forum_automess (automess_id, automess_mess, automess_titre) VALUES (NULL, :mess, :titre)'); + $query-> bindValue(':mess', $mess, PDO::PARAM_STR); + $query-> bindValue(':titre', $titre, PDO::PARAM_STR); + $query->execute(); + $query->CloseCursor(); + echo'

Le message automatique a été ajouté.

'; + break; + case "edit": + $mess = isset($_POST['message']); + $titre = isset($_POST['titre']); + $query=$db->prepare('UPDATE forum_automess SET automess_id=:id,automess_mess=:mess,automess_titre=:titre WHERE automess_id = :id'); + $query->bindValue(':id',$_POST['automess_id'],PDO::PARAM_INT); + $query->bindValue(':mess',$_POST['message'],PDO::PARAM_STR); + $query->bindValue(':titre',$_POST['titre'],PDO::PARAM_STR); + $query->execute(); + echo'

Modification

'; + echo'Le message automatique: '.$_POST['titre'].' a été modifié.'; + echo'

Cliquez ici pour revenir à l\'administration'; + $query->CloseCursor(); + break; + case "del": + $query=$db->prepare('DELETE FROM forum_automess WHERE automess_id = :id'); + $query->bindValue(':id',$_GET['m'],PDO::PARAM_INT); + $query->execute(); + echo'

Le message a bien été supprimé.

'; + echo'Cliquez ici pour revenir à l\'administration'; + break; + } + break; + case "droits": + //Récupération d'informations + $auth_view = (int) $_POST['auth_view']; + $auth_post = (int) $_POST['auth_post']; + $auth_topic = (int) $_POST['auth_topic']; + $auth_annonce = (int) $_POST['auth_annonce']; + $auth_modo = (int) $_POST['auth_modo']; + + //Mise à jour + $query=$db->prepare('UPDATE forum_forum + SET auth_view = :view, auth_post = :post, auth_topic = :topic, + auth_annonce = :annonce, auth_modo = :modo WHERE forum_id = :id'); + $query->bindValue(':view',$auth_view,PDO::PARAM_INT); + $query->bindValue(':post',$auth_post,PDO::PARAM_INT); + $query->bindValue(':topic',$auth_topic,PDO::PARAM_INT); + $query->bindValue(':annonce',$auth_annonce,PDO::PARAM_INT); + $query->bindValue(':modo',$auth_modo,PDO::PARAM_INT); + $query->bindValue(':id',(int) $_POST['forum_id'],PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Message + echo'

Les droits ont été modifiés !
+ Cliquez ici pour revenir à l\'administration

'; + break; + } //Fin du switch +break; + +case"membres": + $action = htmlspecialchars($_GET['action']); //On récupère la valeur de action + switch($action) {//2ème switch + case"edit": + //On déclare les variables + $pseudo_erreur1 = NULL; + $email_erreur1 = NULL; + $email_erreur2 = NULL; + $twitch_erreur = NULL; + $signature_erreur = NULL; + $avatar_erreur = NULL; + $avatar_erreur1 = NULL; + $avatar_erreur2 = NULL; + $avatar_erreur3 = NULL; + + //Encore et toujours notre belle variable $i :p + $i = 0; + $pseudo = $_POST['pseudo']; + $temps = time(); + $signature = $_POST['signature']; + $email = $_POST['email']; + $twitch = $_POST['twitch']; + $website = $_POST['website']; + $localisation = $_POST['localisation']; + + //Vérification de l'adresse email + //Il faut que l'adresse email n'ait jamais été utilisée (sauf si elle n'a pas été modifiée) + + //On commence donc par récupérer le mail + $query=$db->prepare('SELECT membre_email FROM forum_membres WHERE membre_id =:id'); + $query->bindValue(':id',$_POST['idori'],PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + if (strtolower($data['membre_email']) != strtolower($email)) + { + //Il faut que l'adresse email n'ait jamais été utilisée + $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); + $query->bindValue(':mail',$email,PDO::PARAM_STR); + $query->execute(); + $mail_free=($query->fetchColumn()==0)?1:0; + $query->CloseCursor(); + if(!$mail_free) + { + $email_erreur1 = "Votre adresse email est déjà utilisé par un membre"; + $i++; + } + + //On vérifie la forme maintenant + if (!preg_match("#^[a-z0-9A-Z._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) + { + $email_erreur2 = "Votre nouvelle adresse E-Mail n'a pas un format valide"; + $i++; + } + } + + //Vérification de l'avatar + + if (!empty($_FILES['avatar']['size'])) + { + //On définit les variables : + $maxsize = 30072; //Poid de l'image + $maxwidth = 100; //Largeur de l'image + $maxheight = 100; //Longueur de l'image + //Liste des extensions valides + $extensions_valides = array( 'jpg' , 'jpeg' , 'png' , 'png', 'bmp' ); + + if ($_FILES['avatar']['error'] > 0) + { + $avatar_erreur = "Erreur lors du tranfsert de l'avatar : "; + } + if ($_FILES['avatar']['size'] > $maxsize) + { + $i++; + $avatar_erreur1 = "Le fichier est trop gros : + (".$_FILES['avatar']['size']." Octets + contre ".$maxsize." Octets)"; + } + + $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); + if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) + { + $i++; + $avatar_erreur2 = "Image trop large ou trop longue : + (".$image_sizes[0]."x".$image_sizes[1]." contre + ".$maxwidth."x".$maxheight.")"; + } + + $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); + if (!in_array($extension_upload,$extensions_valides) ) + { + $i++; + $avatar_erreur3 = "Extension de l'avatar incorrecte"; + } + } + + if ($i == 0) // Si $i est vide, il n'y a pas d'erreur + { + if (!empty($_FILES['avatar']['size'])) + { + $nomavatar=move_avatar($_FILES['avatar']); + $query=$db->prepare('UPDATE forum_membres + SET membre_avatar = :avatar + WHERE membre_id = :id'); + $query->bindValue(':avatar',$nomavatar,PDO::PARAM_STR); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + + //Une nouveauté ici : on peut choisis de supprimer l'avatar + if (isset($_POST['delete'])) + { + $query=$db->prepare('UPDATE forum_membres + SET membre_avatar=0 WHERE membre_id = :id'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + + //Le pseudo doit être unique ! + //Il faut donc vérifier s'il a été modifié, si c'est le cas, on vérifie bien + //l'unicité + $query=$db->prepare('SELECT membre_pseudo FROM forum_membres WHERE membre_id =:id'); + $query->bindValue(':id',$_POST['idori'],PDO::PARAM_INT); + $query->execute(); + $data1=$query-> fetch(); + if (strtolower($data1['membre_pseudo']) != $pseudo) { + $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); + $query->execute(array('pseudo'=>$pseudo)); + $pseudo_free=($query->fetchColumn()==0)?1:0; + if(!$pseudo_free) + { + $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre"; + $i++; + } + } + $query->CloseCursor(); + + //Vérification de la signature + if (strlen($signature) > 200) { + $signature_erreur = "Votre nouvelle signature est trop longue"; + $i++; + } + + + echo'

Modification terminée

'; + echo'

Votre profil a été modifié avec succès !

'; + echo'

Cliquez ici + pour revenir à la page d\'accueil

'; + + //On modifie la table + + $query=$db->prepare('UPDATE forum_membres + SET membre_email=:mail, membre_twitch=:twitch, membre_siteweb=:website, + membre_signature=:sign, membre_localisation=:loc, membre_pseudo=:pseudo + WHERE membre_id=:id'); + $query->bindValue(':mail',$email,PDO::PARAM_STR); + $query->bindValue(':pseudo',$pseudo,PDO::PARAM_STR); + $query->bindValue(':twitch',$twitch,PDO::PARAM_STR); + $query->bindValue(':website',$website,PDO::PARAM_STR); + $query->bindValue(':sign',$signature,PDO::PARAM_STR); + $query->bindValue(':loc',$localisation,PDO::PARAM_STR); + $query->bindValue(':id',$_POST['idori'],PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + else + { + echo'

Modification interrompue

'; + echo'

Une ou plusieurs erreurs se sont produites pendant la modification du profil

'; + echo'

'.$i.' erreur(s)

'; + echo'

'.$pseudo_erreur1.'

'; + echo'

oui'.$_POST['idori'].'

'; + echo'

'.$email_erreur1.'

'; + echo'

'.$email_erreur2.'

'; + echo'

'.$twitch_erreur.'

'; + echo'

'.$signature_erreur.'

'; + echo'

'.$avatar_erreur.'

'; + echo'

'.$avatar_erreur1.'

'; + echo'

'.$avatar_erreur2.'

'; + echo'

'.$avatar_erreur3.'

'; + echo'

Cliquez ici pour recommencer

'; + } + break; + case "droits": + $membre =$_POST['pseudo']; + $rang = (int) $_POST['droits']; + $query=$db->prepare('UPDATE forum_membres SET membre_rang = :rang + WHERE LOWER(membre_pseudo) = :pseudo'); + $query->bindValue(':rang',$rang,PDO::PARAM_INT); + $query->bindValue(':pseudo',strtolower($membre), PDO::PARAM_STR); + $query->execute(); + $query->CloseCursor(); + echo'

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

'; + $i++; + } + if ($i == 0) + { + $query=$db->prepare('INSERT INTO forum_amis (ami_from, ami_to, ami_confirm, ami_date) + VALUES(:id, :id_to, :conf, :temps)'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':id_to', $id_to, PDO::PARAM_INT); + $query->bindValue(':conf','0',PDO::PARAM_STR); + $query->bindValue(':temps', time(), PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + echo '

'.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 ' + + + '; + + if ($query->rowCount() == 0) + { + echo ''; + } + while ($data = $query->fetch()) + { + echo ' + + '; + } + $query->CloseCursor(); + } + else + { + $membre = (int) $_GET['m']; + $query = $db->prepare('UPDATE forum_amis SET ami_confirm = :conf + WHERE ami_from = :membre AND ami_to = :id'); + $query->bindValue(':conf','1',PDO::PARAM_STR); + $query->bindValue(':membre',$membre,PDO::PARAM_INT); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $query->closeCursor(); + 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 '
PseudoDate d\'ajoutAction
Vous n\'avez aucune proposition
'.stripslashes(htmlspecialchars($data['membre_pseudo'])).''.date('d/m/Y',$data['ami_date']).'Accepter - + Refuser +
+ + + + '; + + if ($query->rowCount() == 0) + { + echo ''; + } + while ($data = $query->fetch()) + { + echo ' + + '; + if (!empty($data['online_id'])) echo ''; else echo ''; + echo ''; + } + echo '
PseudoDate d\'ajoutActionConnecté
Vous n\'avez aucun ami pour l\'instant
'.stripslashes(htmlspecialchars($data['membre_pseudo'])).''.date('d/m/Y',$data['ami_date']).'Envoyer un MP
+ Supprimer
OuiNon
'; + $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 '
'; +break; +} + +?> + + \ No newline at end of file diff --git a/forum/amis.php.REMOVED.git-id b/forum/amis.php.REMOVED.git-id deleted file mode 100644 index b1c4dfe..0000000 --- a/forum/amis.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -6c4b90205ebee7399e0fb628a643d226aff7e7f0 \ No newline at end of file diff --git a/forum/design.css b/forum/design.css new file mode 100644 index 0000000..bd3ce01 --- /dev/null +++ b/forum/design.css @@ -0,0 +1,522 @@ +*{ + font-family: 'Source Sans Pro', sans-serif; +} + +a { + text-decoration:none; + color:#000C99; +} + +a:hover { + text-decoration:underline; +} + +#corps_forum { + border: 1px solid black; + width: 90%; + margin-top: 50px; + margin-left: 5%; + margin-bottom: 10Opx; + padding: 5px; + background-color: #888; +} + +input[type="submit"] { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color: white; +} + +input[type="submit"]:hover { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color:#a8a6a1; + transition:color .2s; +} + +input[type="reset"]:hover { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color:#a8a6a1; + transition:color .2s; +} + +input[type="reset"] { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color: white; +} + +input[type="button"] { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color: white; +} + +input[type="button"]:hover { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color:#a8a6a1; + transition:color .2s; +} + + +select { + border: black 1px solid; + background: #333; + /*width: 20%;*/ + border-radius: 10px; + color: white; +} + +.mp_titre { width:65%; } + +.mp_expediteur { width:10%; } + +.mp_time { width:20%; } + +.ico {width:8%} + +.titre { width:61%; } + +.nombremessages { width:2%; } + +.nombrevu { width:4%; } + +.nombresujets { width:2%; } + +.auteur { width:7%; } + +.derniermessage { width:18%; } + +.categorie { + width:92%; + background-color : #555; +} + +td { + border: 1px solid black; + background-color: #888; + vertical-align:top; +} + +table { + background-color: #fffff; + border: 1px solid white; +} + +th { + background-color: #555; + border: 1px solid black; +} + +label { + display:block; + width:170px; + float:left; +} + +.vt_auteur { +width:20%; +background-color : #555; +} + +.vt_mess { +width:75%; +background-color : #555; +} + +#quote { +width: 100%; +background-color : rgb(220,220,220); +margin-top: 2px; +margin-bottom: 2px; +font-family: 'Indie Flower', cursive; +} + +@media screen and (min-width:1400px) { + + #footer { + border: 1px solid black; + width: 90%; + height: 50%; + margin-top: 50px; + margin-left: 5%; + margin-bottom: 10Opx; + padding: 5px; + background-color: #888; + } + + #contenu { + padding: 55px; + } + + .accueil { + width: 100px; + background-color: #ffffff; + text-align: center; + position:Fixed; + z-index:100; + margin-left:1125px; + } + + #menu { + text-decoration:none; + color:white; + } + + #menu:hover { + color:#a8a6a1; + transition:color .2s; + } + + .corps { + text-align:center; + margin-top:0px; + max-width: 1180px; + margin:auto; + background-color:white; + z-index:10; + } + + .titre1 { + font-family: 'Yrsa', serif; + font-weight: 100; + padding-top: 30px; + margin: 0px; + color:#333; + padding-bottom: 0.3em; + font-size:4em; + } + + body { + margin-top: 0px; + background-color:#212121; + } + li { + list-style: none; + display: inline-block; + padding-left:0.4em; + padding-top:0.8em; + padding-bottom:0.8em; + margin-right: 1em; + } + + ul { + margin:0px; + } + + .menu { + letter-spacing: 1px; + font-weight: 700; + font-size: 20px; + font-family: 'Source Sans Pro', sans-serif; + background-color:#333; + color:white; + } + + .menu_vertical { + padding-left: 0px; + margin-bottom:0px; + } + + .contenu { + text-align:left; + } + + .bouton { + transition:color .0s; + } + + #bouton { + font-family: 'Source Sans Pro', sans-serif; + height: 24px; + width: 200px; + background-color: #000000; + border:none; + border-radius: 5px; + text-align: center; + margin:auto; + } + + #bouton:hover { + background-color: #494949; + font-weight:bold; + } +} + +@media screen and (min-width:600px) and (max-width: 1399px){ + + #footer { + border: 1px solid black; + width: 99%; + height: 30%; + margin: auto; + margin-top: 50px; + padding: 5px; + background-color: #888; + font-size: 30px + } + + .footer { + font-size: 80%; + } + + table { + width: 100%; + margin: auto; + font-size: 25px + } + + #contenu { + padding: 0px; + } + + .accueil { + width: 100px; + background-color: #212121; + text-align: center; + z-index:100; + float: right; + margin-top:1%; + } + + #accueil { + color:white; + text-decoration: none; + } + + #menu { + text-decoration:none; + color:white; + } + + #menu:hover { + color:#a8a6a1; + transition:color .2s; + } + + .corps { + text-align:center; + width: 90%; + margin-top:0px; + max-width: 1180px; + margin:auto; + background-color:white; + z-index:10; + } + + .titre1 { + font-family: 'Yrsa', serif; + font-weight: 100; + padding-top: 30px; + margin: 0px; + color:#333; + padding-bottom: 0.3em; + font-size:4em; + } + + body { + margin-top: 0px; + background-color:#212121; + } + li { + list-style: none; + display: inline-block; + padding-left:0.4em; + padding-top:0.8em; + padding-bottom:0.8em; + margin-right: 1em; + } + + ul { + margin:0px; + } + + .menu { + letter-spacing: 1px; + font-weight: 700; + font-size: 20px; + font-family: 'Source Sans Pro', sans-serif; + background-color:#333; + color:white; + } + + .contenu { + text-align:left; + } + + .bouton { + transition:color .0s; + } + + #bouton { + font-family: 'Source Sans Pro', sans-serif; + height: 24px; + width: 200px; + background-color: #000000; + border:none; + border-radius: 5px; + text-align: center; + margin:auto; + } + + #bouton:hover { + background-color: #494949; + font-weight:bold; + } +} + +@media screen and (min-width:0px) and (max-width: 600px){ + + .derniermessage { + width:18%; + display: none; + } + + #footer { + display: none; + border: 1px solid black; + width: 99%; + height: 30%; + margin: auto; + margin-top: 50px; + padding: 5px; + background-color: #888; + font-size: 30px + } + + .footer { + font-size: 80%; + } + + table { + width: 100%; + margin: auto; + font-size: 25px + } + + #contenu { + padding: 0px; + } + + .accueil { + width: 100px; + background-color: #212121; + text-align: center; + z-index:100; + float: right; + margin-top:1%; + } + + #accueil { + color:white; + } + + #menu { + color:white; + } + + #menu:hover { + color:#a8a6a1; + transition:color .2s; + } + + .corps { + text-align:center; + width: 90%; + margin-top:0px; + max-width: 1180px; + margin:auto; + background-color:white; + z-index:10; + } + + .titre1 { + font-family: 'Yrsa', serif; + font-weight: 100; + padding-top: 30px; + margin: 0px; + color:#333; + padding-bottom: 0.3em; + font-size:2.5em; + } + + body { + margin-top: 0px; + background-color:#212121; + } + li { + list-style: none; + display: inline-block; + padding-left:0.4em; + padding-top:0.8em; + padding-bottom:0.8em; + margin-right: 1em; + } + + ul { + margin:0px; + } + + .inscrit { + display: none; + } + + .menu { + letter-spacing: 1px; + font-weight: 700; + font-size: 20px; + font-family: 'Source Sans Pro', sans-serif; + background-color:#333; + color:white; + } + + .contenu { + text-align:left; + } + + .bouton { + transition:color .0s; + } + + .nombrevu { + display: none; + } + + #bouton { + font-family: 'Source Sans Pro', sans-serif; + height: 24px; + width: 200px; + background-color: #000000; + border:none; + border-radius: 5px; + text-align: center; + margin:auto; + } + + #bouton:hover { + background-color: #494949; + font-weight:bold; + } + .nombremessages { + width:2%; + display: none; + } + .nombresujets { + width:2%; + display: none; + } +} \ No newline at end of file diff --git a/forum/design.css.REMOVED.git-id b/forum/design.css.REMOVED.git-id deleted file mode 100644 index 904dfce..0000000 --- a/forum/design.css.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -bd3ce016e6b2dec2a24522431bf10252a2054ebb \ No newline at end of file diff --git a/forum/includes/functions.php b/forum/includes/functions.php new file mode 100644 index 0000000..ac92943 --- /dev/null +++ b/forum/includes/functions.php @@ -0,0 +1,230 @@ +'.$mess.'

+

Cliquez ici pour revenir à la page d\'accueil

'); +} + +function move_avatar($avatar) { + $extension_upload = strtolower(substr( strrchr($avatar['name'], '.') ,1)); + $name = time(); + $nomavatar = str_replace(' ','',$name).".".$extension_upload; + $name = "./images/avatars/".str_replace(' ','',$name).".".$extension_upload; + move_uploaded_file($avatar['tmp_name'],$name); + return $nomavatar; +} + +function verif_auth($auth_necessaire) { + $level=(isset($_SESSION['level']))?$_SESSION['level']:1; + return ($auth_necessaire <= intval($level)); +} + +//Fonction listant les pages +function get_list_page($page, $nb_page, $link, $nb = 2){ + $list_page = array(); + for ($i=1; $i <= $nb_page; $i++){ + if (($i < $nb) OR ($i > $nb_page - $nb) OR (($i < $page + $nb) AND ($i > $page -$nb))) + $list_page[] = ($i==$page)?''.$i.'':''.$i.''; + else{ + if ($i >= $nb AND $i <= $page - $nb) + $i = $page - $nb; + elseif ($i >= $page + $nb AND $i <= $nb_page - $nb) + $i = $nb_page - $nb; + $list_page[] = '...'; + } + } + $print= implode('-', $list_page); + return $print; +} + +function getrandom($taille) { + $str = "123456789azertyuiopqsdfghjklmwxcvbn"; + $randstr = substr(str_shuffle($str), 0, $taille); + return $randstr; +} + +function verifemail($uid, $email, $pseudo) { + $mail = new PHPMailer(true); + $mail->SMTPDebug = 0; + $mail->isSMTP(); + $mail->Host = 'smtp.ionos.fr'; + $mail->SMTPAuth = true; + $mail->Username = 'botmail@mail.nessar.fr'; + $mail->Password = '**REMOVED**'; + $mail->SMTPSecure = 'ssl'; + $mail->Port = 465; + + $mail->setFrom('botmail@mail.nessar.fr', 'nessar.fr'); + $mail->addAddress($email, $pseudo); + $mail->addReplyTo('nessar@mail.nessar.fr', 'Information'); + $mail->Subject = 'Verification de l\'E-mail'; + $mail->Body = ' + + + + Verifiez votre E-mail + + + + + + + +
+ + + + + + + + + + +
+ Verifiez votre E-mail +
+ + + + + + + +
+ Verifiez votre E-mail +
+ Cet E-mail vous a été envoyé car votre adresse E-mail a été renseigné sur ce site: ktfaction.fr, merci de l\'interet porté a mon site ! Pour verifer votre E-mail, cliquez sur ce lien +
+
+ + + + + +
+ ® Nessar, France 2019
+
+ + + + + + +
+ + Twitter + +   + + Twitch + +
+
+
+
+ + '; + $mail->AltBody = 'Cliquez sur ce lien pour verifier votre E-mail: http://ktfaction.fr/forum/verifemail.php?uid='.$uid.''; + $mail->send(); +} + + +function emailnotif($topic, $email, $pseudo) { + $mail = new PHPMailer(true); + $mail->SMTPDebug = 0; + $mail->isSMTP(); + $mail->Host = 'smtp.ionos.fr'; + $mail->SMTPAuth = true; + $mail->Username = 'botmail@mail.nessar.fr'; + $mail->Password = '**REMOVED**'; + $mail->SMTPSecure = 'ssl'; + $mail->Port = 465; + + $mail->setFrom('botmail@mail.nessar.fr', 'nessar.fr'); + $mail->addAddress($email, $pseudo); + $mail->addReplyTo('nessar@mail.nessar.fr', 'Information'); + $mail->Subject = 'Il y a du nouveau sur le forum !'; + $mail->Body = ' + + + + Il y a du nouveau sur le forum ! + + + + + + + +
+ + + + + + + + + + +
+ Nouveau message ! +
+ + + + + + + +
+ Il y a du nouveau sur le forum ! +
+ Bonjour '.$pseudo.', cet E-mail vous a été envoyé car vous êtes abonné a ktfaction.fr, merci de l\'interet porté a mon site ! Pour voir de quoi il s\'agit, cliquez sur ce lien. Merci et a bientot ! +
+
+ + + + + + + + +
+ ® Nessar, France 2019
+
+ + + + + + +
+ + Twitter + +   + + Twitch + +
+
+ Pour vous désinscrire cliquez ici
+
+
+
+ + '; + $mail->AltBody = 'Il y a du nouveau sur le forum ! Cliquez sur ce lien pour aller voir: http://ktfaction.fr/forum/voirtopic.php?t='.$topic.' . Pour vous désinscrire cliquez sur ce lien http://ktfaction.fr/forum/notifemail.php?action=delete&all=1&t='.$topic; + $mail->send(); +} +?> diff --git a/forum/includes/functions.php.REMOVED.git-id b/forum/includes/functions.php.REMOVED.git-id deleted file mode 100644 index 55635d8..0000000 --- a/forum/includes/functions.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ac929438e3184b3828c28fc4e3a8d82d6f82eae6 \ No newline at end of file diff --git a/forum/index.php b/forum/index.php new file mode 100644 index 0000000..0612cc3 --- /dev/null +++ b/forum/index.php @@ -0,0 +1,158 @@ +Vous êtes ici : Index du forum'; + +if ($id != 0) { + $query=$db->prepare('SELECT COUNT(*) FROM `forum_email` WHERE `membre_id` = :id AND `forum_all` = 1'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $forumall = $query->fetchColumn(); + $query->CloseCursor(); + if ($forumall > 0) {?> + go + go +

Forum

+prepare('SELECT cat_id, cat_nom, +forum_forum.forum_id, forum_name, forum_desc, forum_post, forum_topic, auth_view, forum_topic.topic_id, forum_topic.topic_post, post_id, post_time, post_createur, membre_pseudo, +membre_id +FROM forum_categorie +LEFT JOIN forum_forum ON forum_categorie.cat_id = forum_forum.forum_cat_id +LEFT JOIN forum_post ON forum_post.post_id = forum_forum.forum_last_post_id +LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id +LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur +WHERE auth_view <= :lvl +ORDER BY cat_ordre, forum_ordre DESC'); +$query->bindValue(':lvl',$lvl,PDO::PARAM_INT); +$query->execute(); +?> + +fetch()) +{ + //On affiche chaque catégorie + if( $categorie != $data['cat_id'] ) + { + //Si c'est une nouvelle catégorie on l'affiche + + $categorie = $data['cat_id']; + ?> + + + + + + + + + + + '; + + // Deux cas possibles : + // Soit il y a un nouveau message, soit le forum est vide + if (!empty($data['forum_post'])) { + //Selection dernier message + $nombreDeMessagesParPage = 15; + $nbr_post = $data['topic_post'] +1; + $page = ceil($nbr_post / $nombreDeMessagesParPage); + + echo''; + + } + else { + echo''; + } + } + //Cette variable stock le nombre de messages, on la met à jour + $totaldesmessages += $data['forum_post']; + + //On ferme notre boucle et nos balises +} //fin de la boucle +$query->CloseCursor(); +echo '
+ SujetsMessagesDernier message
message
+ + '.stripslashes(htmlspecialchars($data['forum_name'])).' +
'.nl2br(stripslashes(htmlspecialchars($data['forum_desc']))).'
'.$data['forum_topic'].''.$data['forum_post'].' + '.date('H\hi \l\e d/m/Y',$data['post_time']).'
+ '.$data['membre_pseudo'].' + + go
Pas de message
'; + +//Le pied de page ici : +echo' + + diff --git a/forum/index.php.REMOVED.git-id b/forum/index.php.REMOVED.git-id deleted file mode 100644 index 1e44993..0000000 --- a/forum/index.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0612cc3a5c77fd9ff4896c056a28307d0b7f6e3d \ No newline at end of file diff --git a/forum/messagesprives.php b/forum/messagesprives.php new file mode 100644 index 0000000..791f968 --- /dev/null +++ b/forum/messagesprives.php @@ -0,0 +1,230 @@ +Vous êtes ici : Index du forum --> Messagerie privée --> Consulter un message

'; + $id_mess = (int) $_GET['id']; //On récupère la valeur de l'id + echo '

Consulter un message



'; + + //La requête nous permet d'obtenir les infos sur ce message : + $query = $db->prepare('SELECT mp_expediteur, mp_receveur, mp_titre, + mp_time, mp_text, mp_lu, membre_id, membre_pseudo, membre_avatar, + membre_localisation, membre_inscrit, membre_post, membre_signature + FROM forum_mp + LEFT JOIN forum_membres ON membre_id = mp_expediteur + WHERE mp_id = :id'); + $query->bindValue(':id',$id_mess,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + + // Attention ! Seul le receveur du mp peut le lire ! + if ($id != $data['mp_receveur']) erreur(ERR_WRONG_USER); + + //bouton de réponse + echo'

+ Répondre

'; + ?> + + + + + + + + '; + ?> + + +
AuteurMessage
+ + + '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'Posté à '.date('H\hi \l\e d m Y',$data['mp_time']).'
+ +
Membre inscrit le '.date('d/m/Y',$data['membre_inscrit']).' +
Messages : '.$data['membre_post'].' +
Localisation : '.stripslashes(htmlspecialchars($data['membre_localisation'])).'

+
'; + + echo code(nl2br(stripslashes(htmlspecialchars($data['mp_text'])))).' +
'.code(nl2br(stripslashes(htmlspecialchars($data['membre_signature'])))).' +
'; + if ($data['mp_lu'] == 0) //Si le message n'a jamais été lu + { + $query->CloseCursor(); + $query=$db->prepare('UPDATE forum_mp + SET mp_lu = :lu + WHERE mp_id= :id'); + $query->bindValue(':id',$id_mess, PDO::PARAM_INT); + $query->bindValue(':lu','1', PDO::PARAM_STR); + $query->execute(); + $query->CloseCursor(); + } + + break; //La fin ! + case "nouveau": //Nouveau mp + + echo'

Vous êtes ici : Index du forum --> Messagerie privée --> Ecrire un message

'; + echo '

Nouveau message privé



'; + ?> +
+

+ + +
+ + +

+ +

Message + +
+
+ +

+
+ + Vous êtes ici : Index du forum --> Messagerie privée --> Ecrire un message

'; + echo '

Répondre à un message privé



'; + + $dest = (int) $_GET['dest']; + ?> +
+

+ +

+ + + + +

+ +

+

Message + +
+
+ + +

+ prepare('SELECT mp_receveur + FROM forum_mp WHERE mp_id = :id'); + $query->bindValue(':id',$id_mess,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + //Sinon la sanction est terrible :p + if ($id != $data['mp_receveur']) erreur(ERR_WRONG_USER); + $query->CloseCursor(); + + //2 cas pour cette partie : on est sûr de supprimer ou alors on ne l'est pas + $sur = (int) $_GET['sur']; + //Pas encore certain + if ($sur == 0) + { + echo'

Etes-vous certain de vouloir supprimer ce message ?
+ + Oui - Non

'; + } + //Certain + else + { + $query=$db->prepare('DELETE from forum_mp WHERE mp_id = :id'); + $query->bindValue(':id',$id_mess,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + echo'

Le message a bien été supprimé.
+ Cliquez ici pour revenir à la boite + de messagerie.

'; + } + + break; + //Si rien n'est demandé ou s'il y a une erreur dans l'url + //On affiche la boite de mp. + default; + + echo'

Vous êtes ici : Index du forum --> Messagerie privée'; + echo '

Messagerie Privée

'; + + $query=$db->prepare('SELECT mp_lu, mp_id, mp_expediteur, mp_titre, mp_time, membre_id, membre_pseudo + FROM forum_mp + LEFT JOIN forum_membres ON forum_mp.mp_expediteur = forum_membres.membre_id + WHERE mp_receveur = :id ORDER BY mp_id DESC'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + echo'

+ Nouveau +

'; + if ($query->rowCount()>0) + { + ?> + + + + + + + + + + fetch()) + { + echo''; + //Mp jamais lu, on affiche l'icone en question + if($data['mp_lu'] == 0) + { + echo''; + } + else //sinon une autre icone + { + echo''; + } + echo' + + + '; + } //Fin de la boucle + $query->CloseCursor(); + echo '
TitreExpéditeurDateAction
Non luDéja lu + + '.stripslashes(htmlspecialchars($data['mp_titre'])).' + + '.stripslashes(htmlspecialchars($data['membre_pseudo'])).''.date('H\hi \l\e d m Y',$data['mp_time']).' + supprimer
'; + + } //Fin du if + else + { + echo'

Vous n\'avez aucun message privé pour l\'instant, cliquez + ici pour revenir à la page d index

'; + } + } //Fin du switch +?> + + + diff --git a/forum/messagesprives.php.REMOVED.git-id b/forum/messagesprives.php.REMOVED.git-id deleted file mode 100644 index b5bd182..0000000 --- a/forum/messagesprives.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -791f968035a9befe75081affcfe5159c7ee7f4fc \ No newline at end of file diff --git a/forum/poster.php b/forum/poster.php new file mode 100644 index 0000000..f9f346b --- /dev/null +++ b/forum/poster.php @@ -0,0 +1,208 @@ +prepare('SELECT forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo + FROM forum_forum WHERE forum_id =:forum'); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + echo '

Vous êtes ici : Index du forum --> + '.stripslashes(htmlspecialchars($data['forum_name'])).' + --> Nouveau topic

'; + + +} + +//Sinon c'est un nouveau message, on a la variable t et +//On récupère f grâce à une requête +elseif (isset($_GET['t'])) +{ + $topic = (int) $_GET['t']; + $query=$db->prepare('SELECT topic_titre, forum_topic.forum_id, + forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo + FROM forum_topic + LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id + WHERE topic_id =:topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $forum = $data['forum_id']; + + echo '

Vous êtes ici : Index du forum --> + '.stripslashes(htmlspecialchars($data['forum_name'])).' + --> '.stripslashes(htmlspecialchars($data['topic_titre'])).' + --> Répondre

'; +} + +//Enfin sinon c'est au sujet de la modération(on verra plus tard en détail) +//On ne connait que le post, il faut chercher le reste +elseif (isset ($_GET['p'])) +{ + $post = (int) $_GET['p']; + $query=$db->prepare('SELECT post_createur, forum_post.topic_id, topic_titre, forum_topic.forum_id, + forum_name, auth_view, auth_post, auth_topic, auth_annonce, auth_modo + FROM forum_post + LEFT JOIN forum_topic ON forum_topic.topic_id = forum_post.topic_id + LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id + WHERE forum_post.post_id =:post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + + $topic = $data['topic_id']; + $forum = $data['forum_id']; + + echo '

Vous êtes ici : Index du forum --> + '.stripslashes(htmlspecialchars($data['forum_name'])).' + --> '.stripslashes(htmlspecialchars($data['topic_titre'])).' + --> Modérer un message

'; + $query->CloseCursor(); +} + +if (!verif_auth($data['auth_view'])) erreur(ERR_AUTH_VIEW); + +switch($action) { + +case "delete": //Si on veut supprimer le post + //On récupère la valeur de p + $post = (int) $_GET['p']; + //Ensuite on vérifie que le membre a le droit d'être ici + echo'

Suppression

'; + $query=$db->prepare('SELECT post_createur, auth_modo + FROM forum_post + LEFT JOIN forum_forum ON forum_post.post_forum_id = forum_forum.forum_id + WHERE post_id= :post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + + if (!verif_auth($data['auth_modo']) && $data['post_createur'] != $id) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_DELETE); + } + else //Sinon ça roule et on affiche la suite + { + echo'

Êtes vous certains de vouloir supprimer ce post ?

'; + echo'

Oui ou Non

'; + } + $query->CloseCursor(); +break; + +case "edit": //Si on veut éditer le post + //On récupère la valeur de p + $post = (int) $_GET['p']; + echo'

Edition

'; + + //On lance enfin notre requête + + $query=$db->prepare('SELECT post_createur, post_texte, auth_modo FROM forum_post + LEFT JOIN forum_forum ON forum_post.post_forum_id = forum_forum.forum_id + WHERE post_id=:post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + + $text_edit = $data['post_texte']; //On récupère le message + + //Ensuite on vérifie que le membre a le droit d'être ici (soit le créateur soit un modo/admin) + if (!verif_auth($data['auth_modo']) && $data['post_createur'] != $id) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_EDIT); + } + else //Sinon ça roule et on affiche la suite + { + //Le formulaire de postage + ?>
+
Message +
+

+ +

+
+ +

Poster une réponse

+ +
+ +
Message +
+

+ +

+
+ + +

Nouveau topic

+
+ +
Titre +
+ +
Message + +
+ + + + + Topic
'; +} +?> +
+ + +

+ + +Cette action est impossible

'; +} //Fin du switch +?> + + + diff --git a/forum/poster.php.REMOVED.git-id b/forum/poster.php.REMOVED.git-id deleted file mode 100644 index 3297b29..0000000 --- a/forum/poster.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -f9f346b99adce0392bf0dce99ac31be72b785d0f \ No newline at end of file diff --git a/forum/postok.php b/forum/postok.php new file mode 100644 index 0000000..f953c2b --- /dev/null +++ b/forum/postok.php @@ -0,0 +1,881 @@ +prepare('SELECT post_createur, post_texte, forum_id, topic_id, auth_modo + FROM forum_post + LEFT JOIN forum_forum ON forum_post.post_forum_id = forum_forum.forum_id + WHERE post_id=:post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $topic = $data['topic_id']; + $forum = $data['forum_id']; + $poster = $data['post_createur']; + + + //Ensuite on vérifie que le membre a le droit d'être ici + //(soit le créateur soit un modo/admin) + if (!verif_auth($data['auth_modo']) && $poster != $id) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_DELETE); + } + else //Sinon ça roule et on continue + { + + //Ici on vérifie plusieurs choses : + //est-ce un premier post ? Dernier post ou post classique ? + + $query = $db->prepare('SELECT topic_first_post, topic_last_post FROM forum_topic + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data_post=$query->fetch(); + + + + //On distingue maintenant les cas + if ($data_post['topic_first_post']==$post) //Si le message est le premier + { + + //Les autorisations ont changé ! + //Normal, seul un modo peut décider de supprimer tout un topic + if (!verif_auth($data['auth_modo'])) + { + erreur('ERR_AUTH_DELETE_TOPIC'); + } + + //Il faut s'assurer que ce n'est pas une erreur + + echo'

Vous avez choisi de supprimer un post. + Cependant ce post est le premier du topic. Voulez vous supprimer le topic ?
+ oui - non +

'; + $query->CloseCursor(); + } + elseif ($data_post['topic_last_post']==$post) //Si le message est le dernier + { + + //On supprime le post + $query=$db->prepare('DELETE FROM forum_post WHERE post_id = :post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On modifie la valeur de topic_last_post pour cela on + //récupère l'id du plus récent message de ce topic + $query=$db->prepare('SELECT post_id FROM forum_post WHERE topic_id = :topic + ORDER BY post_id DESC LIMIT 0,1'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $last_post_topic=$data['post_id']; + $query->CloseCursor(); + + //On fait de même pour forum_last_post_id + $query=$db->prepare('SELECT post_id FROM forum_post WHERE post_forum_id = :forum + ORDER BY post_id DESC LIMIT 0,1'); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $last_post_forum=$data['post_id']; + $query->CloseCursor(); + + //On met à jour la valeur de topic_last_post + + $query=$db->prepare('UPDATE forum_topic SET topic_last_post = :last + WHERE topic_last_post = :post'); + $query->bindValue(':last',$last_post_topic,PDO::PARAM_INT); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du forum et on met à + //jour forum_last_post + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post - 1, forum_last_post_id = :last + WHERE forum_id = :forum'); + $query->bindValue(':last',$last_post_forum,PDO::PARAM_INT); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du topic + $query=$db->prepare('UPDATE forum_topic SET topic_post = topic_post - 1 + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du membre + $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post - 1 + WHERE membre_id = :id'); + $query->bindValue(':id',$poster,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Enfin le message + echo'

Le message a bien été supprimé !
+ Cliquez ici pour retourner au topic
+ Cliquez ici pour revenir à l\'index du forum

'; + + } + else // Si c'est un post classique + { + + //On supprime le post + $query=$db->prepare('DELETE FROM forum_post WHERE post_id = :post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du forum + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post - 1 WHERE forum_id = :forum'); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du topic + $query=$db->prepare('UPDATE forum_topic SET topic_post = topic_post - 1 + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève 1 au nombre de messages du membre + $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post - 1 + WHERE membre_id = :id'); + $query->bindValue(':id',$data['post_createur'],PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Enfin le message + echo'

Le message a bien été supprimé !
+ Cliquez ici pour retourner au topic
+ Cliquez ici pour revenir à l\'index du forum

'; + } + + } //Fin du else +break; + +case "delete_topic": + $topic = (int) $_GET['t']; + $query=$db->prepare('SELECT forum_topic.forum_id, auth_modo + FROM forum_topic + LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id + WHERE topic_id=:topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $forum = $data['forum_id']; + + //Ensuite on vérifie que le membre a le droit d'être ici + //c'est-à-dire si c'est un modo / admin + + if (!verif_auth($data['auth_modo'])) + { + erreur('ERR_AUTH_DELETE_TOPIC'); + } + else //Sinon ça roule et on continue + { + $query->CloseCursor(); + + //On compte le nombre de post du topic + $query=$db->prepare('SELECT topic_post FROM forum_topic WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $nombrepost = $data['topic_post'] + 1; + $query->CloseCursor(); + + //On supprime le topic + $query=$db->prepare('DELETE FROM forum_topic + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On enlève le nombre de post posté par chaque membre dans le topic + $query=$db->prepare('SELECT post_createur, COUNT(*) AS nombre_mess FROM forum_post + WHERE topic_id = :topic GROUP BY post_createur'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + + while($data = $query->fetch()) + { + $query=$db->prepare('UPDATE forum_membres + SET membre_post = membre_post - :mess + WHERE membre_id = :id'); + $query->bindValue(':mess',$data['nombre_mess'],PDO::PARAM_INT); + $query->bindValue(':id',$data['post_createur'],PDO::PARAM_INT); + $query->execute(); + } + + $query->CloseCursor(); + //Et on supprime les posts ! + $query=$db->prepare('DELETE FROM forum_post WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Dernière chose, on récupère le dernier post du forum + $query=$db->prepare('SELECT post_id FROM forum_post + WHERE post_forum_id = :forum ORDER BY post_id DESC LIMIT 0,1'); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $last=(isset($data['post_id']))?$data['post_id']:0; + + //Ensuite on modifie certaines valeurs : + $query=$db->prepare('UPDATE forum_forum + SET forum_topic = forum_topic - 1, forum_post = forum_post - :nbr, forum_last_post_id = :id + WHERE forum_id = :forum'); + $query->bindValue(':nbr',$nombrepost,PDO::PARAM_INT); + $query->bindValue(':id',$last,PDO::PARAM_INT); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Enfin le message + echo'

Le topic a bien été supprimé !
+ Cliquez ici pour revenir à l\'index du forum

'; + + } //Fin du else +break; + +case "lock": //Si on veut verrouiller le topic + //On récupère la valeur de t + $topic = (int) $_GET['t']; + $query = $db->prepare('SELECT forum_topic.forum_id, auth_modo FROM forum_topic + LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + + //Ensuite on vérifie que le membre a le droit d'être ici + if (!verif_auth($data['auth_modo'])) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_VERR); + } + else //Sinon ça roule et on continue + { + //On met à jour la valeur de topic_locked + $query->CloseCursor(); + $query=$db->prepare('UPDATE forum_topic SET topic_locked = :lock WHERE topic_id = :topic'); + $query->bindValue(':lock',1,PDO::PARAM_STR); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + echo'

Le topic a bien été verrouillé !
+ Cliquez ici pour retourner au topic
+ Cliquez ici pour revenir à l\'index du forum

'; + } +break; + +case "unlock": //Si on veut déverrouiller le topic + //On récupère la valeur de t + $topic = (int) $_GET['t']; + $query = $db->prepare('SELECT forum_topic.forum_id, auth_modo FROM forum_topic + LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + + //Ensuite on vérifie que le membre a le droit d'être ici + if (!verif_auth($data['auth_modo'])) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_VERR); + } + else //Sinon ça roule et on continue + { + //On met à jour la valeur de topic_locked + $query->CloseCursor(); + $query=$db->prepare('UPDATE forum_topic SET topic_locked = :lock WHERE topic_id = :topic'); + $query->bindValue(':lock',0,PDO::PARAM_STR); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + echo'

Le topic a bien été déverrouillé !
+ Cliquez ici pour retourner au topic
+ Cliquez ici pour revenir à l\'index du forum

'; + } +break; + +case "edit": //Si on veut éditer le post + //On récupère la valeur de p + $post = (int) $_GET['p']; + + //On récupère le message + $message = $_POST['message']; + + //Ensuite on vérifie que le membre a le droit d'être ici (soit le créateur soit un modo/admin) + $query=$db->prepare('SELECT post_createur, post_texte, post_time, topic_id, auth_modo + FROM forum_post + LEFT JOIN forum_forum ON forum_post.post_forum_id = forum_forum.forum_id + WHERE post_id=:post'); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $data1 = $query->fetch(); + $topic = $data1['topic_id']; + + //On récupère la place du message dans le topic (pour le lien) + $query = $db->prepare('SELECT COUNT(*) AS nbr FROM forum_post + WHERE topic_id = :topic AND post_time < '.$data1['post_time']); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data2=$query->fetch(); + + if (!verif_auth($data1['auth_modo'])&& $data1['post_createur'] != $id) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_EDIT); + } + else //Sinon ça roule et on continue + { + $query=$db->prepare('UPDATE forum_post SET post_texte = :message WHERE post_id = :post'); + $query->bindValue(':message',$message,PDO::PARAM_STR); + $query->bindValue(':post',$post,PDO::PARAM_INT); + $query->execute(); + $nombreDeMessagesParPage = 15; + $nbr_post = $data2['nbr']+1; + $page = ceil($nbr_post / $nombreDeMessagesParPage); + echo'

Votre message a bien été édité!

+ Cliquez ici pour revenir à l\'index du forum
+ Cliquez ici pour le voir

'; + $query->CloseCursor(); + } +break; + + //Premier cas : nouveau topic + case "nouveautopic": + $query=$db->prepare('SELECT auth_annonce, auth_topic FORM forum_forum WHERE forum_id = '.$_GET['f'].''); + $query->execute(); + $data=$query->fetch(); + if (!verif_auth($data['auth_topic'])) erreur(ERR_AUTH_TOPIC); + if (!verif_auth($data['auth_annonce']) && isset($_POST['mess'])) { + exit(''); + } + $query->CloseCursor(); + + //On passe le message dans une série de fonction + $message = $_POST['message']; + $mess = $_POST['mess']; + + //Pareil pour le titre + $titre = $_POST['titre']; + + //ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable f + $forum = (int) $_GET['f']; + $temps = time(); + + if (empty($message) || empty($titre)) + { + echo'

Votre message ou votre titre est vide, + cliquez ici pour recommencer

'; + } + else //Si jamais le message n'est pas vide + { + //On entre le topic dans la base de donnée en laissant + //le champ topic_last_post à 0 + $query=$db->prepare('INSERT INTO forum_topic + (forum_id, topic_titre, topic_createur, topic_vu, topic_time, topic_genre) + VALUES(:forum, :titre, :id, 1, :temps, :mess)'); + $query->bindValue(':forum', $forum, PDO::PARAM_INT); + $query->bindValue(':titre', $titre, PDO::PARAM_STR); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->bindValue(':temps', $temps, PDO::PARAM_INT); + $query->bindValue(':mess', $mess, PDO::PARAM_STR); + $query->execute(); + + + $nouveautopic = $db->lastInsertId(); //Notre fameuse fonction ! + $query->CloseCursor(); + + //Puis on entre le message + $query=$db->prepare('INSERT INTO forum_post + (post_createur, post_texte, post_time, topic_id, post_forum_id) + VALUES (:id, :mess, :temps, :nouveautopic, :forum)'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->bindValue(':mess', $message, PDO::PARAM_STR); + $query->bindValue(':temps', $temps,PDO::PARAM_INT); + $query->bindValue(':nouveautopic', (int) $nouveautopic, PDO::PARAM_INT); + $query->bindValue(':forum', $forum, PDO::PARAM_INT); + $query->execute(); + + + $nouveaupost = $db->lastInsertId(); //Encore notre fameuse fonction ! + $query->CloseCursor(); + + $query=$db->prepare('SELECT membre_id FROM forum_email WHERE forum_all = 1'); + $query->execute(); + $data=$query->fetchAll(); + $query->CloseCursor(); + foreach ($data as $i => $value) { + $query=$db->prepare('SELECT membre_email, membre_pseudo FROM forum_membres WHERE membre_id = :id'); + $query->bindValue(':id', $data[$i]['membre_id'], PDO::PARAM_INT); + $query->execute(); + $data2=$query->fetch(); + $query->CloseCursor(); + emailnotif($nouveautopic, $data2['membre_email'], $data2['membre_pseudo']); + unset($data["membre_id"][$i]); + } + + $query=$db->prepare('SELECT membre_id FROM forum_email WHERE topic_id = :id'); + $query->bindValue(':id', $nouveautopic, PDO::PARAM_INT); + $query->execute(); + $data=$query->fetchAll(); + $query->CloseCursor(); + foreach ($data as $i => $value) { + $query=$db->prepare('SELECT membre_email, membre_pseudo FROM forum_membres WHERE membre_id = :id'); + $query->bindValue(':id', $data[$i]['membre_id'], PDO::PARAM_INT); + $query->execute(); + $data2=$query->fetch(); + $query->CloseCursor(); + emailnotif($nouveautopic, $data2['membre_email'], $data2['membre_pseudo']); + unset($data["membre_id"][$i]); + } + + //Ici on update comme prévu la valeur de topic_last_post et de topic_first_post + $query=$db->prepare('UPDATE forum_topic + SET topic_last_post = :nouveaupost, + topic_first_post = :nouveaupost + WHERE topic_id = :nouveautopic'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':nouveautopic', (int) $nouveautopic, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Enfin on met à jour les tables forum_forum et forum_membres + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + 1 ,forum_topic = forum_topic + 1, + forum_last_post_id = :nouveaupost + WHERE forum_id = :forum'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':forum', (int) $forum, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post + 1 WHERE membre_id = :id'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Et un petit message + echo'

Votre message a bien été ajouté!

Cliquez ici pour revenir à l\'index du forum
+ Cliquez ici pour le voir

'; + } + break; //Houra ! + + //Deuxième cas : répondre + case "repondre": + $topic = (int) $_GET['t']; + $query=$db->prepare('SELECT forum_id, topic_post FROM forum_topic WHERE topic_id = :topic'); + $query->bindValue(':topic', $topic, PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $topic_post = $data['topic_post']; + $forum = $data['forum_id']; + $query->CloseCursor(); + $query=$db->prepare('SELECT topic_locked, auth_post FROM forum_topic + LEFT JOIN forum_forum ON forum_forum.forum_id = :forum + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + if ($data['topic_locked'] != 0) + { + erreur(ERR_TOPIC_VERR); //A vous d'afficher un message du genre : le topic est verrouillé qu'est ce que tu fous là !? + } + $query->CloseCursor(); + $message = $_POST['message']; + + //ici seulement, maintenant qu'on est sur qu'elle existe, on récupère la valeur de la variable t + $topic = (int) $_GET['t']; + $temps = time(); + + if (empty($message)) + { + echo'

Votre message est vide, cliquez ici pour recommencer

'; + } + else //Sinon, si le message n'est pas vide + { + //Puis on entre le message + $query=$db->prepare('INSERT INTO forum_post + (post_createur, post_texte, post_time, topic_id, post_forum_id) + VALUES(:id,:mess,:temps,:topic,:forum)'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->bindValue(':mess', $message, PDO::PARAM_STR); + $query->bindValue(':temps', $temps, PDO::PARAM_INT); + $query->bindValue(':topic', $topic, PDO::PARAM_INT); + $query->bindValue(':forum', $forum, PDO::PARAM_INT); + $query->execute(); + + $nouveaupost = $db->lastInsertId(); + $query->CloseCursor(); + + //On change un peu la table forum_topic + $query=$db->prepare('UPDATE forum_topic SET topic_post = topic_post + 1, topic_last_post = :nouveaupost WHERE topic_id =:topic'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':topic', (int) $topic, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Puis même combat sur les 2 autres tables + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + 1 , forum_last_post_id = :nouveaupost WHERE forum_id = :forum'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':forum', (int) $forum, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post + 1 WHERE membre_id = :id'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Et un petit message + $nombreDeMessagesParPage = 15; + $nbr_post = $topic_post+1; + $page = ceil($nbr_post / $nombreDeMessagesParPage); + echo'

Votre message a bien été ajouté!

+ Cliquez ici pour revenir à l\'index du forum
+ Cliquez ici pour le voir

'; + + //EMAILS + $topicemail = $topic.'&page='.$page.'#p_'.$nouveaupost; + $query=$db->prepare('SELECT membre_id FROM forum_email WHERE forum_all = 1'); + $query->execute(); + $data=$query->fetchAll(); + $query->CloseCursor(); + foreach ($data as $i => $value) { + $query=$db->prepare('SELECT membre_email, membre_pseudo FROM forum_membres WHERE membre_id = :id'); + $query->bindValue(':id', $data[$i]['membre_id'], PDO::PARAM_INT); + $query->execute(); + $data2=$query->fetch(); + $query->CloseCursor(); + emailnotif($topicemail, $data2['membre_email'], $data2['membre_pseudo']); + unset($data["membre_id"][$i]); + } + + $query=$db->prepare('SELECT membre_id FROM forum_email WHERE topic_id = :id'); + $query->bindValue(':id', $topic, PDO::PARAM_INT); + $query->execute(); + $data=$query->fetchAll(); + $query->CloseCursor(); + foreach ($data as $i => $value) { + $query=$db->prepare('SELECT membre_email, membre_pseudo FROM forum_membres WHERE membre_id = :id'); + $query->bindValue(':id', $data[$i]['membre_id'], PDO::PARAM_INT); + $query->execute(); + $data2=$query->fetch(); + $query->CloseCursor(); + emailnotif($topicemail, $data2['membre_email'], $data2['membre_pseudo']); + unset($data["membre_id"][$i]); + } + }//Fin du else + break; + +case "deplacer": + + $topic = (int) $_GET['t']; + $query= $db->prepare('SELECT forum_topic.forum_id, auth_modo + FROM forum_topic + LEFT JOIN forum_forum + ON forum_forum.forum_id = forum_topic.forum_id + WHERE topic_id =:topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + + if (!verif_auth($data['auth_modo'])) + { + // Si cette condition n'est pas remplie ça va barder :o + erreur(ERR_AUTH_MOVE); + } + else //Sinon ça roule et on continue + { + $query->CloseCursor(); + $destination = (int) $_POST['dest']; + $origine = (int) $_POST['from']; + + //On déplace le topic + $query=$db->prepare('UPDATE forum_topic SET forum_id = :dest WHERE topic_id = :topic'); + $query->bindValue(':dest',$destination,PDO::PARAM_INT); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //On déplace les posts + $query=$db->prepare('UPDATE forum_post SET post_forum_id = :dest + WHERE topic_id = :topic'); + $query->bindValue(':dest',$destination,PDO::PARAM_INT); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + //On s'occupe d'ajouter / enlever les nombres de post / topic aux + //forum d'origine et de destination + //Pour cela on compte le nombre de post déplacé + + + $query=$db->prepare('SELECT COUNT(*) AS nombre_post + FROM forum_post WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $nombrepost = $data['nombre_post']; + $query->CloseCursor(); + + //Il faut également vérifier qu'on a pas déplacé un post qui été + //l'ancien premier post du forum (champ forum_last_post_id) + + $query=$db->prepare('SELECT post_id FROM forum_post WHERE post_forum_id = :desti + ORDER BY post_id DESC LIMIT 0,1'); + $query->bindValue(':desti',$destination,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $last=(isset($data['post_id']))?$data['post_id']:0; + $query->CloseCursor(); + + //Puis on met à jour le forum d'origine + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post - :nbr, + forum_topic = forum_topic - 1, + forum_last_post_id = :last + WHERE forum_id = :ori'); + $query->bindValue(':nbr',$nombrepost,PDO::PARAM_INT); + $query->bindValue(':ori',$origine,PDO::PARAM_INT); + $query->bindValue(':last',$last,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Avant de mettre à jour le forum de destination il faut + //vérifier la valeur de forum_last_post_id + $query=$db->prepare('SELECT post_id FROM forum_post WHERE post_forum_id = :dest + ORDER BY post_id DESC LIMIT 0,1'); + $query->bindValue(':dest',$destination,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $last_post=$data['post_id']; + $query->CloseCursor(); + + //Et on met à jour enfin ! + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + :nbr, + forum_topic = forum_topic + 1, + forum_last_post_id = :last + WHERE forum_id = :forum'); + $query->bindValue(':nbr',$nombrepost,PDO::PARAM_INT); + $query->bindValue(':last',$last,PDO::PARAM_INT); + $query->bindValue(':forum',$destination,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //C'est gagné ! On affiche le message + echo'

Le topic a bien été déplacé
+ Cliquez ici pour revenir au topic
+ Cliquez ici pour revenir à l\'index du forum

'; + } +break; +case "repondremp": //Si on veut répondre + + //On récupère le titre et le message + $message = $_POST['message']; + $titre = $_POST['titre']; + $temps = time(); + + //On récupère la valeur de l'id du destinataire + $dest = (int) $_GET['dest']; + + //Enfin on peut envoyer le message + + $query=$db->prepare('INSERT INTO forum_mp + (mp_expediteur, mp_receveur, mp_titre, mp_text, mp_time, mp_lu) + VALUES(:id, :dest, :titre, :txt, :tps, 0)'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':dest',$dest,PDO::PARAM_INT); + $query->bindValue(':titre',$titre,PDO::PARAM_STR); + $query->bindValue(':txt',$message,PDO::PARAM_STR); + $query->bindValue(':tps',$temps,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + echo'

Votre message a bien été envoyé!
+
Cliquez ici pour revenir à l\'index du + forum
+
Cliquez ici pour retourner + à la messagerie

'; + + break; + + case "nouveaump": //On envoie un nouveau mp + + //On récupère le titre et le message + $message = $_POST['message']; + $titre = $_POST['titre']; + $temps = time(); + $dest = $_POST['to']; + + //On récupère la valeur de l'id du destinataire + //Il faut déja vérifier le nom + + $query=$db->prepare('SELECT membre_id FROM forum_membres + WHERE LOWER(membre_pseudo) = :dest'); + $query->bindValue(':dest',strtolower($dest),PDO::PARAM_STR); + $query->execute(); + if($data = $query->fetch()) + { + $query=$db->prepare('INSERT INTO forum_mp + (mp_expediteur, mp_receveur, mp_titre, mp_text, mp_time, mp_lu) + VALUES(:id, :dest, :titre, :txt, :tps, :lu)'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':dest',(int) $data['membre_id'],PDO::PARAM_INT); + $query->bindValue(':titre',$titre,PDO::PARAM_STR); + $query->bindValue(':txt',$message,PDO::PARAM_STR); + $query->bindValue(':tps',$temps,PDO::PARAM_INT); + $query->bindValue(':lu','0',PDO::PARAM_STR); + $query->execute(); + $query->CloseCursor(); + + + + echo'

Votre message a bien été envoyé! +

Cliquez ici pour revenir à l\'index du + forum
+
Cliquez ici pour retourner à + la messagerie

'; + } + //Sinon l'utilisateur n'existe pas ! + else + { + echo'

Désolé ce membre n existe pas, veuillez vérifier et + réessayez à nouveau.

'; + } + break; + case "supprimer": + + //On récupère la valeur de l'id + $id_mess = (int) $_GET['id']; + //Il faut vérifier que le membre est bien celui qui a reçu le message + $query=$db->prepare('SELECT mp_receveur + FROM forum_mp WHERE mp_id = :id'); + $query->bindValue(':id',$id_mess,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + //Sinon la sanction est terrible :p + if ($id != $data['mp_receveur']) erreur(ERR_WRONG_USER); + $query->CloseCursor(); + + //2 cas pour cette partie : on est sûr de supprimer ou alors on ne l'est pas + $sur = (int) $_GET['sur']; + //Pas encore certain + if ($sur == 0) + { + echo'

Etes-vous certain de vouloir supprimer ce message ?
+ + Oui - Non

'; + } + //Certain + else + { + $query=$db->prepare('DELETE from forum_mp WHERE mp_id = :id'); + $query->bindValue(':id',$id_mess,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + echo'

Le message a bien été supprimé.
+ Cliquez ici pour revenir à la boite + de messagerie.

'; + } + + break; + case "autorep": + $topic = (int) $_GET['t']; + $query=$db->prepare('SELECT forum_topic.forum_id, auth_modo + FROM forum_topic + LEFT JOIN forum_forum ON forum_forum.forum_id = forum_topic.forum_id + WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + $forum=$data['forum_id']; + if (!verif_auth($data['auth_modo'])) + { + erreur(ERR_AUTH_MODO); + } + $query->CloseCursor(); + $rep = (int) $_POST['rep']; + $query=$db->prepare('SELECT automess_mess FROM forum_automess + WHERE automess_id = :rep'); + $query->bindValue(':rep',$rep,PDO::PARAM_INT); + $query->execute(); + $data = $query->fetch(); + $message = $data['automess_mess']; + $query->CloseCursor(); + $query=$db->prepare('INSERT INTO forum_post + (post_createur, post_texte, post_time, topic_id, post_forum_id) + VALUES(:id,:mess,:temps,:topic,:forum)'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->bindValue(':mess', $message, PDO::PARAM_STR); + $query->bindValue(':temps', time(), PDO::PARAM_INT); + $query->bindValue(':topic', $topic, PDO::PARAM_INT); + $query->bindValue(':forum', $forum, PDO::PARAM_INT); + $query->execute(); + + $nouveaupost = $db->lastInsertId(); + $query->CloseCursor(); + + //On change un peu la table forum_topic + $query=$db->prepare('UPDATE forum_topic SET topic_post = topic_post + 1, topic_last_post = :nouveaupost WHERE topic_id =:topic'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':topic', (int) $topic, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + //Puis même combat sur les 2 autres tables + $query=$db->prepare('UPDATE forum_forum SET forum_post = forum_post + 1 , forum_last_post_id = :nouveaupost WHERE forum_id = :forum'); + $query->bindValue(':nouveaupost', (int) $nouveaupost, PDO::PARAM_INT); + $query->bindValue(':forum', (int) $forum, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + $query=$db->prepare('UPDATE forum_membres SET membre_post = membre_post + 1 WHERE membre_id = :id'); + $query->bindValue(':id', $id, PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + $query=$db->prepare('UPDATE forum_topic + SET topic_locked = :lock + WHERE topic_id = :topic'); + $query->bindValue(':lock','1',PDO::PARAM_STR); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + + echo '

La réponse automatique a bien été envoyée !
+ Cliquez ici + pour revenir au topic
+ Cliquez ici + pour revenir à l\'index du forum

'; + + break; + + default; + echo'

Cette action est impossible

'; +} //Fin du Switch +?> + + + diff --git a/forum/postok.php.REMOVED.git-id b/forum/postok.php.REMOVED.git-id deleted file mode 100644 index 77763d3..0000000 --- a/forum/postok.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -f953c2b56adf709d08cfd372b668a8948a6204ca \ No newline at end of file diff --git a/forum/register.php b/forum/register.php new file mode 100644 index 0000000..6208ca3 --- /dev/null +++ b/forum/register.php @@ -0,0 +1,291 @@ +Vous êtes ici : Index du forum --> Enregistrement'; + +if ($id!=0) erreur(ERR_IS_CO); + +//if (empty($_POST['pseudo'])) { // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire + +$pseudo=$_POST['pseudo']; +$signature = $_POST['signature']; +$email = $_POST['email']; +$twitch = $_POST['twitch']; +$website = $_POST['website']; +$steam = $_POST['steam']; +$lol = $_POST['lol']; +$r6 = $_POST['r6']; +$localisation = $_POST['localisation']; +$avatar = $_POST['avatar']; + + +echo '

Inscription 1/2

'; +echo '
+
Identifiants + (le pseudo doit contenir entre 3 et 15 caractères)
+
+ +
+
Contacts +

Ne pas montrer l\'email ?

+
+
+
+
+ +
+
Informations supplémentaires + +
+
Profil sur le forum +(Taille max : 100Ko)
+ +

Profil privé ?

+
+

Les champs précédés d\'un * sont obligatoires

+
+

+ + +'; + + +//} //Fin de la partie formulaire + +/*else { //On est dans le cas traitement + $captcha_erreur = NULL; + $pseudo_erreur1 = NULL; + $pseudo_erreur2 = NULL; + $mdp_erreur = NULL; + $email_erreur1 = NULL; + $email_erreur2 = NULL; + $twitch_erreur = NULL; + $steam_erreur = NULL; + $signature_erreur = NULL; + $avatar_erreur = NULL; + $avatar_erreur1 = NULL; + $avatar_erreur2 = NULL; + $avatar_erreur3 = NULL; + $ip_erreur = NULL; + $secret = "**REMOVED**"; + $response = $_POST['g-recaptcha-response']; + $remoteip = preg_replace('/[^0-9]/', '',$_SERVER['REMOTE_ADDR']); + + //On récupère les variables + $i = 0; + $temps = time(); + $prive = 0; + $emailprive = 0; + $pseudo=$_POST['pseudo']; + $signature = $_POST['signature']; + $email = $_POST['email']; + $twitch = $_POST['twitch']; + $website = $_POST['website']; + $steam = $_POST['steam']; + $lol = $_POST['lol']; + $r6 = $_POST['r6']; + $localisation = $_POST['localisation']; + $pass = md5($_POST['password']); + $confirm = md5($_POST['confirm']); + + //verif captcha + $api_url = "https://www.google.com/recaptcha/api/siteverify?secret=" + . $secret + . "&response=" . $response + . "&remoteip=" . $remoteip ; + + $decode = json_decode(file_get_contents($api_url), true); + + if ($decode['success'] == true) { + // C'est un humain + } + + else { + // C'est un robot ou le code de vérification est incorrecte + $i++; + $captcha_erreur = "Vous n'avez pas coché le captcha."; + } + + //Verif steam + if (substr($steam, -1) == "/") { + $steam = substr($steam, 0, -1); + } + + //Vérification du pseudo + $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); + $query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR); + $query->execute(); + $pseudo_free=($query->fetchColumn()==0)?1:0; + $query->CloseCursor(); + if(!$pseudo_free) + { + $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre"; + $i++; + } + + if (strlen($pseudo) < $config['pseudo_minsize'] || strlen($pseudo) > $config['pseudo_maxsize']) + { + $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit"; + $i++; + } + + //Vérification du mdp + if ($pass != $confirm || empty($confirm) || empty($pass)) + { + $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides"; + $i++; + } + + //Vérification de l'adresse email + //Il faut que l'adresse email n'ait jamais été utilisée + $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); + $query->bindValue(':mail',$email, PDO::PARAM_STR); + $query->execute(); + $mail_free=($query->fetchColumn()==0)?1:0; + $query->CloseCursor(); + + if(!$mail_free) + { + $email_erreur1 = "Votre adresse email est déjà utilisée par un membre"; + $i++; + } + //On vérifie la forme maintenant + if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) + { + $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide"; + $i++; + } + + //Vérification de la signature + if (strlen($signature) > 200) + { + $signature_erreur = "Votre signature est trop longue"; + $i++; + } + + //Vérification de l'avatar : + if (!empty($_FILES['avatar']['size'])) + { + //On définit les variables : + $maxsize = 100024; //Poid de l'image + $maxwidth = 100; //Largeur de l'image + $maxheight = 100; //Longueur de l'image + $extensions_valides = array( 'jpg' , 'jpeg' , 'png' , 'png', 'bmp', 'gif' ); //Liste des extensions valides + + if ($_FILES['avatar']['error'] > 0) + { + $avatar_erreur = "Erreur lors du transfert de l'avatar : "; + } + if ($_FILES['avatar']['size'] > $maxsize) + { + $i++; + $avatar_erreur1 = "Le fichier est trop gros : (".$_FILES['avatar']['size']." Octets contre ".$maxsize." Octets)"; + } + + $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); + if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) + { + $i++; + $avatar_erreur2 = "Image trop large ou trop longue : + (".$image_sizes[0]."x".$image_sizes[1]." contre ".$maxwidth."x".$maxheight.")"; + } + + $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); + if (!in_array($extension_upload,$extensions_valides) ) + { + $i++; + $avatar_erreur3 = "Extension de l'avatar incorrecte"; + } + } + + //Privé ou pas + if (isset($_POST['prive'])) { + $prive = 1; + } + + //Email privé ou pas + if (isset($_POST['emailprive'])) { + $emailprive = 1; + } + + //uid + $uid = getrandom(30); + + if ($i==0) { + verifemail($uid, $email, $pseudo); + echo'

Inscription terminée

'; + echo'

Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum, il ne vous reste plus qu\'a confirmer votre email.

+

Cliquez ici pour revenir à la page d\'accueil

'; + + //La ligne suivante sera commentée plus bas + $nomavatar=(!empty($_FILES['avatar']['size']))?move_avatar($_FILES['avatar']):''; + + + $query=$db->prepare('INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email, + membre_twitch, membre_siteweb, membre_avatar, + membre_signature, membre_localisation, membre_inscrit, + membre_derniere_visite, membre_prive, membre_emailprive, membre_uid, membre_steam, membre_lol, membre_r6) + VALUES (:pseudo, :pass, :email, :twitch, :website, :nomavatar, :signature, :localisation, :temps, :temps, :prive, :emailprive, :uid, :steam, :lol, :r6)'); + $query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR); + $query->bindValue(':pass', $pass, PDO::PARAM_INT); + $query->bindValue(':email', $email, PDO::PARAM_STR); + $query->bindValue(':twitch', $twitch, PDO::PARAM_STR); + $query->bindValue(':website', $website, PDO::PARAM_STR); + $query->bindValue(':nomavatar', $nomavatar, PDO::PARAM_STR); + $query->bindValue(':signature', $signature, PDO::PARAM_STR); + $query->bindValue(':localisation', $localisation, PDO::PARAM_STR); + $query->bindValue(':temps', $temps, PDO::PARAM_INT); + $query->bindValue(':prive', $prive, PDO::PARAM_INT); + $query->bindValue(':emailprive', $emailprive, PDO::PARAM_INT); + $query->bindValue(':uid', $uid, PDO::PARAM_STR); + $query->bindValue(':steam', $steam, PDO::PARAM_STR); + $query->bindValue(':lol', $lol, PDO::PARAM_STR); + $query->bindValue(':r6', $r6, PDO::PARAM_STR); + $query->execute(); + + //Et on définit les variables de sessions + // $_SESSION['pseudo'] = $pseudo; + // $_SESSION['id'] = $db->lastInsertId(); ; + // $_SESSION['level'] = 2; + $query->CloseCursor(); + } + else + { + echo'

Inscription interrompue

'; + echo'

Une ou plusieurs erreurs se sont produites pendant l\'incription

'; + echo'

'.$i.' erreur(s)

'; + echo'

'.$captcha_erreur.'

'; + echo'

'.$ip_erreur.'

'; + echo'

'.$pseudo_erreur1.'

'; + echo'

'.$pseudo_erreur2.'

'; + echo'

'.$mdp_erreur.'

'; + echo'

'.$email_erreur1.'

'; + echo'

'.$email_erreur2.'

'; + echo'

'.$twitch_erreur.'

'; + echo'

'.$signature_erreur.'

'; + echo'

'.$avatar_erreur.'

'; + echo'

'.$avatar_erreur1.'

'; + echo'

'.$avatar_erreur2.'

'; + echo'

'.$avatar_erreur3.'

'; + + echo'
+ + + + + + + + +

'; + } +} +*/?> + + + diff --git a/forum/register.php.REMOVED.git-id b/forum/register.php.REMOVED.git-id deleted file mode 100644 index 2a344ad..0000000 --- a/forum/register.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -6208ca39767796fb49b53494cc5edcead1c21310 \ No newline at end of file diff --git a/forum/registerverif.php b/forum/registerverif.php new file mode 100644 index 0000000..ce8b5ff --- /dev/null +++ b/forum/registerverif.php @@ -0,0 +1,240 @@ +Vous êtes ici : Index du forum --> Enregistrement'; + +$captcha_erreur = NULL; +$pseudo_erreur1 = NULL; +$pseudo_erreur2 = NULL; +$mdp_erreur = NULL; +$email_erreur1 = NULL; +$email_erreur2 = NULL; +$twitch_erreur = NULL; +$steam_erreur = NULL; +$signature_erreur = NULL; +$avatar_erreur = NULL; +$avatar_erreur1 = NULL; +$avatar_erreur2 = NULL; +$avatar_erreur3 = NULL; +$ip_erreur = NULL; +$secret = "**REMOVED**"; +$response = $_POST['g-recaptcha-response']; +$remoteip = preg_replace('/[^0-9]/', '',$_SERVER['REMOTE_ADDR']); + +//On récupère les variables +$i = 0; +$temps = time(); +$prive = 0; +$emailprive = 0; +$pseudo=$_POST['pseudo']; +$signature = $_POST['signature']; +$email = $_POST['email']; +$twitch = $_POST['twitch']; +$website = $_POST['website']; +$steam = $_POST['steam']; +$lol = $_POST['lol']; +$r6 = $_POST['r6']; +$localisation = $_POST['localisation']; +$pass = md5($_POST['password']); +$confirm = md5($_POST['confirm']); + +//verif captcha +$api_url = "https://www.google.com/recaptcha/api/siteverify?secret=" + . $secret + . "&response=" . $response + . "&remoteip=" . $remoteip ; + + $decode = json_decode(file_get_contents($api_url), true); + +if ($decode['success'] == true) { + // C'est un humain +} + +else { + // C'est un robot ou le code de vérification est incorrecte + $i++; + $captcha_erreur = "Vous n'avez pas coché le captcha."; +} + +//Verif steam +if (substr($steam, -1) == "/") { + $steam = substr($steam, 0, -1); +} + +//Vérification du pseudo +$query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_pseudo =:pseudo'); +$query->bindValue(':pseudo',$pseudo, PDO::PARAM_STR); +$query->execute(); +$pseudo_free=($query->fetchColumn()==0)?1:0; +$query->CloseCursor(); +if(!$pseudo_free) +{ + $pseudo_erreur1 = "Votre pseudo est déjà utilisé par un membre"; + $i++; +} + +if (strlen($pseudo) < $config['pseudo_minsize'] || strlen($pseudo) > $config['pseudo_maxsize']) +{ + $pseudo_erreur2 = "Votre pseudo est soit trop grand, soit trop petit"; + $i++; +} + +//Vérification du mdp +if ($pass != $confirm || empty($confirm) || empty($pass)) +{ + $mdp_erreur = "Votre mot de passe et votre confirmation diffèrent, ou sont vides"; + $i++; +} + +//Vérification de l'adresse email +//Il faut que l'adresse email n'ait jamais été utilisée +$query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); +$query->bindValue(':mail',$email, PDO::PARAM_STR); +$query->execute(); +$mail_free=($query->fetchColumn()==0)?1:0; +$query->CloseCursor(); + +if(!$mail_free) +{ + $email_erreur1 = "Votre adresse email est déjà utilisée par un membre"; + $i++; +} +//On vérifie la forme maintenant +if (!preg_match("#^[a-zA-Z0-9._-]+@[a-zA-Z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) +{ + $email_erreur2 = "Votre adresse E-Mail n'a pas un format valide"; + $i++; +} + +//Vérification de la signature +if (strlen($signature) > 200) +{ + $signature_erreur = "Votre signature est trop longue"; + $i++; +} + +//Vérification de l'avatar : +if (!empty($_FILES['avatar']['size'])) +{ + //On définit les variables : + $maxsize = 100024; //Poid de l'image + $maxwidth = 100; //Largeur de l'image + $maxheight = 100; //Longueur de l'image + $extensions_valides = array( 'jpg' , 'jpeg' , 'png', 'bmp', 'gif' ); //Liste des extensions valides + + if ($_FILES['avatar']['error'] > 0) + { + $avatar_erreur = "Erreur lors du transfert de l'avatar : "; + } + if ($_FILES['avatar']['size'] > $maxsize) + { + $i++; + $avatar_erreur1 = "Le fichier est trop gros : (".$_FILES['avatar']['size']." Octets contre ".$maxsize." Octets)"; + } + + $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); + if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) + { + $i++; + $avatar_erreur2 = "Image trop large ou trop longue : + (".$image_sizes[0]."x".$image_sizes[1]." contre ".$maxwidth."x".$maxheight.")"; + } + + $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); + if (!in_array($extension_upload,$extensions_valides) ) + { + $i++; + $avatar_erreur3 = "Extension de l'avatar incorrecte"; + } +} + +//Privé ou pas +if (isset($_POST['prive'])) { + $prive = 1; +} + +//Email privé ou pas +if (isset($_POST['emailprive'])) { + $emailprive = 1; +} + +//uid +$uid = getrandom(30); + +if ($i==0) { + verifemail($uid, $email, $pseudo); + echo'

Inscription terminée

'; + echo'

Bienvenue '.stripslashes(htmlspecialchars($_POST['pseudo'])).' vous êtes maintenant inscrit sur le forum, il ne vous reste plus qu\'a confirmer votre email.

+

Cliquez ici pour revenir à la page d\'accueil

'; + + //La ligne suivante sera commentée plus bas +$nomavatar=(!empty($_FILES['avatar']['size']))?move_avatar($_FILES['avatar']):''; + + +$query=$db->prepare('INSERT INTO forum_membres (membre_pseudo, membre_mdp, membre_email, + membre_twitch, membre_siteweb, membre_avatar, + membre_signature, membre_localisation, membre_inscrit, + membre_derniere_visite, membre_prive, membre_emailprive, membre_uid, membre_steam, membre_lol, membre_r6) + VALUES (:pseudo, :pass, :email, :twitch, :website, :nomavatar, :signature, :localisation, :temps, :temps, :prive, :emailprive, :uid, :steam, :lol, :r6)'); +$query->bindValue(':pseudo', $pseudo, PDO::PARAM_STR); +$query->bindValue(':pass', $pass, PDO::PARAM_INT); +$query->bindValue(':email', $email, PDO::PARAM_STR); +$query->bindValue(':twitch', $twitch, PDO::PARAM_STR); +$query->bindValue(':website', $website, PDO::PARAM_STR); +$query->bindValue(':nomavatar', $nomavatar, PDO::PARAM_STR); +$query->bindValue(':signature', $signature, PDO::PARAM_STR); +$query->bindValue(':localisation', $localisation, PDO::PARAM_STR); +$query->bindValue(':temps', $temps, PDO::PARAM_INT); +$query->bindValue(':prive', $prive, PDO::PARAM_INT); +$query->bindValue(':emailprive', $emailprive, PDO::PARAM_INT); +$query->bindValue(':uid', $uid, PDO::PARAM_STR); +$query->bindValue(':steam', $steam, PDO::PARAM_STR); +$query->bindValue(':lol', $lol, PDO::PARAM_STR); +$query->bindValue(':r6', $r6, PDO::PARAM_STR); +$query->execute(); + +//Et on définit les variables de sessions + // $_SESSION['pseudo'] = $pseudo; + // $_SESSION['id'] = $db->lastInsertId(); ; + // $_SESSION['level'] = 2; + $query->CloseCursor(); +} +else { + echo'

Inscription interrompue

'; + echo'

Une ou plusieurs erreurs se sont produites pendant l\'incription

'; + echo'

'.$i.' erreur(s)

'; + echo'

'.$captcha_erreur.'

'; + echo'

'.$ip_erreur.'

'; + echo'

'.$pseudo_erreur1.'

'; + echo'

'.$pseudo_erreur2.'

'; + echo'

'.$mdp_erreur.'

'; + echo'

'.$email_erreur1.'

'; + echo'

'.$email_erreur2.'

'; + echo'

'.$twitch_erreur.'

'; + echo'

'.$signature_erreur.'

'; + echo'

'.$avatar_erreur.'

'; + echo'

'.$avatar_erreur1.'

'; + echo'

'.$avatar_erreur2.'

'; + echo'

'.$avatar_erreur3.'

'; + + echo'
+ + + + + + + + + + +

'; +} +?> + + + \ No newline at end of file diff --git a/forum/registerverif.php.REMOVED.git-id b/forum/registerverif.php.REMOVED.git-id deleted file mode 100644 index 39f6923..0000000 --- a/forum/registerverif.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ce8b5ff04517cb1eb258c1d9fef9fd7ffad17afe \ No newline at end of file diff --git a/forum/voirforum.php b/forum/voirforum.php new file mode 100644 index 0000000..1a809e3 --- /dev/null +++ b/forum/voirforum.php @@ -0,0 +1,226 @@ +prepare('SELECT forum_name, forum_topic, auth_view, auth_topic FROM forum_forum WHERE forum_id = :forum'); +$query->bindValue(':forum',$forum,PDO::PARAM_INT); +$query->execute(); +$data=$query->fetch(); + +if (!verif_auth($data['auth_view'])) +{ +erreur(ERR_AUTH_VIEW); +} + +$totalDesMessages = $data['forum_topic'] + 1; +$nombreDeMessagesParPage = 25; +$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); + +echo '

Vous êtes ici : Index du forum --> +'.stripslashes(htmlspecialchars($data['forum_name'])).''; + +//Nombre de pages + + +$page = (isset($_GET['page']))?intval($_GET['page']):1; + +//On affiche les pages 1-2-3, etc. +echo '

Page : '; +for ($i = 1 ; $i <= $nombreDePages ; $i++) +{ + if ($i == $page) //On ne met pas de lien sur la page actuelle + { + echo $i; + } + else + { + echo ' + '.$i.''; + } +} +echo '

'; + + +$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; +//Le titre du forum +echo '

'.stripslashes(htmlspecialchars($data['forum_name'])).'



'; + +if (verif_auth($data['auth_topic'])) { + //Et le bouton pour poster + echo' + Nouveau topic'; +} +else { + echo'Pas de nouveau topic'; +} + +$query->CloseCursor(); + +//On prend tout ce qu'on a sur les Annonces du forum + + +$query=$db->prepare('SELECT forum_topic.topic_id, topic_titre, topic_createur, topic_vu, topic_post, topic_time, topic_last_post, +Mb.membre_pseudo AS membre_pseudo_createur, post_createur, post_time, Ma.membre_pseudo AS membre_pseudo_last_posteur, post_id FROM forum_topic +LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur +LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id +LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur +WHERE topic_genre = "Annonce" AND forum_topic.forum_id = :forum +ORDER BY topic_last_post DESC'); +$query->bindValue(':forum',$forum,PDO::PARAM_INT); +$query->execute(); + +//On lance notre tableau seulement s'il y a des requêtes ! +if ($query->rowCount()>0) +{ + ?> + + + + + + + + + + + fetch()) + { + //Pour chaque topic : + //Si le topic est une annonce on l'affiche en haut + //mega echo de bourrain pour tout remplir + + echo' + + + + + + + + '; + + //Selection dernier message + $nombreDeMessagesParPage = 15; + $nbr_post = $data['topic_post'] +1; + $page = ceil($nbr_post / $nombreDeMessagesParPage); + + echo ''; + } + ?> +
AnnoncesTitreRéponsesVusAuteurDernier message
AnnonceAnnonce : + + '.stripslashes(htmlspecialchars($data['topic_titre'])).''.$data['topic_post'].''.$data['topic_vu'].' + '.stripslashes(htmlspecialchars($data['membre_pseudo_createur'])).'Par + + '.stripslashes(htmlspecialchars($data['membre_pseudo_last_posteur'])).'
+ A '.date('H\hi \l\e d M y',$data['post_time']).'
+ CloseCursor(); + +//On prend tout ce qu'on a sur les topics normaux du forum + + +$query=$db->prepare('SELECT forum_topic.topic_id, topic_titre, topic_locked, topic_createur, topic_vu, topic_post, topic_time, topic_last_post, +Mb.membre_pseudo AS membre_pseudo_createur, post_id, post_createur, post_time, Ma.membre_pseudo AS membre_pseudo_last_posteur FROM forum_topic +LEFT JOIN forum_membres Mb ON Mb.membre_id = forum_topic.topic_createur +LEFT JOIN forum_post ON forum_topic.topic_last_post = forum_post.post_id +LEFT JOIN forum_membres Ma ON Ma.membre_id = forum_post.post_createur +WHERE topic_genre <> "Annonce" AND forum_topic.forum_id = :forum +ORDER BY topic_last_post DESC +LIMIT :premier ,:nombre'); +$query->bindValue(':forum',$forum,PDO::PARAM_INT); +$query->bindValue(':premier',(int) $premierMessageAafficher,PDO::PARAM_INT); +$query->bindValue(':nombre',(int) $nombreDeMessagesParPage,PDO::PARAM_INT); +$query->execute(); + +if ($query->rowCount()>0) +{ +?> + + + + + + + + + + fetch()) + { + //Ah bah tiens... re vla l'echo de fou + if ($data['topic_locked'] == 1) { + echo' + + + + + + + + '; + } + else { + echo' + + + + + + + + '; + } + //Selection dernier message + $nombreDeMessagesParPage = 15; + $nbr_post = $data['topic_post'] +1; + $page = ceil($nbr_post / $nombreDeMessagesParPage); + + echo ''; + + } + ?> +
MessagesTitreRéponsesVusAuteurDernier message
MessageVerrouillé + + '.stripslashes(htmlspecialchars($data['topic_titre'])).''.$data['topic_post'].''.$data['topic_vu'].' + '.stripslashes(htmlspecialchars($data['membre_pseudo_createur'])).'
MessagePas verrouillé + + '.stripslashes(htmlspecialchars($data['topic_titre'])).''.$data['topic_post'].''.$data['topic_vu'].' + '.stripslashes(htmlspecialchars($data['membre_pseudo_createur'])).'Par + + '.stripslashes(htmlspecialchars($data['membre_pseudo_last_posteur'])).'
+ A '.date('H\hi \l\e d M y',$data['post_time']).'
+ Ce forum ne contient aucun sujet actuellement

'; +} +$query->CloseCursor(); +?> + + + diff --git a/forum/voirforum.php.REMOVED.git-id b/forum/voirforum.php.REMOVED.git-id deleted file mode 100644 index 0c4239e..0000000 --- a/forum/voirforum.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -1a809e3953912f98430d657b6198c462ff47174f \ No newline at end of file diff --git a/forum/voirprofil.php b/forum/voirprofil.php new file mode 100644 index 0000000..db93a4d --- /dev/null +++ b/forum/voirprofil.php @@ -0,0 +1,420 @@ +prepare('SELECT membre_pseudo, membre_avatar, + membre_email, membre_twitch, membre_signature, membre_siteweb, membre_post, + membre_inscrit, membre_localisation, membre_prive, membre_rang, membre_emailprive, membre_steam, membre_tsuid, membre_lol, membre_r6 + FROM forum_membres WHERE membre_id=:membre'); + $query->bindValue(':membre',$membre, PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + + if ($data['membre_prive'] and $membre != $id) erreur(ERR_PRIVE); + + //On affiche les infos sur le membre + echo '

Vous êtes ici : Index du forum --> + profil de '.stripslashes(htmlspecialchars($data['membre_pseudo'])); + echo'

Profil de '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'

'; + + echo'Ce membre n\'a pas d\'avatar'; + + if ($id == $membre) { + echo'

Editer'; + } + + if ($data['membre_rang'] == 5) { + $rang = "Administrateur"; + } + elseif ($data['membre_rang'] == 4) { + $rang = "Modérateur"; + } + elseif ($data['membre_rang'] == 3) { + $rang = "KT"; + } + elseif ($data['membre_rang'] == 2) { + $rang = "Membre"; + } + elseif ($data['membre_rang'] == 1) { + $rang = "Visiteur"; + } + elseif ($data['membre_rang'] == 0) { + $rang = "Banni"; + } + else { + $rang = "Inconnu"; + } + + echo'

Grade: '.$rang.'
'; + + echo'Adresse E-Mail : '; + if ($data['membre_emailprive'] == 0) { + echo' + '.stripslashes(htmlspecialchars($data['membre_email'])).'
'; + } + else { + echo'Privé
'; + } + + if ($data['membre_twitch'] != '') { + echo'Chaine Twitch: twitch.tv/'.stripslashes(htmlspecialchars($data['membre_twitch'])).'
'; + } + if ($data['membre_steam'] != NULL) { + echo'Profil steam: '.stripslashes(htmlspecialchars($data['membre_steam'])).'
'; + } + if ($data['membre_siteweb'] != '') { + echo'Site Web : '.stripslashes(htmlspecialchars($data['membre_siteweb'])).'
'; + } + + if ($data['membre_r6'] != NULL) { + echo'Pseudo R6: '.stripslashes(htmlspecialchars($data['membre_r6'])).'
'; + } + + if ($data['membre_lol'] != NULL) { + echo'Pseudo Riot: '.stripslashes(htmlspecialchars($data['membre_lol'])).'
'; + } + echo'

'; + + if ($data['membre_post'] != 0 and $data['membre_post'] != 1) { + echo'Ce membre est inscrit depuis le '.date('d/m/Y',$data['membre_inscrit']).' et a posté '.$data['membre_post'].' messages

'; + } + elseif ($data['membre_post'] == 1) { + echo'Ce membre est inscrit depuis le '.date('d/m/Y',$data['membre_inscrit']).' et n\'a posté qu\''.$data['membre_post'].' message

'; + } + else { + echo'Ce membre est inscrit depuis le '.date('d/m/Y',$data['membre_inscrit']).' et n\'a posté aucun message

'; + } + echo'Localisation : '.stripslashes(htmlspecialchars($data['membre_localisation'])).'

'; + $query->CloseCursor(); + break; + + //Si on choisit de modifier son profil + case "modifier": + if (empty($_POST['sent'])) // Si on la variable est vide, on peut considérer qu'on est sur la page de formulaire + { + //On commence par s'assurer que le membre est connecté + if ($id==0) erreur(ERR_IS_NOT_CO); + + //On prend les infos du membre + $query=$db->prepare('SELECT membre_pseudo, membre_email, + membre_siteweb, membre_signature, membre_twitch, membre_localisation, + membre_avatar, membre_prive, membre_steam, membre_lol, membre_r6, membre_tsuid + FROM forum_membres WHERE membre_id=:id'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + echo '

Vous êtes ici : Index du forum --> Modification du profil'; + echo '

Modifier son profil

'; + + echo '
+ + +
Identifiants + Pseudo : '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'
+ +
+ + +
+ +
Contacts + +
+ + +
+ + +
+ + +
+ + +
+ + +
'; + + if ($data['membre_tsuid'] == NULL) { + echo ' +
Verif TS

'; + } + else { + echo ' +
Verif TS

'; + } + + echo '
+ +
Informations supplémentaires + +
+
+ +
Profil sur le forum + + + (Taille max : 10 ko)

+ + Avatar actuel : + pas d avatar + +

+ + '; + if ($data['membre_prive'] == 1) { + echo '

Profil privé ?

'; + } + else { + echo '

Profil privé ?

'; + } + echo '
+

+ + +

'; + $query->CloseCursor(); + } + + else //Cas du traitement + { + //On déclare les variables + + $mdp_erreur = NULL; + $email_erreur1 = NULL; + $email_erreur2 = NULL; + $twitch_erreur = NULL; + $signature_erreur = NULL; + $avatar_erreur = NULL; + $avatar_erreur1 = NULL; + $avatar_erreur2 = NULL; + $avatar_erreur3 = NULL; + + //Encore et toujours notre belle variable $i :p + $i = 0; + $temps = time(); + $signature = $_POST['signature']; + $email = $_POST['email']; + $twitch = $_POST['twitch']; + $website = $_POST['website']; + $steam = $_POST['steam']; + $lol = $_POST['lol']; + $r6 = $_POST['r6']; + $localisation = $_POST['localisation']; + $pass = md5($_POST['password']); + $confirm = md5($_POST['confirm']); + + //Vérification du mdp + if ($pass != $confirm) + { + $mdp_erreur = "Votre mot de passe et votre confirmation sont différents"; + $i++; + } + //Vérification de l'adresse email + //Il faut que l'adresse email n'ait jamais été utilisée (sauf si elle n'a pas été modifiée) + + //On commence donc par récupérer le mail + $query=$db->prepare('SELECT membre_email FROM forum_membres WHERE membre_id =:id'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + if (strtolower($data['membre_email']) != strtolower($email)) + { + //Il faut que l'adresse email n'ait jamais été utilisée + $query=$db->prepare('SELECT COUNT(*) AS nbr FROM forum_membres WHERE membre_email =:mail'); + $query->bindValue(':mail',$email,PDO::PARAM_STR); + $query->execute(); + $mail_free=($query->fetchColumn()==0)?1:0; + $query->CloseCursor(); + if(!$mail_free) + { + $email_erreur1 = "Votre adresse email est déjà utilisé par un membre"; + $i++; + } + + //On vérifie la forme maintenant + if (!preg_match("#^[a-z0-9A-Z._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email) || empty($email)) + { + $email_erreur2 = "Votre nouvelle adresse E-Mail n'a pas un format valide"; + $i++; + } + } + + //Verif steam + if (substr($steam, -1) == "/") { + $steam = substr($steam, 0, -1); + } + + //Vérification de la signature + if (strlen($signature) > 200) + { + $signature_erreur = "Votre nouvelle signature est trop longue"; + $i++; + } + + + //Vérification de l'avatar + + if (!empty($_FILES['avatar']['size'])) + { + //On définit les variables : + $maxsize = 30072; //Poid de l'image + $maxwidth = 100; //Largeur de l'image + $maxheight = 100; //Longueur de l'image + //Liste des extensions valides + $extensions_valides = array( 'jpg' , 'jpeg' , 'png' , 'png', 'bmp' ); + + if ($_FILES['avatar']['error'] > 0) + { + $avatar_erreur = "Erreur lors du tranfsert de l'avatar : "; + } + if ($_FILES['avatar']['size'] > $maxsize) + { + $i++; + $avatar_erreur1 = "Le fichier est trop gros : + (".$_FILES['avatar']['size']." Octets + contre ".$maxsize." Octets)"; + } + + $image_sizes = getimagesize($_FILES['avatar']['tmp_name']); + if ($image_sizes[0] > $maxwidth OR $image_sizes[1] > $maxheight) + { + $i++; + $avatar_erreur2 = "Image trop large ou trop longue : + (".$image_sizes[0]."x".$image_sizes[1]." contre + ".$maxwidth."x".$maxheight.")"; + } + + $extension_upload = strtolower(substr( strrchr($_FILES['avatar']['name'], '.') ,1)); + if (!in_array($extension_upload,$extensions_valides) ) + { + $i++; + $avatar_erreur3 = "Extension de l'avatar incorrecte"; + } + } + + //Prive ou pas + if (isset($_POST['prive'])) { + $prive = 1; + } + else { + $prive = 0; + } + + echo '

Vous êtes ici : Index du forum --> Modification du profil'; + + + if ($i == 0) // Si $i est vide, il n'y a pas d'erreur + { + if (!empty($_FILES['avatar']['size'])) + { + $nomavatar=move_avatar($_FILES['avatar']); + $query=$db->prepare('UPDATE forum_membres + SET membre_avatar = :avatar + WHERE membre_id = :id'); + $query->bindValue(':avatar',$nomavatar,PDO::PARAM_STR); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + + //Une nouveauté ici : on peut choisis de supprimer l'avatar + if (isset($_POST['delete'])) + { + $query=$db->prepare('UPDATE forum_membres + SET membre_avatar=0 WHERE membre_id = :id'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + echo'

Modification terminée

'; + echo'

Votre profil a été modifié avec succès !

'; + echo'

Cliquez ici + pour revenir à la page d accueil

'; + + //On modifie la table + if ($pass != 'd41d8cd98f00b204e9800998ecf8427e') { + $query=$db->prepare('UPDATE forum_membres + SET membre_mdp = :mdp, membre_email=:mail, membre_twitch=:twitch, membre_siteweb=:website, membre_lol=:lol, membre_r6=:r6 ,membre_signature=:sign, membre_localisation=:loc, membre_prive=:prive + WHERE membre_id=:id'); + $query->bindValue(':mdp',$pass,PDO::PARAM_INT); + $query->bindValue(':mail',$email,PDO::PARAM_STR); + $query->bindValue(':twitch',$twitch,PDO::PARAM_STR); + $query->bindValue(':website',$website,PDO::PARAM_STR); + $query->bindValue(':steam',$steam,PDO::PARAM_STR); + $query->bindValue(':lol',$lol,PDO::PARAM_STR); + $query->bindValue(':r6',$r6,PDO::PARAM_STR); + $query->bindValue(':sign',$signature,PDO::PARAM_STR); + $query->bindValue(':loc',$localisation,PDO::PARAM_STR); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':prive',$prive,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + else { + $query=$db->prepare('UPDATE forum_membres + SET membre_email=:mail, membre_twitch=:twitch, membre_siteweb=:website, membre_signature=:sign, membre_localisation=:loc, membre_prive=:prive, membre_steam=:steam, membre_lol=:lol, membre_r6=:r6 + WHERE membre_id=:id'); + $query->bindValue(':mail',$email,PDO::PARAM_STR); + $query->bindValue(':twitch',$twitch,PDO::PARAM_STR); + $query->bindValue(':website',$website,PDO::PARAM_STR); + $query->bindValue(':steam',$steam,PDO::PARAM_STR); + $query->bindValue(':lol',$lol,PDO::PARAM_STR); + $query->bindValue(':r6',$r6,PDO::PARAM_STR); + $query->bindValue(':sign',$signature,PDO::PARAM_STR); + $query->bindValue(':loc',$localisation,PDO::PARAM_STR); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':prive',$prive,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + } + } + else + { + echo'

Modification interrompue

'; + echo'

Une ou plusieurs erreurs se sont produites pendant la modification du profil

'; + echo'

'.$i.' erreur(s)

'; + echo'

'.$mdp_erreur.'

'; + echo'

'.$email_erreur1.'

'; + echo'

'.$email_erreur2.'

'; + echo'

'.$twitch_erreur.'

'; + echo'

'.$signature_erreur.'

'; + echo'

'.$avatar_erreur.'

'; + echo'

'.$avatar_erreur1.'

'; + echo'

'.$avatar_erreur2.'

'; + echo'

'.$avatar_erreur3.'

'; + echo'

Cliquez ici pour recommencer

'; + } +} //Fin du else + break; + +default; //Si jamais c'est aucun de ceux là c'est qu'il y a eu un problème :o +echo'

Cette action est impossible

'; + +} //Fin du switch +?> + + + \ No newline at end of file diff --git a/forum/voirprofil.php.REMOVED.git-id b/forum/voirprofil.php.REMOVED.git-id deleted file mode 100644 index 542a372..0000000 --- a/forum/voirprofil.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -db93a4d06413b827f665dc5c6024ee8b5392ee9a \ No newline at end of file diff --git a/forum/voirtopic.php b/forum/voirtopic.php new file mode 100644 index 0000000..3f7f336 --- /dev/null +++ b/forum/voirtopic.php @@ -0,0 +1,261 @@ +prepare('SELECT COUNT(*) FROM `forum_email` WHERE `membre_id` = :id AND `topic_id` = :topic'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $topic_sub = $query->fetchColumn(); + $query->CloseCursor(); + + $query=$db->prepare('SELECT COUNT(*) FROM `forum_email` WHERE `membre_id` = :id AND `forum_all` = 1'); + $query->bindValue(':id',$id,PDO::PARAM_INT); + $query->execute(); + $forumall = $query->fetchColumn(); + $query->CloseCursor(); +} + +//A partir d'ici, on va compter le nombre de messages pour n'afficher que les 15 premiers +$query=$db->prepare('SELECT topic_titre, topic_post, forum_topic.forum_id, topic_last_post, +forum_name, auth_view, auth_topic, auth_post, auth_modo, topic_locked +FROM forum_topic +LEFT JOIN forum_forum ON forum_topic.forum_id = forum_forum.forum_id +WHERE topic_id = :topic'); +$query->bindValue(':topic',$topic,PDO::PARAM_INT); +$query->execute(); +$data=$query->fetch(); + +if (!verif_auth($data['auth_view'])) +{ + erreur(ERR_AUTH_VIEW); +} + +$forum=$data['forum_id']; +$totalDesMessages = $data['topic_post'] + 1; +$nombreDeMessagesParPage = $config['post_par_page']; +$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage); + +echo '

Vous êtes ici : Index du forum --> +'.stripslashes(htmlspecialchars($data['forum_name'])).' + --> '.stripslashes(htmlspecialchars($data['topic_titre'])).''; +if ($id != 0) { + if ($forumall > 0 && $topic_sub > 0) { + echo'go'; + } + + elseif ($forumall > 0) { + echo'go'; + } + + elseif ($topic_sub > 0) { + echo'go'; + } + else { + echo'go'; + } +} +echo '

'.stripslashes(htmlspecialchars($data['topic_titre'])).'

'; + +//Nombre de pages +$page = (isset($_GET['page']))?intval($_GET['page']):1; + +$premierMessageAafficher = ($page - 1) * $nombreDeMessagesParPage; + + +if (!verif_auth($data['auth_post']) OR $data['topic_locked'] == 1) { +//On affiche l'image répondre +echo'Pas Répondre'; +} + +else { + echo' + Répondre'; +} + +if ($data['topic_locked'] == 1) { + if (verif_auth($data['auth_modo'])) { + echo' + deverrouiller'; + } + else { + echo'verrouille'; + } +} + +else { + if (verif_auth($data['auth_modo'])) { + echo' + verrouiller'; + } + else { + echo'pasverouille'; + } +} + +$query=$db->prepare('SELECT auth_modo FROM forum_forum WHERE forum_id = :forum'); +$query->bindValue(':forum',$forum,PDO::PARAM_INT); +$query->execute(); +$data=$query->fetch(); +if (verif_auth($data['auth_modo'])) { + $query->CloseCursor(); + $query=$db->prepare('SELECT forum_id, forum_name FROM forum_forum WHERE forum_id <> :forum'); + $query->bindValue(':forum',$forum,PDO::PARAM_INT); + $query->execute(); + + //$forum a été définie tout en haut de la page ! + echo'

Déplacer vers :

+
+ + + +
'; + $query->CloseCursor(); + $query=$db->prepare('SELECT topic_locked FROM forum_topic WHERE topic_id =:topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $data=$query->fetch(); + if ($data['topic_locked']==1) { + echo '

Réponse automatique :

+
+ +
'; + $query->CloseCursor(); + } +} +//Enfin on commence la boucle ! +$query=$db->prepare('SELECT post_id , auth_modo , post_createur , post_texte , post_time , +membre_id, membre_pseudo, membre_inscrit, membre_avatar, membre_localisation, membre_post, membre_signature, membre_rang, topic_locked +FROM forum_post +LEFT JOIN forum_membres ON forum_membres.membre_id = forum_post.post_createur +LEFT JOIN forum_topic ON forum_topic.topic_id = :topic +LEFT JOIN forum_forum ON forum_forum.forum_id = :forum +WHERE forum_post.topic_id =:topic +ORDER BY post_id +LIMIT :premier, :nombre'); +$query->bindValue(':topic',$topic,PDO::PARAM_INT); +$query->bindValue(':forum',$forum,PDO::PARAM_INT); +$query->bindValue(':premier',(int) $premierMessageAafficher,PDO::PARAM_INT); +$query->bindValue(':nombre',(int) $nombreDeMessagesParPage,PDO::PARAM_INT); +$query->execute(); + +//On vérifie que la requête a bien retourné des messages +if ($query->rowCount()<1) +{ + echo'

Il n y a aucun post sur ce topic, vérifiez l\'url et reessayez

'; +} +else +{ + //Si tout roule on affiche notre tableau puis on remplit avec une boucle + ?> + + + + + fetch()) + { +//On commence à afficher le pseudo du créateur du message : + //On vérifie les droits du membre + //(partie du code commentée plus tard) + echo''; + + /* Si on est l'auteur du message, on affiche des liens pour + Modérer celui-ci. + Les modérateurs pourront aussi le faire, il faudra donc revenir sur + ce code un peu plus tard ! */ + + if (verif_auth($data['auth_modo']) OR $data['post_createur'] == $id) { + echo''; + } + else + { + echo''; + } + + if ($data['membre_rang'] == 5) { + $rang = "Administrateur"; + } + elseif ($data['membre_rang'] == 4) { + $rang = "Modérateur"; + } + elseif ($data['membre_rang'] == 3) { + $rang = "KT"; + } + elseif ($data['membre_rang'] == 2) { + $rang = "Membre"; + } + elseif ($data['membre_rang'] == 1) { + $rang = "Visiteur"; + } + elseif ($data['membre_rang'] == 0) { + $rang = "Banni"; + } + else { + $rang = "Inconnu"; + } + + //Détails sur le membre qui a posté + echo''; + + //Message + echo''; + } //Fin de la boucle ! \o/ + $query->CloseCursor(); + + ?> +
AuteursMessages
+ + '.stripslashes(htmlspecialchars($data['membre_pseudo'])).'Posté à '.date('H\hi \l\e d m y',$data['post_time']).' + + Supprimer + + Editer
+ Posté à '.date('H\hi \l\e d m y',$data['post_time']).' +
+ +
Membre inscrit le '.date('d/m/Y',$data['membre_inscrit']).' +
Messages : '.$data['membre_post'].' +
Localisation : '.stripslashes(htmlspecialchars($data['membre_localisation'])).' +
Grade : '.$rang.'

'.code(nl2br(stripslashes(htmlspecialchars($data['post_texte'])))).'

+

'.code(nl2br(stripslashes(htmlspecialchars($data['membre_signature'])))).'
+Page : '; + echo get_list_page($page, $nombreDePages, './voirtopic.php?t='.$topic); + echo'

'; + + //On ajoute 1 au nombre de visites de ce topic + $query=$db->prepare('UPDATE forum_topic + SET topic_vu = topic_vu + 1 WHERE topic_id = :topic'); + $query->bindValue(':topic',$topic,PDO::PARAM_INT); + $query->execute(); + $query->CloseCursor(); + +} //Fin du if qui vérifiait si le topic contenait au moins un message + +?> + + + diff --git a/forum/voirtopic.php.REMOVED.git-id b/forum/voirtopic.php.REMOVED.git-id deleted file mode 100644 index 281a275..0000000 --- a/forum/voirtopic.php.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -3f7f3366a896a9c8944ca70ed3ad699f75873280 \ No newline at end of file diff --git a/image/TS5/CSGO/0.png.REMOVED.git-id b/image/TS5/CSGO/0.png.REMOVED.git-id deleted file mode 100644 index 6e8267b..0000000 --- a/image/TS5/CSGO/0.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -9d91de49ecf28244fde02aaa2a5b259d6a9e8de8 \ No newline at end of file diff --git a/image/TS5/CSGO/1.png.REMOVED.git-id b/image/TS5/CSGO/1.png.REMOVED.git-id deleted file mode 100644 index 52465f4..0000000 --- a/image/TS5/CSGO/1.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -26641b0705f35e183bf216af86ec689bba74bd8c \ No newline at end of file diff --git a/image/TS5/CSGO/10.png.REMOVED.git-id b/image/TS5/CSGO/10.png.REMOVED.git-id deleted file mode 100644 index 59d717c..0000000 --- a/image/TS5/CSGO/10.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -174dc312af3b05b6ad92090be3d88472f2609202 \ No newline at end of file diff --git a/image/TS5/CSGO/11.png.REMOVED.git-id b/image/TS5/CSGO/11.png.REMOVED.git-id deleted file mode 100644 index b1c5245..0000000 --- a/image/TS5/CSGO/11.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -d78d00669adfe6ff6d14cd422b0c8ffcdc35f3e3 \ No newline at end of file diff --git a/image/TS5/CSGO/12.png.REMOVED.git-id b/image/TS5/CSGO/12.png.REMOVED.git-id deleted file mode 100644 index 5f1a4d8..0000000 --- a/image/TS5/CSGO/12.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -e5f4cccd8aef160e86570ff330ef5b6ad6b12831 \ No newline at end of file diff --git a/image/TS5/CSGO/13.png.REMOVED.git-id b/image/TS5/CSGO/13.png.REMOVED.git-id deleted file mode 100644 index 910f9bb..0000000 --- a/image/TS5/CSGO/13.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -53ccf66bbdc4d55a47d0c6d87ccdacba8705c382 \ No newline at end of file diff --git a/image/TS5/CSGO/14.png.REMOVED.git-id b/image/TS5/CSGO/14.png.REMOVED.git-id deleted file mode 100644 index d3e41fb..0000000 --- a/image/TS5/CSGO/14.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -7d56b0d251a33c95cc7dc404c3ff29a041745108 \ No newline at end of file diff --git a/image/TS5/CSGO/15.png.REMOVED.git-id b/image/TS5/CSGO/15.png.REMOVED.git-id deleted file mode 100644 index 3e06955..0000000 --- a/image/TS5/CSGO/15.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5b934e0e271a0dfb7a4fd7dbd2a09f273322c13d \ No newline at end of file diff --git a/image/TS5/CSGO/16.png.REMOVED.git-id b/image/TS5/CSGO/16.png.REMOVED.git-id deleted file mode 100644 index 93ec3f9..0000000 --- a/image/TS5/CSGO/16.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5edb2c9056e4583277f9c43f16a758e506efb2eb \ No newline at end of file diff --git a/image/TS5/CSGO/17.png.REMOVED.git-id b/image/TS5/CSGO/17.png.REMOVED.git-id deleted file mode 100644 index 7db3e4c..0000000 --- a/image/TS5/CSGO/17.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -6c5d118e64a9438e40d747d38875a11e26c3ab9c \ No newline at end of file diff --git a/image/TS5/CSGO/18.png.REMOVED.git-id b/image/TS5/CSGO/18.png.REMOVED.git-id deleted file mode 100644 index 53668a8..0000000 --- a/image/TS5/CSGO/18.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0519475b63ec08b6f810389928f03f1d07491251 \ No newline at end of file diff --git a/image/TS5/CSGO/19.png.REMOVED.git-id b/image/TS5/CSGO/19.png.REMOVED.git-id deleted file mode 100644 index 5ea59e1..0000000 --- a/image/TS5/CSGO/19.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -15f16058734284b6dfc96a001969214ae7777917 \ No newline at end of file diff --git a/image/TS5/CSGO/2.png.REMOVED.git-id b/image/TS5/CSGO/2.png.REMOVED.git-id deleted file mode 100644 index 646f4b8..0000000 --- a/image/TS5/CSGO/2.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -a31190e0dae4b950b8dc61bd1bae4c104720c7f5 \ No newline at end of file diff --git a/image/TS5/CSGO/20.png.REMOVED.git-id b/image/TS5/CSGO/20.png.REMOVED.git-id deleted file mode 100644 index ae0f94d..0000000 --- a/image/TS5/CSGO/20.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5e8ed26590b85c6a99e92a6a660d27fb37aac2f6 \ No newline at end of file diff --git a/image/TS5/CSGO/21.png.REMOVED.git-id b/image/TS5/CSGO/21.png.REMOVED.git-id deleted file mode 100644 index 9791b72..0000000 --- a/image/TS5/CSGO/21.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -c8e9e0294caf0deb178cf0992d03ef03da068f65 \ No newline at end of file diff --git a/image/TS5/CSGO/22.png.REMOVED.git-id b/image/TS5/CSGO/22.png.REMOVED.git-id deleted file mode 100644 index 6da54c4..0000000 --- a/image/TS5/CSGO/22.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5b451f941de00eeaf2fba4368015253d03918b94 \ No newline at end of file diff --git a/image/TS5/CSGO/23.png.REMOVED.git-id b/image/TS5/CSGO/23.png.REMOVED.git-id deleted file mode 100644 index 842ebcc..0000000 --- a/image/TS5/CSGO/23.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -4248fe7ed61d61066d23baf4076cd01fc8cbf344 \ No newline at end of file diff --git a/image/TS5/CSGO/24.png.REMOVED.git-id b/image/TS5/CSGO/24.png.REMOVED.git-id deleted file mode 100644 index 59472ae..0000000 --- a/image/TS5/CSGO/24.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -8249f4078857ffa41c843974b07f5192bd674983 \ No newline at end of file diff --git a/image/TS5/CSGO/25.png.REMOVED.git-id b/image/TS5/CSGO/25.png.REMOVED.git-id deleted file mode 100644 index 590c726..0000000 --- a/image/TS5/CSGO/25.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -a16250af80a4745bc25f56266bc02d18db227330 \ No newline at end of file diff --git a/image/TS5/CSGO/26.png.REMOVED.git-id b/image/TS5/CSGO/26.png.REMOVED.git-id deleted file mode 100644 index f02e84b..0000000 --- a/image/TS5/CSGO/26.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -b2e5bf65d337b8ac2cd4165d0cfad53e3f883d1c \ No newline at end of file diff --git a/image/TS5/CSGO/2T.png.REMOVED.git-id b/image/TS5/CSGO/2T.png.REMOVED.git-id deleted file mode 100644 index 6273482..0000000 --- a/image/TS5/CSGO/2T.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -083494fba30193dfb4f9d62b7665668e05319bd7 \ No newline at end of file diff --git a/image/TS5/CSGO/3.png.REMOVED.git-id b/image/TS5/CSGO/3.png.REMOVED.git-id deleted file mode 100644 index 41d9ca1..0000000 --- a/image/TS5/CSGO/3.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -49f2d0cecf5466a1cc01e0cdc8c174e3f7617ebd \ No newline at end of file diff --git a/image/TS5/CSGO/4.png.REMOVED.git-id b/image/TS5/CSGO/4.png.REMOVED.git-id deleted file mode 100644 index 9b2df2e..0000000 --- a/image/TS5/CSGO/4.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -10c19ed620b34fc7d9e4d282988c9af856b74144 \ No newline at end of file diff --git a/image/TS5/CSGO/5.png.REMOVED.git-id b/image/TS5/CSGO/5.png.REMOVED.git-id deleted file mode 100644 index b50f3f8..0000000 --- a/image/TS5/CSGO/5.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -4e56e63dd0275dcfc9da83318bc5391da8fa79c0 \ No newline at end of file diff --git a/image/TS5/CSGO/6.png.REMOVED.git-id b/image/TS5/CSGO/6.png.REMOVED.git-id deleted file mode 100644 index 09eebc2..0000000 --- a/image/TS5/CSGO/6.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -285da7344a1af8f633c7e4b8c9e73db71def9597 \ No newline at end of file diff --git a/image/TS5/CSGO/7.png.REMOVED.git-id b/image/TS5/CSGO/7.png.REMOVED.git-id deleted file mode 100644 index aaec487..0000000 --- a/image/TS5/CSGO/7.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -641052eb98b6a161f80ccab849ef3e0bc485e7a7 \ No newline at end of file diff --git a/image/TS5/CSGO/8.png.REMOVED.git-id b/image/TS5/CSGO/8.png.REMOVED.git-id deleted file mode 100644 index 0ecfbf3..0000000 --- a/image/TS5/CSGO/8.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -41a5f381a6ca3218bcbc970d856412e2f935dbc2 \ No newline at end of file diff --git a/image/TS5/CSGO/9.png.REMOVED.git-id b/image/TS5/CSGO/9.png.REMOVED.git-id deleted file mode 100644 index e819fec..0000000 --- a/image/TS5/CSGO/9.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0f7a3200d1402b881cfaa78953f77b60a0b59393 \ No newline at end of file diff --git a/image/TS5/base.jpeg.REMOVED.git-id b/image/TS5/base.jpeg.REMOVED.git-id deleted file mode 100644 index c0a1d67..0000000 --- a/image/TS5/base.jpeg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -89ec57106d4d62209eed7313dfb96a0a70f8cb94 \ No newline at end of file diff --git a/image/TS5/diss/1.png.REMOVED.git-id b/image/TS5/diss/1.png.REMOVED.git-id deleted file mode 100644 index ed476f7..0000000 --- a/image/TS5/diss/1.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -59d23d045ffc66fc82b6396dbd64fc2de9116b96 \ No newline at end of file diff --git a/image/TS5/diss/10.png.REMOVED.git-id b/image/TS5/diss/10.png.REMOVED.git-id deleted file mode 100644 index 6a0ac00..0000000 --- a/image/TS5/diss/10.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -45418ae29a22b8f387a3ab8f231a4f93bcaa9f39 \ No newline at end of file diff --git a/image/TS5/diss/11.png.REMOVED.git-id b/image/TS5/diss/11.png.REMOVED.git-id deleted file mode 100644 index 3dfccba..0000000 --- a/image/TS5/diss/11.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ab9031ca38f669e44b7d51c92ec54b2e1ac8f357 \ No newline at end of file diff --git a/image/TS5/diss/12.png.REMOVED.git-id b/image/TS5/diss/12.png.REMOVED.git-id deleted file mode 100644 index 92a9b35..0000000 --- a/image/TS5/diss/12.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -9c01c92ee188b0e6655df7b10000eb3105bbc6e9 \ No newline at end of file diff --git a/image/TS5/diss/13.png.REMOVED.git-id b/image/TS5/diss/13.png.REMOVED.git-id deleted file mode 100644 index 30c59f9..0000000 --- a/image/TS5/diss/13.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ed5c740b8a8de358f55786f4e5fc3789b0f24317 \ No newline at end of file diff --git a/image/TS5/diss/14.png.REMOVED.git-id b/image/TS5/diss/14.png.REMOVED.git-id deleted file mode 100644 index 7553723..0000000 --- a/image/TS5/diss/14.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -10a7e920393253715b520a04d3faf1f2fc3e6371 \ No newline at end of file diff --git a/image/TS5/diss/15.png.REMOVED.git-id b/image/TS5/diss/15.png.REMOVED.git-id deleted file mode 100644 index 0aec32b..0000000 --- a/image/TS5/diss/15.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -fd42a7d315149eb06e033c8fb5c209a9bc174c5d \ No newline at end of file diff --git a/image/TS5/diss/16.png.REMOVED.git-id b/image/TS5/diss/16.png.REMOVED.git-id deleted file mode 100644 index 67ad892..0000000 --- a/image/TS5/diss/16.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5bc2ea2f63a56e5d39d2c7bf8ab81dd6cbdd6ef7 \ No newline at end of file diff --git a/image/TS5/diss/2.png.REMOVED.git-id b/image/TS5/diss/2.png.REMOVED.git-id deleted file mode 100644 index 6d73af4..0000000 --- a/image/TS5/diss/2.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -557140c4cf47d6ef6385e3724e09bc00b122f4bf \ No newline at end of file diff --git a/image/TS5/diss/3.png.REMOVED.git-id b/image/TS5/diss/3.png.REMOVED.git-id deleted file mode 100644 index 76aa53d..0000000 --- a/image/TS5/diss/3.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -a4ebd595c390b4598698e4d6dccdb2c9a0dfa5f2 \ No newline at end of file diff --git a/image/TS5/diss/4.png.REMOVED.git-id b/image/TS5/diss/4.png.REMOVED.git-id deleted file mode 100644 index 0021015..0000000 --- a/image/TS5/diss/4.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -c1e12d45c369cfafde7e83a287ea2fc4cca93742 \ No newline at end of file diff --git a/image/TS5/diss/5.png.REMOVED.git-id b/image/TS5/diss/5.png.REMOVED.git-id deleted file mode 100644 index 7451776..0000000 --- a/image/TS5/diss/5.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -7c8c482a6db5a1cc3ee308278663b724e05d5150 \ No newline at end of file diff --git a/image/TS5/diss/6.png.REMOVED.git-id b/image/TS5/diss/6.png.REMOVED.git-id deleted file mode 100644 index 8ce7513..0000000 --- a/image/TS5/diss/6.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -c26eeaeb8e7c65b3b1af4ccc509b5144ae13f3b0 \ No newline at end of file diff --git a/image/TS5/diss/7.png.REMOVED.git-id b/image/TS5/diss/7.png.REMOVED.git-id deleted file mode 100644 index 789dc14..0000000 --- a/image/TS5/diss/7.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -8fa0e7daf032e3f0bb8707331e2aa7773a4ed265 \ No newline at end of file diff --git a/image/TS5/diss/8.png.REMOVED.git-id b/image/TS5/diss/8.png.REMOVED.git-id deleted file mode 100644 index 8deaf83..0000000 --- a/image/TS5/diss/8.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -988be033d175f68c379a66c530b00206339ff584 \ No newline at end of file diff --git a/image/TS5/diss/9.png.REMOVED.git-id b/image/TS5/diss/9.png.REMOVED.git-id deleted file mode 100644 index a48e2e2..0000000 --- a/image/TS5/diss/9.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -038fc90a463a36baa93d5fbdf48f3547cfcf3e28 \ No newline at end of file diff --git a/image/admin.png.REMOVED.git-id b/image/admin.png.REMOVED.git-id deleted file mode 100644 index 1ec06a5..0000000 --- a/image/admin.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -c0058a87741cbc53c8e75c20a23269545a288998 \ No newline at end of file diff --git a/image/banniere.jpg.REMOVED.git-id b/image/banniere.jpg.REMOVED.git-id deleted file mode 100644 index 8719541..0000000 --- a/image/banniere.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ff4548926ce79d8d314afd3b1791e51e6a92b1fa \ No newline at end of file diff --git a/image/csgo.jpg.REMOVED.git-id b/image/csgo.jpg.REMOVED.git-id deleted file mode 100644 index 810fbdb..0000000 --- a/image/csgo.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -d2d2fc95da296962e60e2c1127dcc9df8d493e0c \ No newline at end of file diff --git a/image/csgo1.jpg.REMOVED.git-id b/image/csgo1.jpg.REMOVED.git-id deleted file mode 100644 index 2015e7a..0000000 --- a/image/csgo1.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0fdf65743d3eb00e93559380378d4d134f11a1ba \ No newline at end of file diff --git a/image/csgo2.jpg.REMOVED.git-id b/image/csgo2.jpg.REMOVED.git-id deleted file mode 100644 index 56616d5..0000000 --- a/image/csgo2.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -192e91e1dab49e83a9d128206d67d359c291659e \ No newline at end of file diff --git a/image/csgo3.gif.REMOVED.git-id b/image/csgo3.gif.REMOVED.git-id deleted file mode 100644 index e748d5b..0000000 --- a/image/csgo3.gif.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -1bc74099498868351db101e95dd61afe72350ad9 \ No newline at end of file diff --git a/image/csgo4.gif.REMOVED.git-id b/image/csgo4.gif.REMOVED.git-id deleted file mode 100644 index 0450884..0000000 --- a/image/csgo4.gif.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -19b4dcf4881eb032ec8d38db853e18cf79e31cd6 \ No newline at end of file diff --git a/image/csgo5.gif.REMOVED.git-id b/image/csgo5.gif.REMOVED.git-id deleted file mode 100644 index e3ee0df..0000000 --- a/image/csgo5.gif.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -b3c5f5b7f4e7b44a1712225f8aaaf920ad56e305 \ No newline at end of file diff --git a/image/csgo6.gif.REMOVED.git-id b/image/csgo6.gif.REMOVED.git-id deleted file mode 100644 index dd068f9..0000000 --- a/image/csgo6.gif.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -18eb52b6c9381591b748b51a7bf76d02834b252f \ No newline at end of file diff --git a/image/csgo7.jpg.REMOVED.git-id b/image/csgo7.jpg.REMOVED.git-id deleted file mode 100644 index e87aeab..0000000 --- a/image/csgo7.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ee030b71c9b397f2148243278fe3b007c52e29f0 \ No newline at end of file diff --git a/image/discussion.jpg.REMOVED.git-id b/image/discussion.jpg.REMOVED.git-id deleted file mode 100644 index 33f9e5f..0000000 --- a/image/discussion.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -68845218a27f6dfffcd3e200d363c3d18abfe111 \ No newline at end of file diff --git a/image/fondecran.jpg.REMOVED.git-id b/image/fondecran.jpg.REMOVED.git-id deleted file mode 100644 index 865b6f2..0000000 --- a/image/fondecran.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -2c316937a1ee333a3019eff782e954838780531a \ No newline at end of file diff --git a/image/fortnite.jpg.REMOVED.git-id b/image/fortnite.jpg.REMOVED.git-id deleted file mode 100644 index 3e89ee5..0000000 --- a/image/fortnite.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -5886dd22fcc8f7fb81bdfc045a34ad536f233f9b \ No newline at end of file diff --git a/image/fortnite1.jpg.REMOVED.git-id b/image/fortnite1.jpg.REMOVED.git-id deleted file mode 100644 index bb3cd1f..0000000 --- a/image/fortnite1.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -aec7fed6c6ff665d52f94f48394a8ed11123f11f \ No newline at end of file diff --git a/image/fortnite2.jpg.REMOVED.git-id b/image/fortnite2.jpg.REMOVED.git-id deleted file mode 100644 index 971c7c2..0000000 --- a/image/fortnite2.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -9beefd1b56a82dcb9656e50602e019be866727de \ No newline at end of file diff --git a/image/forum.png.REMOVED.git-id b/image/forum.png.REMOVED.git-id deleted file mode 100644 index 12609f9..0000000 --- a/image/forum.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -a666bed9e8c9acb6808b0803ac5c40b175c15036 \ No newline at end of file diff --git a/image/forum1.png.REMOVED.git-id b/image/forum1.png.REMOVED.git-id deleted file mode 100644 index 0e44d11..0000000 --- a/image/forum1.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -d3cb11040bdba2a35cd1e4fc6cda370a9a36f2b6 \ No newline at end of file diff --git a/image/imageindex.jpg.REMOVED.git-id b/image/imageindex.jpg.REMOVED.git-id deleted file mode 100644 index f7dc37f..0000000 --- a/image/imageindex.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -7d9ef20b9ceef330a5642b644de92ec3675e1501 \ No newline at end of file diff --git a/image/kick.jpg.REMOVED.git-id b/image/kick.jpg.REMOVED.git-id deleted file mode 100644 index 020ba92..0000000 --- a/image/kick.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -e2e24cde0edf79459a18bdcb097bc49321cd8381 \ No newline at end of file diff --git a/image/lac.jpg.REMOVED.git-id b/image/lac.jpg.REMOVED.git-id deleted file mode 100644 index c11523e..0000000 --- a/image/lac.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -d6974fac5977140f257970d0fc37e6a37966b45d \ No newline at end of file diff --git a/image/minecraft.jpg.REMOVED.git-id b/image/minecraft.jpg.REMOVED.git-id deleted file mode 100644 index 6ad0d08..0000000 --- a/image/minecraft.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -138128dc5c22d508a82e032e5ac483c976ad4db3 \ No newline at end of file diff --git a/image/prison.jpg.REMOVED.git-id b/image/prison.jpg.REMOVED.git-id deleted file mode 100644 index 5aed1df..0000000 --- a/image/prison.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -8d4b7312c775892b0191493f76d137654a00f748 \ No newline at end of file diff --git a/image/rainbow.jpg.REMOVED.git-id b/image/rainbow.jpg.REMOVED.git-id deleted file mode 100644 index 3bf4c32..0000000 --- a/image/rainbow.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -f0d9fc6c71d486f6c41a2ba507790f1d3ad46bbc \ No newline at end of file diff --git a/image/reunion.jpg.REMOVED.git-id b/image/reunion.jpg.REMOVED.git-id deleted file mode 100644 index b670fc7..0000000 --- a/image/reunion.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -307e81eb5d6d59631ceb478c281044233dae433c \ No newline at end of file diff --git a/image/rocket_league_1.jpg.REMOVED.git-id b/image/rocket_league_1.jpg.REMOVED.git-id deleted file mode 100644 index c54b1c5..0000000 --- a/image/rocket_league_1.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -bd88aab06f4919a535f172dc134c24ffb16f0a76 \ No newline at end of file diff --git a/image/rocket_league_2.jpg.REMOVED.git-id b/image/rocket_league_2.jpg.REMOVED.git-id deleted file mode 100644 index 46bd0d0..0000000 --- a/image/rocket_league_2.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -1b74e1691fbfd054653144160cdc2242ac8d59ac \ No newline at end of file diff --git a/image/rocket_league_3.jpg.REMOVED.git-id b/image/rocket_league_3.jpg.REMOVED.git-id deleted file mode 100644 index 2eecf5d..0000000 --- a/image/rocket_league_3.jpg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -bd43ce5ca8f255d5d59159225fa4e9aca72a5f18 \ No newline at end of file diff --git a/image/snappurple.png.REMOVED.git-id b/image/snappurple.png.REMOVED.git-id deleted file mode 100644 index 515b585..0000000 --- a/image/snappurple.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -0ada6105f4f2b3fa70200fbc595281478b47e384 \ No newline at end of file diff --git a/image/steam.png.REMOVED.git-id b/image/steam.png.REMOVED.git-id deleted file mode 100644 index 4c0f929..0000000 --- a/image/steam.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -ed9a66fe4e50de2da7db70f06a06e10f5ffc06dc \ No newline at end of file diff --git a/image/tryhard.jpeg.REMOVED.git-id b/image/tryhard.jpeg.REMOVED.git-id deleted file mode 100644 index fcf414a..0000000 --- a/image/tryhard.jpeg.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -6928165d6b505733138d77640d9525f119e989fa \ No newline at end of file diff --git a/image/ts.gif.REMOVED.git-id b/image/ts.gif.REMOVED.git-id deleted file mode 100644 index 5100a0e..0000000 --- a/image/ts.gif.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -c0c92264b4a83fdf59e79939f6246f460be5045c \ No newline at end of file diff --git a/image/twitch.png.REMOVED.git-id b/image/twitch.png.REMOVED.git-id deleted file mode 100644 index 2b4d1a7..0000000 --- a/image/twitch.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -dfb405c1380c5ebe1f885cf96455b36015ba9317 \ No newline at end of file diff --git a/image/youtube.png.REMOVED.git-id b/image/youtube.png.REMOVED.git-id deleted file mode 100644 index 8a1256b..0000000 --- a/image/youtube.png.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -b09f0ebe9cf5542dd471cf521e398b5f716651d6 \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml new file mode 100644 index 0000000..3972a98 --- /dev/null +++ b/sitemap.xml @@ -0,0 +1,590 @@ + + + + + + + https://nessar.fr/ + 2019-02-08T22:19:13+00:00 + 1.00 + + + https://nessar.fr/ts.php + 2019-02-08T22:19:13+00:00 + 0.80 + + + https://nessar.fr/reseaux.php + 2019-02-08T22:19:13+00:00 + 0.80 + + + https://nessar.fr/forum/ + 2019-02-08T22:19:13+00:00 + 0.80 + + + https://nessar.fr/ranksystem/stats/ + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/connexion.php + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/register.php + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/index.php + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=3 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirprofil.php?m=1&action=consulter + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=6&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=2 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=27&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=4 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=28&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=8 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=7&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=10 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirprofil.php?m=4&action=consulter + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=20&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=6 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=12&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=5 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=13&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirforum.php?f=7 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirtopic.php?t=14&page=1 + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/voirprofil.php?m=9&action=consulter + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/forum/memberlist.php + 2019-02-08T22:19:13+00:00 + 0.64 + + + https://nessar.fr/ranksystem/stats/index.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/verify.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/my_stats.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/top_week.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/top_month.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/top_all.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/list_rankup.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/info.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/versions.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/nations.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/ranksystem/stats/platforms.php + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=3 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=9 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=9&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=6 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=5 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=5&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=6 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=8 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=8&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=27 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=24 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=24&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=27 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=26 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=4 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=28 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=29 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=29&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=11 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=11&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=10 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=10&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=21 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=21&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=30 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=30&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=26&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=23 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=23&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=19 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=19&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=18 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=18&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=15 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=15&page=1 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=28 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=8 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=7 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=7 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=20 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=20 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=6 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=12 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=12 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=5 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=13 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=13 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/poster.php?action=nouveautopic&f=7 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirtopic.php?t=14 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=14 + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirprofil.php?m=2&action=consulter + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/voirprofil.php?m=8&action=consulter + 2019-02-08T22:19:13+00:00 + 0.51 + + + https://nessar.fr/forum/notifemail.php?action=add&t=9 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=5 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=5 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=8 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=24 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=26 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=26 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=29 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=29 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=11 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=11 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=10 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=21 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=21 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=30 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=30 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=23 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=23 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=19 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=19 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=18 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/poster.php?action=repondre&t=18 + 2019-02-08T22:19:13+00:00 + 0.41 + + + https://nessar.fr/forum/notifemail.php?action=add&t=15 + 2019-02-08T22:19:13+00:00 + 0.41 + + \ No newline at end of file diff --git a/sitemap.xml.REMOVED.git-id b/sitemap.xml.REMOVED.git-id deleted file mode 100644 index 2a09f1e..0000000 --- a/sitemap.xml.REMOVED.git-id +++ /dev/null @@ -1 +0,0 @@ -3972a9863633df67a77f5088e19cd70756ee71dc \ No newline at end of file