Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- session_start();
- error_reporting(0);
- htmlspecialchars($input); // convertit les caractères spéciaux en entitées html
- // ou
- htmlentities($input);
- // Si vous insérer du contenu dans un base de données, n'oubliez pas :
- addslashes($input); // généralement les hébergeurs l'activent automatiquement
- // ceci afin d'éviter les injections SQL.
- require_once("header_lite.php");
- if ($_SESSION['niveau'] < $niveau_requis)
- {
- if ($_SESSION['logged'] == 0)
- {
- echo "
- <h3><center><b>Vous devez etre connecté pour acceder a cette partie !</center></b></h3>
- <center><form action=\"connexion.php?action=connexion\" method=\"post\">
- <b>LOGIN :</b></font><br /><input type=\"text\" name=\"pseudo\"><br />
- <b>PASSWORD :</b></font><br <input type=\"password\" name=\"pass\"><br /><br />
- <input type=\"submit\" value=\"Connexion\" name=\"connexion\" ></center>";
- }
- elseif ($_SESSION['niveau'] < $niveau_requis)
- {
- echo "
- <h3><center><b>Vous n'etes pas autorisé à acceder a cette partie.<br></center></b></h3>
- <center>Vous alez etre redirigé dans 5 secondes.</center>
- <meta http-equiv=\"refresh\" content=\"5;url=membre.php\" />";
- }
- else
- {
- echo "
- <h3><center><b>Une erreur est survenue merci de la signaler au WebMaster</center></b></h3>
- <center><a href=\"membre.php\">Retour</a></center>
- <center>Vous alez etre redirigé dans 5 secondes.</center>
- <meta http-equiv=\"refresh\" content=\"5;url=membre.php\" />";
- }
- }
- else
- {
- include ('menu.php');
- ?>
- <?php
- mysql_select_db($realmd,$connexion);
- switch ($_GET['action'])
- {
- case "ajouter":
- echo "<p class=\"title\"><h2><u><center>Créer un compte :</u></center></h2></p>
- <p>
- <form action=\"compte.php?module=compte&action=add\" method=\"POST\">
- <table border=\"0\">
- <tr>
- <td align=\"left\">Nom du compte:</td>
- <td align=\"left\"><input type=\"text\" name=\"username\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Mot de passe:</td>
- <td align=\"left\"><input type=\"text\" name=\"password\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Confirmer:</td>
- <td align=\"left\"><input type=\"text\" name=\"conf_pass\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Adresse E-mail</td>
- <td align=\"left\"><input type=\"text\" name=\"email\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Niveau de compte:</td>
- <td align=\"left\">
- <SELECT NAME=\"gmlevel\">
- <option SELECTED value=\"0\">0 - Joueur</option>
- <option value=\"1\">1 - Modérateur</option>
- <option value=\"2\">2 - Maitre du jeu</option>
- <option value=\"3\">3 - Traqueur de Bugs</option>
- <option value=\"4\">4 - Administrateur</option>
- <option value=\"5\">5 - Opérateur Système</option>
- </SELECT>
- </td>
- </tr>
- <tr>
- <td align=\"left\">Bloqué</td>
- <td align=\"left\">
- <SELECT NAME=\"locked\">
- <option SELECTED value=\"0\">Non Bloqué</option>
- <option value=\"1\">Bloqué</option>
- </SELECT>
- </td>
- </tr>
- </table>
- <br />
- <table>
- <tr>
- <td align=\"left\"<a href='javascript:history.go(-1)'>Retour</a><input type=\"submit\" value=\"créer\"></td>
- </tr>
- </table>
- </form>
- </p>";
- break;
- case "add":
- include ('../kernel/config.php');
- $username = mysql_real_escape_string(htmlspecialchars($_POST['username']));
- $password = mysql_real_escape_string(htmlspecialchars($_POST['password']));
- $conf_pass = mysql_real_escape_string(htmlspecialchars($_POST['conf_pass']));
- $email = mysql_real_escape_string(htmlspecialchars($_POST['email']));
- $gmlevel = $_POST['gmlevel'];
- $locked = $_POST['locked'];
- $date = date("Y-m-d G:i:s");
- //verifie si le username existe déjà
- mysql_select_db($realmd,$connexion);
- $reponse = mysql_query("SELECT COUNT(*) AS nombre FROM account WHERE username='$username'") or die(mysql_error());
- $donnees = mysql_fetch_array($reponse);
- mysql_close();
- $test = $donnees['nombre'];
- if ($test == 0)
- {
- include ('../kernel/config.php');
- //verifie si l email existe déjà
- mysql_select_db($realmd,$connexion);
- $reponse2 = mysql_query("SELECT COUNT(*) AS nombre FROM account WHERE email='$email'") or die(mysql_error());
- $donnees2 = mysql_fetch_array($reponse2);
- mysql_close();
- $test2 = $donnees2['nombre'];
- if ($test2 >= $compte_mail)
- {
- echo "Vous avez atteint le nombre maximal de compte par adresse email.<br />";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- else
- {
- if (isset($password) and ($conf_pass)) // Si les variables existent
- {
- if ($password == $conf_pass)
- {
- if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$email))
- {
- echo "L'adresse e-mail n'est pas correcte !!!";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- else
- {
- include ('../kernel/config.php');
- mysql_select_db($realmd,$connexion);
- mysql_query("INSERT INTO account (username, sha_pass_hash,gmlevel, email, joindate, locked, tbc) VALUES ('$username',SHA1(CONCAT(UPPER('$username'),':',UPPER('$password'))),'$gmlevel','$email','$date','$locked','1')") or die(mysql_error());
- mysql_close();
- echo "
- <p class=\"titre\">Votre compte a bien été créé !</p>
- Récapitulatif:<br />
- Utilisateur: $username<br />
- Mot de passe: $password<br />
- Adresse email: $email<br />";
- echo "<br /><a href='javascript:history.go(-2)'>Retour</a>";
- }
- }
- else
- {
- echo "Le mot de passe et la confirmation de sont pas identique !";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- }
- else
- {
- echo "le mot de passe est obligatoire !";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- }
- }
- else
- {
- echo "Ce nom utilisateur existe déjà !!!";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- break;
- case "supprimer":
- $get = $_GET['id'];
- $reponse = mysql_query("SELECT * FROM account WHERE id='$get'") or die(mysql_error());
- echo "<p class=\"title\">Ete-vous sur de vouloir supprimer la news ?</p>";
- while ($donnees = mysql_fetch_row($reponse))
- {
- echo "$donnees[1]<br /><br />";
- $id = "$donnees[0]";
- echo "<form action=\"compte.php?module=compte&action=del\" method=\"POST\"><input type=\"hidden\" name=\"id\" value='$id'><input type=\"submit\" name=\"del\" value=\"Oui\"></form>";
- echo "<a href='javascript:history.go(-1)'>Retour</a>";
- }
- break;
- case "del":
- $post = $_POST['id'];
- if (isset($post)) // Si les variables existent
- {
- if ($post != NULL) // Si on a quelque chose à enregistrer
- {
- mysql_query("DELETE FROM account WHERE id='$post'") or die("Erreur de suppression");
- // On se déconnecte de MySQL
- echo "<p>La news a été supprimé !</p>";
- echo "<a href='javascript:history.go(-2)'>Retour</a>";
- }
- else //Si il y a rien à supprimer
- {
- echo "<p>Erreur !!!</b></p>";
- echo "<a href='javascript:history.go(-1)'>Retour</a>";
- }
- }
- else //Si les variables n'existent pas
- {
- echo "<p>ERREUR!!!</b></p>";
- echo "<a href='javascript:history.go(-1)'>Retour</a>";
- }
- break;
- case "editer":
- $post = $_GET['id'];
- $sql="SELECT * FROM account WHERE id='$post'";
- $resultat=mysql_query($sql) or die ("Erreur requette SQL");
- $info=mysql_fetch_array($resultat);
- echo "<p class=\"title\"><h2><center><u>Editer le compte</u></center></p>
- <p>
- <center><form action=\"compte.php?module=compte&action=modi\" method=\"POST\">
- <table border=\"0\">
- <tr>
- <td align=\"left\">ID:</td>
- <td align=\"left\"><input readonly type=\"text\" name=\"id\" value=\"".$info["id"]." \"size=\"6\"></td>
- </tr>
- <tr>
- <td align=\"left\">Nom du compte:</td>
- <td align=\"left\"><input type=\"text\" name=\"username\" value=\"".$info["username"]."\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Mot de passe:</td>
- <td align=\"left\"><input type=\"text\" name=\"new_pass\" value=\"******\" size=\"50\" maxsize=\"40\"></td>
- </tr>
- <tr>
- <td align=\"left\">Adresse E-mail:</td>
- <td align=\"left\"><input type=\"text\" name=\"mail\" value=\"".$info["email"]."\" size=\"50\" maxsize=\"50\"></td>
- </tr>
- <tr>
- <td align=\"left\">Date d'inscription:</td>
- <td align=\"left\">".$info["joindate"]."</td>
- </tr>
- <tr>
- <td align=\"left\">Bannis:</td>
- <td align=\"left\">
- <SELECT NAME=\"banned\">
- <option value=\"0\">Bannis</option>
- <option value=\"1\">Non bannis</option>";
- $SQLt = "SELECT count(*) AS ban FROM account_banned WHERE id='$post'";
- $resultt = mysql_query($SQLt) or die("Erreur SQL");
- $valt = mysql_fetch_array($resultt);
- $ban = $valt['ban'];
- $SQL = "SELECT * FROM account_banned WHERE id='$post'";
- $result = mysql_query($SQL) or die("Erreur SQL");
- $val = mysql_fetch_array($result);
- echo "<OPTION SELECTED VALUE='$ban'>";
- if ($ban == 0)
- {
- echo "Non bannis</option></SELECT>";
- }
- else
- {
- echo "Bannis </option></SELECT><br />le: ".date('d-m-Y G:i', $val["bandate"])."<br />jusqu'au: ".date('d-m-Y G:i', $val["bandate"])."<br />par ".$val["bannedby"]."";
- }
- echo "</td>
- </tr>
- <tr>
- <td align=\"left\">Dernière IP:</td>
- <td align=\"left\">".$info["last_ip"]."</td>
- </tr>
- <tr>
- <td align=\"left\">Niveau de compte:</td>
- <td align=\"left\">
- <SELECT NAME=\"gmlevel\">
- <option SELECTED value=\"0\">0 - Joueur</option>
- <option value=\"1\">1 - Modérateur</option>
- <option value=\"2\">2 - Maitre du jeu</option>
- <option value=\"3\">3 - Traqueur de Bugs</option>
- <option value=\"4\">4 - Administrateur</option>
- <option value=\"5\">5 - Opérateur Système</option>";
- $SQLt = "SELECT * FROM account WHERE id='$post'";
- $resultt = mysql_query($SQLt) or die("Erreur SQL");
- $valt = mysql_fetch_array($resultt);
- echo "<OPTION SELECTED VALUE='".$valt["gmlevel"]."'>";
- if ($valt["gmlevel"] == 0){ echo "0 - Joueur";}
- elseif($valt["gmlevel"] == 1){ echo "1 - Modérateur";}
- elseif($valt["gmlevel"] == 2){ echo "2 - Maitre du jeu";}
- elseif($valt["gmlevel"] == 3){ echo "3 - Traqueur de Bugs";}
- elseif($valt["gmlevel"] == 4){ echo "4 - Administrateur";}
- else{ echo "5 - Opérateur Système";}
- echo "</option>
- </SELECT>
- </td>
- </tr>
- <tr>
- <td align=\"left\">Connexions échouées:</td>
- <td align=\"left\"><input type=\"text\" name=\"failedlog\" value=\"".$info["failed_logins"]."\" size=\"6\"></td>
- </tr>
- <tr>
- <td align=\"left\">Bloqué:</td>
- <td align=\"left\">
- <SELECT NAME=\"locked\">
- <option value=\"0\">Non bloqué</option>
- <option value=\"1\">Bloqué</option>";
- $SQLt = "SELECT * FROM account WHERE id='$post'";
- $resultt = mysql_query($SQLt) or die("Erreur SQL");
- $valt = mysql_fetch_array($resultt);
- echo "<OPTION SELECTED VALUE='".$valt["locked"]."'>";
- if ($valt["locked"] == 0){ echo "Non bloqué";}else{ echo "Bloqué";}
- echo "</option>
- </SELECT>
- </td>
- </tr>
- <tr>
- <td align=\"left\">Dernière connexion:</td>
- <td align=\"left\">".$info["last_login"]."</td>
- </tr>
- <tr>
- <td align=\"left\">En ligne:</td>";
- $onlinet = mysql_query("SELECT * FROM account WHERE id = $post") or die(mysql_error());
- $online = mysql_fetch_array($onlinet,MYSQL_ASSOC);
- if ($online['online'] == 1){$ol="OUI";}
- else{$ol="NON";}
- echo "<td align=\"left\">$ol</td>
- </tr>";
- $nbt = mysql_query("SELECT SUM(numchars) AS total FROM realmcharacters WHERE acctid = '$post'") or die(mysql_error());
- $nbtot = mysql_fetch_array($nbt,MYSQL_ASSOC);
- mysql_select_db($characters,$connexion);
- $nbr = mysql_query("SELECT count(*) AS totalr FROM `characters` WHERE account = $post") or die(mysql_error());
- $nbtotr = mysql_fetch_array($nbr,MYSQL_ASSOC);
- echo "<tr>
- <td align=\"left\">Nombre total de personnages:</td>
- <td align=\"left\">$nbtot[total]</td>
- </tr>
- <tr>
- <td align=\"left\">Personnages dans ce royaume:</td>
- <td align=\"left\">$nbtotr[totalr]</td>
- </tr>
- </table>
- <p>Liste des personnages :<br />";
- mysql_select_db($characters,$connexion);
- $test = mysql_query("SELECT * FROM characters WHERE account=$post ORDER BY name ") or die(mysql_error());
- while ($donnees = mysql_fetch_array($test,MYSQL_ASSOC) )
- {
- $perso = $donnees['name'];
- $level = explode(' ',$donnees['data']);
- $niveau = $level[34];
- $race = $donnees['race'];
- $class = $donnees['class'];
- echo "<a href=\"../armurerie-select.php?perso=$perso\">$perso - ";
- nomrace($race);
- echo " ";
- nomclass($class);
- echo " | lvl $niveau</a><br />";
- }
- echo "</p><br /><table>
- <tr>
- <td align=\"left\"><a href='javascript:history.go(-1)'>Retour</a> <input type=\"submit\" value=\"Modifier\"></td>
- </tr>
- </table>
- </form></center>
- </p>";
- break;
- case "modi":
- $id = $_POST['id'];
- $username = trim(htmlspecialchars($_POST['username']));
- $password = $_POST['new_pass'];
- $mail = $_POST['mail'];
- $banned = $_POST['banned'];
- $gmlevel = $_POST['gmlevel'];
- $failedlog = $_POST['failedlog'];
- $locked = $_POST['locked'];
- //si sha_pass_hash = 1 donc username et newpass sont se actuellement.
- $sql2 = "SELECT * FROM account WHERE username='$username' AND sha_pass_hash=SHA1(CONCAT(UPPER('$username'),':',UPPER('$password')))";
- $reponse2 = mysql_query($sql2) or die (mysql_error());
- $sha_pass_hash = mysql_num_rows($reponse2);
- if ($password == "******" OR $password == "" OR $sha_pass_hash == 1)
- {
- // NE MODIFIE PAS LE MDP
- $requete = "UPDATE account SET username='$username',gmlevel='$gmlevel',email='$mail',failed_logins='$failedlog',locked='$locked' WHERE id='$id'";
- $msg = "Les informations du compte ont bien été modifiées !";
- }
- else
- {
- // MODIFIE LE MDP
- $requete = "UPDATE account SET username='$username',sha_pass_hash=SHA1(CONCAT(UPPER('$username'),':',UPPER('$password'))),gmlevel='$gmlevel',email='$mail',failed_logins='$failedlog',locked='$locked' WHERE id='$id'";
- $msg = "Le mot de passe ainsi que les informations du compte ont bien été modifiées !";
- }
- if (!eregi("^[0-9a-z]([-_.]?[0-9a-z])*@[0-9a-z]([-_.]?[0-9a-z])*\\.[a-z]{2,4}$",$mail))
- {
- echo "L'adresse e-mail n'est pas correcte !!!";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- else
- {
- if (!is_numeric($failedlog))
- {
- echo "Le nombre de connexions échouées doit etre composé de chiffre uniquement !";
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- else
- {
- mysql_query($requete) or die(mysql_error());
- echo $msg;
- echo "<br /><a href='javascript:history.go(-1)'>Retour</a>";
- }
- }
- break;
- default:
- $ParPage=30; //Nous allons afficher 5 messages par page.
- //Une connexion SQL doit être ouverte avant cette ligne...
- $retour_total=mysql_query('SELECT COUNT(*) AS total FROM account'); //Nous récupérons le contenu de la requête dans $retour_total
- $donnees_total=mysql_fetch_assoc($retour_total); //On range retour sous la forme d'un tableau.
- $total=$donnees_total['total']; //On récupère le total pour le placer dans la variable $total.
- //Nous allons maintenant compter le nombre de pages.
- $nombreDePages=ceil($total/$ParPage);
- if(isset($_GET['page'])) // Si la variable $_GET['page'] existe...
- {
- $pageActuelle=intval($_GET['page']);
- if($pageActuelle>$nombreDePages) // Si la valeur de $pageActuelle (le numéro de la page) est plus grande que $nombreDePages...
- {
- $pageActuelle=$nombreDePages;
- }
- }
- else // Sinon
- {
- $pageActuelle=1; // La page actuelle est la n°1
- }
- $premiereEntree=($pageActuelle-1)*$ParPage; // On calcul la première entrée à lire
- $retour_messages = mysql_query('SELECT * FROM account ORDER BY username ASC LIMIT '.$premiereEntree.', '.$ParPage.'');
- echo "<p class=\"title\"><h2><center><u>Gestion des comptes :</center></u></h2></p>";
- //Aperçu
- echo "<center><table width=\"60%\" style='border-collapse: collapse'; width='100%' border='1' cellspacing='1' cellpadding='1'>
- <tr>
- <th><a href='compte.php?module=compte&action=ajouter'><img src='../images/add.png' /></a></th>
- <th></th>
- <th>id</th>
- <th>Compte</th>
- <th>E-mail</th>
- <th>Inscrit le</th>
- <th>dernier ip</th>
- <th>dernier conn</th>
- </tr>";
- while($donnees = mysql_fetch_assoc($retour_messages))
- {
- $id = $donnees['id'];
- echo"<tr><td align=\"center\">";
- echo"<a href=\"compte.php?module=compte&action=supprimer&id=$id\"><img src='../images/delete.gif' /></a>";
- echo"</td><td align=\"center\">";
- echo"<a href=\"compte.php?module=compte&action=editer&id=$id\"><img src='../images/edit.png' /></a>";
- echo"</td><td align=\"center\">";
- echo $donnees['id'];
- echo"</td><td align=\"center\">";
- echo $donnees['username'];
- echo"</td><td align=\"center\">";
- echo $donnees['email'];
- echo"</td><td align=\"center\">";
- echo $donnees['joindate'];
- echo"</td><td align=\"center\">";
- echo $donnees['last_ip'];
- echo"</td><td align=\"center\">";
- echo $donnees['last_login'];
- echo"</td>";
- echo"</tr>";
- }
- echo "<tr><td class='milieu'><a href='compte.php?module=compte&action=ajouter'><img src='../images/add.png' /></a></td>
- <td></td><td></td><td></td><td></td><td></td><td></td><td></td></tr>";
- echo "</table><br /></center>";
- $max_pg = ceil($total / $ParPage); //le nombre de page maximum...en partant de 1
- $page_test = $_GET['page']; //la page que je suis rendu actuellement dans l;'affichage
- $nb = 9; //le nombre de résultats pour l'affichage TOUJOUR UN NOMBRE IMPERE.
- $nbm = ( $nb - 1 ) / 2;
- if (empty($page_test))
- {
- $page = 1;
- }
- else
- {
- $page = $page_test;
- }
- if ($max_pg == 1)
- {
- echo "Page 1 sur 1";
- }
- else
- {
- echo "<p><font size=\"-1\">Pages ".$page." sur ".($max_pg)."</font><br />";
- if ($nb > $max_pg) // Si moin de page que le nombre de résultats pour l'affichage
- {
- echo ($page !=1 ) ? '<a href="compte.php?module=compte&page='.($page-1).'"><-- Précédente</a> ' : '';
- for($i = 1 ; $i < $max_pg+1 ; $i++)
- {
- if($i == $page)
- {
- echo ' <b><a>'.$i.'</a></b>';
- }
- else
- {
- echo ' <a href="compte.php?module=compte&page='.$i.'">'.$i.'</a>';
- }
- }
- echo ($page != $max_pg ) ? ' <a href="compte.php?module=compte&page='.($page+1).'">Suivante --></a>' : '';
- }
- elseif ($page <= $nbm) // les premieres pages
- {
- echo ($page !=1 ) ? '<a href="compte.php?module=compte&page='.($page-1).'"><-- Précédente</a> ' : '';
- for($i = 1 ; $i < $nb+1 ; $i++)
- {
- if($i == $page)
- {
- echo ' <b><a>'.$i.'</a></b>';
- }
- else
- {
- echo ' <a href="compte.php?module=compte&page='.$i.'">'.$i.'</a>';
- }
- }
- echo " ...<a href=\"compte.php?module=compte&page=".($max_pg)."\">".($max_pg)."</a>";
- echo ($page != $max_pg ) ? ' <a href="compte.php?module=compte&page='.($page+1).'">Suivante --></a>' : '';
- }
- elseif ($page >= $max_pg - $nbm) // les dernieres pages
- {
- echo ($page !=1 ) ? '<a href="compte.php?module=compte&page='.($page-1).'"><-- Précédente</a> ' : '';
- echo '<a href="compte.php?module=compte&page=1">1</a>... ';
- for($i = $max_pg-($nb-1) ; $i < $max_pg+1 ; $i++)
- {
- if($i == $page)
- {
- echo ' <b><a>'.$i.'</a></b>';
- }
- else
- {
- echo ' <a href="compte.php?module=compte&page='.$i.'">'.$i.'</a>';
- }
- }
- echo ($page != $max_pg ) ? ' <a href="compte.php?module=compte&page='.($page+1).'">Suivante --></a>' : '';
- }
- else // les autres pages
- {
- echo ($page !=1 ) ? '<a href="compte.php?module=compte&page='.($page-1).'"><-- Précédente</a> ' : '';
- echo '<a href="compte.php?module=compte&page=1">1</a>... ';
- for($i = 1 ; $i < $nbm+1 ; $i++)
- {
- $i_page = $page - ($nbm+1) + $i;
- echo ' <a href="compte.php?module=compte&page='.$i_page.'">'.$i_page.'</a>';
- }
- echo ' <b><a>'.$page.'</a></b>';
- for($i = 1 ; $i < $nbm+1 ; $i++)
- {
- $i_page = $page + $i;
- echo ' <a href="compte.php?module=compte&page='.$i_page.'">'.$i_page.'</a>';
- }
- echo " ...<a href=\"compte.php?module=compte&page=".($max_pg)."\">".($max_pg)."</a>";
- echo ($page != $max_pg-1 ) ? ' <a href="compte.php?module=compte&page='.($page+1).'">Suivante --></a>' : '';
- }
- }
- break;
- }
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement