Advertisement
Guest User

Untitled

a guest
May 20th, 2017
113
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 5.60 KB | None | 0 0
  1. <?php
  2. try {
  3. $dbname = "gta5_gamemode_essential";
  4. $username = "root";
  5. $password = "XXXX";
  6. $pdo = new PDO("mysql:host=163.172.84.71;dbname=". $dbname, $username, $password);
  7. $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
  8. $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
  9. }
  10.  
  11. catch (Exception $e)
  12. {
  13.         die('Erreur : ' . $e->getMessage());
  14. }
  15. session_start();
  16. if (isset($_SESSION['success'])) {
  17.     $serverinfo = array
  18.         (
  19.         array("0","Serveur principal","163.172.84.71","30120","piedleu"),
  20.         array("1","Serveur 2","154.49.213.96","30120","piedleu"),
  21.         array("2","Serveur de dev","163.172.84.71","30122","piedleu")
  22.         );
  23.  
  24.     $kickmessage = "Vous avez été kick. Ts: ts3.dreamrp.fr";
  25.     $banmessage = "Vous avez été banni. Ts: ts3.dreamrp.fr";
  26.  
  27.     // DO YOUR LOGIN PROTECTION HERE
  28.  
  29.  
  30.  
  31.     require("./rcon/q3query.class.php");
  32.     if (isset($_GET['action'])) {
  33.         $action = $_GET['action'];
  34.         $user_id = $_GET['uid'];
  35.         $player_ipsteam3 = $_GET['uid2'];
  36.         $server_id = $_GET['sid'];
  37.         $player_name = $_GET['name'];
  38.  
  39.         if($action == "kick") {
  40.                    
  41.             foreach ($serverinfo as $server) {
  42.                 if($server['0'] == $server_id){
  43.                    
  44.                     $con = new q3query($server['2'], $server['3'], $success);
  45.                     if (!$success) {
  46.                         die ("Error during connection");
  47.                     }
  48.                     $con->setRconpassword($server['4']);
  49.                     $con->rcon("clientkick $user_id $kickmessage");
  50.                     echo "You successfully should have kicked the user with ID $user_id. Redirect after 3 seconds.";
  51.                     header( "refresh:3;url=manager.php" );
  52.                     die();
  53.                 }      
  54.             }
  55.         } else if ($action == "ban") {
  56.             foreach ($serverinfo as $server) {
  57.                 if($server['0'] == $server_id){
  58.                     $con = new q3query($server['2'], $server['3'], $success);
  59.                     if (!$success) {
  60.                         die ("Error during connection");
  61.                     }
  62.                     $player_ipsteam3 = "steam:".$player_ipsteam3;
  63.                     $req = $pdo->prepare('INSERT INTO blacklist SET identifier = ?, name = ?');
  64.                     $req->execute([$player_ipsteam3, $player_name]);
  65.                     $con->setRconpassword($server['4']);
  66.                     $con->rcon("clientkick $user_id $banmessage");
  67.                     echo "You successfully should have banned the user with ID $user_id. Redirect after 3 seconds.";
  68.                     header( "refresh:3;url=manager.php" );
  69.                     die();
  70.                 }
  71.             }
  72.         }
  73.     }
  74.     ?>
  75.  
  76.     <!DOCTYPE html>
  77.     <html lang="en">
  78.       <head>
  79.         <meta charset="utf-8">
  80.         <meta http-equiv="X-UA-Compatible" content="IE=edge">
  81.         <meta name="viewport" content="width=device-width, initial-scale=1">
  82.         <meta name="description" content="Status mamanger for fivereborn server">
  83.         <meta name="author" content="Slluxx">
  84.         <title>DreamRP WebManagement</title>
  85.         <link rel="stylesheet" href="https://bootswatch.com/flatly/bootstrap.min.css">
  86.         <style>
  87.         .footer {
  88.           position: absolute;
  89.           bottom: 0;
  90.           width: 100%;
  91.           /* Set the fixed height of the footer here */
  92.           height: 60px;
  93.           line-height: 60px; /* Vertically center the text there */
  94.           background-color: #f5f5f5;
  95.         }
  96.         </style>
  97.       </head>
  98.       <body>
  99.         <div class="container">    
  100.             <div class="row">
  101.                 <div class="col-md-12">
  102.                     <center>
  103.                     <h1>DreamRP Web Management</h1>
  104.                     </center>
  105.                 </div>
  106.                 <h2><a href="players.php">La liste des joueurs et leurs argents</a></h2>
  107.             </div>
  108.             <div class="row">
  109.     <?php      
  110.  
  111.         foreach ($serverinfo as $server) {
  112.             echo "<div class='row'>";  
  113.             echo "<div class='col-md-12'>";
  114.             $con = new q3query($server['2'], $server['3'], $success);
  115.             if (!$success) {
  116.                 die ("Error during connection");
  117.             }
  118.             $con->setRconpassword($server['4']);
  119.        
  120.             $server_players_array=explode("\n",$con->rcon("status"));
  121.             $xpop = array_pop($server_players_array);
  122.             $server_players_total = count($server_players_array);
  123.        
  124.             echo "<h2><b>".$server['1']."</b></h2>";
  125.             echo "<table class='table table-condensed table-bordered'>
  126.                     <thead>
  127.                         <tr>
  128.                             <th>ID</th>
  129.                             <th>Name</th>
  130.                             <th>SteamID</th>
  131.                             <th>IP</th>
  132.                             <th>Ping</th>
  133.                             <th>KICK</th>
  134.                             <th>BAN</th>
  135.                         </tr>
  136.                   </thead>
  137.                   <tbody>";
  138.  
  139.         // Splitting the multiple lines of status command into arrays and split them into arrays seperated by " "
  140.         // the mess is because playernames can have spaces. So we remove every entry before and after name
  141.         // and put the rest together as name string.
  142.         foreach ($server_players_array as $server_player) {
  143.             $playerinfo=explode(" ",$server_player);
  144.             $player_id = array_shift($playerinfo);
  145.             $player_ipsteam = array_shift($playerinfo);
  146.             $player_ipsteam2 = explode(":", $player_ipsteam);
  147.             if($player_ipsteam2[0] == "steam"){
  148.                 $player_ipsteam3 = $player_ipsteam2[1];
  149.             }else{
  150.                 $player_ipsteam3 = "-";
  151.             }
  152.             $player_ping = array_pop($playerinfo);
  153.             $player_ip = array_pop($playerinfo);
  154.             $player_name = implode(" ", $playerinfo);
  155.             echo "<tr>
  156.                     <td>$player_id</td>
  157.                     <td>$player_name</td>
  158.                     <td>$player_ipsteam3</td>
  159.                     <td>$player_ip</td>
  160.                     <td>$player_ping</td>
  161.                     <td><a href='manager.php?action=kick&uid=$player_id&sid=$server[0]' class='btn btn-warning btn-xs'> KICK</a></td>
  162.                     <td><a href='manager.php?action=ban&uid=$player_id&uid2=$player_ipsteam3&name=$player_name&sid=$server[0]' class='btn btn-danger btn-xs'> BAN</a></td></tr>
  163.                   </tr>";                
  164.             }
  165.             echo "</tbody>
  166.             </table><br/><br/>";
  167.        
  168.        
  169.         echo"</div>";
  170.         echo"</div>";
  171.     }
  172.     ?>
  173.             </div>
  174.  
  175.  
  176.         </div><!-- /.container -->
  177.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  178.       </body>
  179.     </html>
  180. <?php
  181. } else {
  182.     echo "<h1 style='color: red;'>Vous n'avez pas accès à cette page !</h1>";
  183. }
  184. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement