Guest User

Untitled

a guest
Oct 5th, 2018
239
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 7.44 KB | None | 0 0
  1. <?php
  2. class Members {
  3.  
  4.     private static $_instance = null;
  5.        
  6.         public static function getInstance() {
  7.      
  8.          if(is_null(self::$_instance)) {
  9.            self::$_instance = new members();  
  10.          }
  11.      
  12.          return self::$_instance;
  13.     }
  14.    
  15.    
  16.     public function logout($redirect) {
  17.         session_destroy();
  18.         header('location: ' . $redirect . '');
  19.     }
  20.    
  21.     public function getMembers($format=null,$id=null,$order = 'username') {
  22.         if($id == null){
  23.            $sql = 'SELECT id,username,email,money,ip,lastlogin FROM members ORDER by ' . $order . '';
  24.         }
  25.         else{
  26.            $sql = 'SELECT id,username,email,money,ip,lastlogin,is_admin FROM members WHERE id="' . $id . '" ORDER by ' . $order . '';
  27.         }
  28.         try {
  29.             $req = DB::getInstance()->query($sql);
  30.             if($format == 'tableau') {
  31.             $Query = new MinecraftQuery();
  32.             $Query->Connect( 'localhost', 25565, 1 );
  33.             $online = $Query->GetPlayers();
  34.                 while ($d = $req->fetch(PDO::FETCH_OBJ))
  35.                 {
  36.                     if ($online== true && in_array($d->username, $online)){$connected = 'class="connected"';}else{$connected = null;}
  37.                     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>';
  38.                 }
  39.             }
  40.             elseif($format == "form"){
  41.                 $d = $req->fetch(PDO::FETCH_OBJ);
  42.                 if($d->is_admin == 1) { $if_admin = 'checked="checked"'; } else { $if_admin = null; }
  43.                 echo'<div id="article"><form method="post" action="index.php?p=members&action=update" id="article-form" enctype="multipart/form-data">
  44.                            <input name="id" type="hidden" value="' . $d->id . '">
  45.                            <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>
  46.                            <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>
  47.                            <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>
  48.                            <p>L\'adresse IP du joueur n\'est pas modifiable, mais elle est néanmoins consultable: ' . $d->ip . '</p>
  49.                            <p>Le joueur s\'est connecté pour la dernière fois sur le serveur minecraft le: ' . $d->lastlogin . '</p>
  50.                            <div class="iOS">
  51.                 <ul>
  52.                     <li><input type="checkbox" name="admin" id="case_wrapper" ' . $if_admin . ' /><label for="case_wrapper">Administrateur</label></li>
  53.                 </ul>
  54.                     </div>
  55.                    <input id="save" type="submit" value="Sauvegarder"></form></div>';
  56.             }
  57.             elseif($format == "form-empty") {
  58.             echo'<div id="article"><form method="post" action="index.php?p=members&action=insert" id="article-form" enctype="multipart/form-data">
  59.                   <input name="id" type="hidden">
  60.                    <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>
  61.                    <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>
  62.                    <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>
  63.                    <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>
  64.                    <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>
  65.                    <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>
  66.                
  67.                    <div class="iOS">
  68.                 <ul>
  69.                     <li><input type="checkbox" name="admin" id="case_wrapper" /><label for="case_wrapper">Administrateur </li></label>
  70.                 </ul>
  71.                     </div>
  72.                
  73.                 <input id="save" type="submit" value="Sauvegarder" /> </form></div>'
  74.                    ;
  75.             }
  76.         }
  77.         catch (PDOException $e){
  78.            echo 'Erreur 102: '.$e->getMessage();
  79.         }
  80.     }
  81.    
  82.    public function modifMember(){
  83.     if($_POST['username'] != NULL && $_POST['email'] != NULL) {
  84.        extract($_POST);
  85.        if(isset($_POST['admin'])) { $admin = 1; } else { $admin = 0; }
  86.        $username = addSlashes($username);
  87.        $email = addSlashes($email);
  88.        $money = addSlashes($money);
  89.        $sql = 'UPDATE members SET username="' . $username . '", email="' . $email . '", money="' . $money . '", is_admin="' . $admin . '" WHERE id="' . $id . '"';
  90.        try {
  91.        $req = DB::getInstance()->query($sql);
  92.        header("Location: index.php?p=members");
  93.        }
  94.        catch (PDOException $e){
  95.            echo 'Erreur 102: '.$e->getMessage();
  96.        }
  97.     }
  98.    }
  99.    
  100.    public function addMember(){
  101.     if($_POST['login'] != NULL && $_POST['email'] != NULL && $_POST['email'] == $_POST['email2'] && $_POST['password'] != NULL && $_POST['password'] == $_POST['password2']) {
  102.         extract($_POST);
  103.         $nbr_login = strlen($login);
  104.         $nbr_password = strlen($password);
  105.                
  106.         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
  107.             $passSha = new password();
  108.             $password = $passSha->getPassword($password);
  109.             if(isset($_POST['admin'])) { $admin = 1; } else { $admin = 0; }
  110.             $login = addSlashes($login);
  111.             $email = addSlashes($email);
  112.             $money = addSlashes($money);
  113.                
  114.                    
  115.             $sql = 'INSERT INTO members SET username="' . $login . '", password="' . $password . '", email="' . $email . '", money="' . $money . '", is_admin="' . $admin . '"';
  116.                try{
  117.                DB::getInstance()->query($sql);
  118.                        header('Location: index.php?p=members');
  119.                }
  120.                catch(PDOException $e){
  121.                 echo 'Erreur 102: '.$e->getMessage();
  122.                }
  123.         }
  124.         else { return 'Votre Nom d\'utilisateur ou mot de passe doit etre compris entre 4 et 20 caractères'; }
  125.     }
  126.     else { return 'Vous devez remplir tout les champs du formulaire'; }
  127.    }   
  128.    
  129.    public function deleteMember($id){
  130.        $sql = 'DELETE FROM members WHERE id=' . $id . '';
  131.        try {
  132.        $req = DB::getInstance()->query($sql);
  133.        }
  134.        catch (PDOException $e){
  135.            echo 'Erreur 102: '.$e->getMessage();
  136.        }
  137.        header('Location:index.php?p=members');
  138.    }
  139.    
  140.     public function onlyAdmin() {
  141.         if(!isset($_SESSION['admin'])) {
  142.             header('Location: ../index.php');
  143.         }
  144.     }
  145.    
  146.     public function search($search) {
  147.         $rech=$_GET["rech"];
  148.         $sql = 'SELECT id,username FROM members WHERE username LIKE "%'.$rech.'%"';
  149.         $req = DB::getInstance()->query($sql);
  150.         $i=1;
  151.         $result = null;
  152.         $players = new players();
  153.         while($d = $req->fetch(PDO::FETCH_OBJ)){
  154.             $result .= '<tr><td><a href="index.php?p=members&action=modif&id=' . $d->id . '">' . $d->username . '</a></td></tr>';
  155.             $i++;
  156.         }
  157.         return $result;
  158.     }
  159.    
  160. }
Add Comment
Please, Sign In to add comment