Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class Members {
- private static $_instance = null;
- public static function getInstance() {
- if(is_null(self::$_instance)) {
- self::$_instance = new members();
- }
- return self::$_instance;
- }
- public function logout($redirect) {
- session_destroy();
- header('location: ' . $redirect . '');
- }
- public function getMembers($format=null,$id=null,$order = 'username') {
- if($id == null){
- $sql = 'SELECT id,username,email,money,ip,lastlogin FROM members ORDER by ' . $order . '';
- }
- else{
- $sql = 'SELECT id,username,email,money,ip,lastlogin,is_admin FROM members WHERE id="' . $id . '" ORDER by ' . $order . '';
- }
- try {
- $req = DB::getInstance()->query($sql);
- if($format == 'tableau') {
- $Query = new MinecraftQuery();
- $Query->Connect( 'localhost', 25565, 1 );
- $online = $Query->GetPlayers();
- while ($d = $req->fetch(PDO::FETCH_OBJ))
- {
- if ($online== true && in_array($d->username, $online)){$connected = 'class="connected"';}else{$connected = null;}
- echo'<tr id="' . $d->id . '" ' . $connected . '><td>' . $d->username . '</td><td>' . $d->email . '</td><td>' . $d->money . '</td><td>' . $d->lastlogin . '</td><td><a id="' . $d->id . '" title="Editer" class="ic-edit" href="index.php?p=members&action=modif&id=' . $d->id . '">Editer</a> <a title="Supprimer" class="ic-delete" href="index.php?p=members&action=delete&id=' . $d->id . '">Supprimer</a></td></tr>';
- }
- }
- elseif($format == "form"){
- $d = $req->fetch(PDO::FETCH_OBJ);
- if($d->is_admin == 1) { $if_admin = 'checked="checked"'; } else { $if_admin = null; }
- echo'<div id="article"><form method="post" action="index.php?p=members&action=update" id="article-form" enctype="multipart/form-data">
- <input name="id" type="hidden" value="' . $d->id . '">
- <div class="field"><div class="label"><label for="username" >Nom de l\'utilisateur :</label></div><input id="username" name="username" type="text" value="' . $d->username . '"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="email" >Adresse E-mail :</label></div><input id="email" name="email" type="email" value="' . $d->email . '"/><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="money" >Pièces d\'or possedées :</label></div><input id="money" name="money" type="text" value="' . $d->money . '"><div class="clear"></div></div>
- <p>L\'adresse IP du joueur n\'est pas modifiable, mais elle est néanmoins consultable: ' . $d->ip . '</p>
- <p>Le joueur s\'est connecté pour la dernière fois sur le serveur minecraft le: ' . $d->lastlogin . '</p>
- <div class="iOS">
- <ul>
- <li><input type="checkbox" name="admin" id="case_wrapper" ' . $if_admin . ' /><label for="case_wrapper">Administrateur</label></li>
- </ul>
- </div>
- <input id="save" type="submit" value="Sauvegarder"></form></div>';
- }
- elseif($format == "form-empty") {
- echo'<div id="article"><form method="post" action="index.php?p=members&action=insert" id="article-form" enctype="multipart/form-data">
- <input name="id" type="hidden">
- <div class="field"><div class="label"><label for="login" >Nom d\'utilisateur :</label></div><input id="login" name="login" type="text"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="email" >Adresse E-mail de l\'utilisateur :</label></div><input id="email" name="email" type="email"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="email2" >Retapez l\'adresse E-mail de l\'utilisateur :</label></div><input id="email2" name="email2" type="email"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="password" >Mot de passe de l\'utilisateur :</label></div><input id="password" name="password" type="password"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="password2" >Retapez le mot de passe de l\'utilisateur :</label></div><input id="password2" name="password2" type="password"><div class="clear"></div></div>
- <div class="field"><div class="label"><label for="money" >Pièces d\'or de l\'utilisateur :</label></div><input id="money" name="money" type="text"><div class="clear"></div></div>
- <div class="iOS">
- <ul>
- <li><input type="checkbox" name="admin" id="case_wrapper" /><label for="case_wrapper">Administrateur </li></label>
- </ul>
- </div>
- <input id="save" type="submit" value="Sauvegarder" /> </form></div>'
- ;
- }
- }
- catch (PDOException $e){
- echo 'Erreur 102: '.$e->getMessage();
- }
- }
- public function modifMember(){
- if($_POST['username'] != NULL && $_POST['email'] != NULL) {
- extract($_POST);
- if(isset($_POST['admin'])) { $admin = 1; } else { $admin = 0; }
- $username = addSlashes($username);
- $email = addSlashes($email);
- $money = addSlashes($money);
- $sql = 'UPDATE members SET username="' . $username . '", email="' . $email . '", money="' . $money . '", is_admin="' . $admin . '" WHERE id="' . $id . '"';
- try {
- $req = DB::getInstance()->query($sql);
- header("Location: index.php?p=members");
- }
- catch (PDOException $e){
- echo 'Erreur 102: '.$e->getMessage();
- }
- }
- }
- public function addMember(){
- if($_POST['login'] != NULL && $_POST['email'] != NULL && $_POST['email'] == $_POST['email2'] && $_POST['password'] != NULL && $_POST['password'] == $_POST['password2']) {
- extract($_POST);
- $nbr_login = strlen($login);
- $nbr_password = strlen($password);
- if($nbr_login>=4 AND $nbr_login<20 && $nbr_password>4 AND $nbr_password<20) { //on verifie si les login et mot de passe sont de bonnes longueur
- $passSha = new password();
- $password = $passSha->getPassword($password);
- if(isset($_POST['admin'])) { $admin = 1; } else { $admin = 0; }
- $login = addSlashes($login);
- $email = addSlashes($email);
- $money = addSlashes($money);
- $sql = 'INSERT INTO members SET username="' . $login . '", password="' . $password . '", email="' . $email . '", money="' . $money . '", is_admin="' . $admin . '"';
- try{
- DB::getInstance()->query($sql);
- header('Location: index.php?p=members');
- }
- catch(PDOException $e){
- echo 'Erreur 102: '.$e->getMessage();
- }
- }
- else { return 'Votre Nom d\'utilisateur ou mot de passe doit etre compris entre 4 et 20 caractères'; }
- }
- else { return 'Vous devez remplir tout les champs du formulaire'; }
- }
- public function deleteMember($id){
- $sql = 'DELETE FROM members WHERE id=' . $id . '';
- try {
- $req = DB::getInstance()->query($sql);
- }
- catch (PDOException $e){
- echo 'Erreur 102: '.$e->getMessage();
- }
- header('Location:index.php?p=members');
- }
- public function onlyAdmin() {
- if(!isset($_SESSION['admin'])) {
- header('Location: ../index.php');
- }
- }
- public function search($search) {
- $rech=$_GET["rech"];
- $sql = 'SELECT id,username FROM members WHERE username LIKE "%'.$rech.'%"';
- $req = DB::getInstance()->query($sql);
- $i=1;
- $result = null;
- $players = new players();
- while($d = $req->fetch(PDO::FETCH_OBJ)){
- $result .= '<tr><td><a href="index.php?p=members&action=modif&id=' . $d->id . '">' . $d->username . '</a></td></tr>';
- $i++;
- }
- return $result;
- }
- }
Add Comment
Please, Sign In to add comment