Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- try {
- $dbname = "gta5_gamemode_essential";
- $username = "root";
- $password = "XXXX";
- $pdo = new PDO("mysql:host=163.172.84.71;dbname=". $dbname, $username, $password);
- $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
- $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_OBJ);
- }
- catch (Exception $e)
- {
- die('Erreur : ' . $e->getMessage());
- }
- session_start();
- if (isset($_SESSION['success'])) {
- $serverinfo = array
- (
- array("0","Serveur principal","163.172.84.71","30120","piedleu"),
- array("1","Serveur 2","154.49.213.96","30120","piedleu"),
- array("2","Serveur de dev","163.172.84.71","30122","piedleu")
- );
- $kickmessage = "Vous avez été kick. Ts: ts3.dreamrp.fr";
- $banmessage = "Vous avez été banni. Ts: ts3.dreamrp.fr";
- // DO YOUR LOGIN PROTECTION HERE
- require("./rcon/q3query.class.php");
- if (isset($_GET['action'])) {
- $action = $_GET['action'];
- $user_id = $_GET['uid'];
- $player_ipsteam3 = $_GET['uid2'];
- $server_id = $_GET['sid'];
- $player_name = $_GET['name'];
- if($action == "kick") {
- foreach ($serverinfo as $server) {
- if($server['0'] == $server_id){
- $con = new q3query($server['2'], $server['3'], $success);
- if (!$success) {
- die ("Error during connection");
- }
- $con->setRconpassword($server['4']);
- $con->rcon("clientkick $user_id $kickmessage");
- echo "You successfully should have kicked the user with ID $user_id. Redirect after 3 seconds.";
- header( "refresh:3;url=manager.php" );
- die();
- }
- }
- } else if ($action == "ban") {
- foreach ($serverinfo as $server) {
- if($server['0'] == $server_id){
- $con = new q3query($server['2'], $server['3'], $success);
- if (!$success) {
- die ("Error during connection");
- }
- $player_ipsteam3 = "steam:".$player_ipsteam3;
- $req = $pdo->prepare('INSERT INTO blacklist SET identifier = ?, name = ?');
- $req->execute([$player_ipsteam3, $player_name]);
- $con->setRconpassword($server['4']);
- $con->rcon("clientkick $user_id $banmessage");
- echo "You successfully should have banned the user with ID $user_id. Redirect after 3 seconds.";
- header( "refresh:3;url=manager.php" );
- die();
- }
- }
- }
- }
- ?>
- <!DOCTYPE html>
- <html lang="en">
- <head>
- <meta charset="utf-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="Status mamanger for fivereborn server">
- <meta name="author" content="Slluxx">
- <title>DreamRP WebManagement</title>
- <link rel="stylesheet" href="https://bootswatch.com/flatly/bootstrap.min.css">
- <style>
- .footer {
- position: absolute;
- bottom: 0;
- width: 100%;
- /* Set the fixed height of the footer here */
- height: 60px;
- line-height: 60px; /* Vertically center the text there */
- background-color: #f5f5f5;
- }
- </style>
- </head>
- <body>
- <div class="container">
- <div class="row">
- <div class="col-md-12">
- <center>
- <h1>DreamRP Web Management</h1>
- </center>
- </div>
- <h2><a href="players.php">La liste des joueurs et leurs argents</a></h2>
- </div>
- <div class="row">
- <?php
- foreach ($serverinfo as $server) {
- echo "<div class='row'>";
- echo "<div class='col-md-12'>";
- $con = new q3query($server['2'], $server['3'], $success);
- if (!$success) {
- die ("Error during connection");
- }
- $con->setRconpassword($server['4']);
- $server_players_array=explode("\n",$con->rcon("status"));
- $xpop = array_pop($server_players_array);
- $server_players_total = count($server_players_array);
- echo "<h2><b>".$server['1']."</b></h2>";
- echo "<table class='table table-condensed table-bordered'>
- <thead>
- <tr>
- <th>ID</th>
- <th>Name</th>
- <th>SteamID</th>
- <th>IP</th>
- <th>Ping</th>
- <th>KICK</th>
- <th>BAN</th>
- </tr>
- </thead>
- <tbody>";
- // Splitting the multiple lines of status command into arrays and split them into arrays seperated by " "
- // the mess is because playernames can have spaces. So we remove every entry before and after name
- // and put the rest together as name string.
- foreach ($server_players_array as $server_player) {
- $playerinfo=explode(" ",$server_player);
- $player_id = array_shift($playerinfo);
- $player_ipsteam = array_shift($playerinfo);
- $player_ipsteam2 = explode(":", $player_ipsteam);
- if($player_ipsteam2[0] == "steam"){
- $player_ipsteam3 = $player_ipsteam2[1];
- }else{
- $player_ipsteam3 = "-";
- }
- $player_ping = array_pop($playerinfo);
- $player_ip = array_pop($playerinfo);
- $player_name = implode(" ", $playerinfo);
- echo "<tr>
- <td>$player_id</td>
- <td>$player_name</td>
- <td>$player_ipsteam3</td>
- <td>$player_ip</td>
- <td>$player_ping</td>
- <td><a href='manager.php?action=kick&uid=$player_id&sid=$server[0]' class='btn btn-warning btn-xs'> KICK</a></td>
- <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>
- </tr>";
- }
- echo "</tbody>
- </table><br/><br/>";
- echo"</div>";
- echo"</div>";
- }
- ?>
- </div>
- </div><!-- /.container -->
- <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
- </body>
- </html>
- <?php
- } else {
- echo "<h1 style='color: red;'>Vous n'avez pas accès à cette page !</h1>";
- }
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement