From 8e2802052ccde9b383a0ae8bac5d0d4ab1b5f386 Mon Sep 17 00:00:00 2001 From: SilicaAndPina Date: Wed, 7 Jul 2021 02:12:29 +1200 Subject: [PATCH] add playersonline.php --- WebInterface/game-site/account.php | 2 +- WebInterface/game-site/web/crosserver.php | 35 ++++++++++++++++++-- WebInterface/game-site/web/playersonline.php | 33 +++++++++++++++++- WebInterface/master-site/crosserver.php | 35 ++++++++++++++++++-- 4 files changed, 99 insertions(+), 6 deletions(-) diff --git a/WebInterface/game-site/account.php b/WebInterface/game-site/account.php index f1f5a39..ebb215b 100755 --- a/WebInterface/game-site/account.php +++ b/WebInterface/game-site/account.php @@ -145,7 +145,7 @@ function ajaxDone(target) { } function loadplayers() { - ajax('web/playersonline.php?id=588112','PLAYERS'); + window.setTimeout("loadplayers()", 30000); //reload player list every millisecs } window.setTimeout("loadplayers()", 10); ///load player list first time quick diff --git a/WebInterface/game-site/web/crosserver.php b/WebInterface/game-site/web/crosserver.php index 984a444..9918230 100644 --- a/WebInterface/game-site/web/crosserver.php +++ b/WebInterface/game-site/web/crosserver.php @@ -12,7 +12,38 @@ function GenHmacMessage(string $data, string $channel) return $hmac; } -function getNoPlayersOnlineInServer($database) +function getPlayerList($database) +{ + include('config.php'); + $dbname = $database; + $connect = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname) or die("Unable to connect to '$dbhost'"); + $onlineUsers = mysqli_query($connect, "SELECT * FROM OnlineUsers"); + + $users_on = []; + + + while ($row = $onlineUsers->fetch_row()) { + $arr = [ ['id' => $row[0], 'admin' => ($row[1] == 'YES'), 'mod' => ($row[2] == 'YES'), 'subbed' => ($row[3] == 'YES'), 'new' => ($row[4] == 'YES')] ]; + $users_on = array_merge($users_on, $arr); + } + + return $users_on; +} + +function checkUserBuddy($database, $yourId, $friendsId) +{ + include('config.php'); + $dbname = $database; + $connect = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname) or die("Unable to connect to '$dbhost'"); + $stmt = $connect->prepare("SELECT COUNT(1) FROM BuddyList WHERE (Id=? AND IdFriend=?) OR (Id=? AND IdFriend=?)"); + $stmt->bind_param("iiii", $yourId, $friendsId, $friendsId, $yourId); + $stmt->execute(); + $result = $stmt->get_result(); + return $result->fetch_row()[0]; +} + + +function getNoPlayersOnlineInServer($database) { include('config.php'); $dbname = $database; @@ -21,7 +52,7 @@ function getNoPlayersOnlineInServer($database) return $onlineUsers->fetch_row()[0]; } -function getNoSubbedPlayersOnlineInServer($database) +function getNoSubbedPlayersOnlineInServer($database) { include('config.php'); $dbname = $database; diff --git a/WebInterface/game-site/web/playersonline.php b/WebInterface/game-site/web/playersonline.php index 09bed9b..7ab908a 100755 --- a/WebInterface/game-site/web/playersonline.php +++ b/WebInterface/game-site/web/playersonline.php @@ -1 +1,32 @@ -3 players
online now:

BackInTime [new]
Banaja
Mudkip [new]
(0 buddies)
This list refreshes every 30 seconds. \ No newline at end of file + + players
online now:
"); + if($bud) { echo(''); echo(htmlspecialchars($name)); echo(''); $budsOn++; } + else if($admin) { echo(''); echo(htmlspecialchars($name)); echo(''); } + else if($mod) { echo(''); echo(htmlspecialchars($name)); echo(''); } + else { echo(htmlspecialchars($name)); } + + if($new) { echo(' [new]'); }; + +} +?>
( buddies)
This list refreshes every 30 seconds. \ No newline at end of file diff --git a/WebInterface/master-site/crosserver.php b/WebInterface/master-site/crosserver.php index 984a444..9918230 100644 --- a/WebInterface/master-site/crosserver.php +++ b/WebInterface/master-site/crosserver.php @@ -12,7 +12,38 @@ function GenHmacMessage(string $data, string $channel) return $hmac; } -function getNoPlayersOnlineInServer($database) +function getPlayerList($database) +{ + include('config.php'); + $dbname = $database; + $connect = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname) or die("Unable to connect to '$dbhost'"); + $onlineUsers = mysqli_query($connect, "SELECT * FROM OnlineUsers"); + + $users_on = []; + + + while ($row = $onlineUsers->fetch_row()) { + $arr = [ ['id' => $row[0], 'admin' => ($row[1] == 'YES'), 'mod' => ($row[2] == 'YES'), 'subbed' => ($row[3] == 'YES'), 'new' => ($row[4] == 'YES')] ]; + $users_on = array_merge($users_on, $arr); + } + + return $users_on; +} + +function checkUserBuddy($database, $yourId, $friendsId) +{ + include('config.php'); + $dbname = $database; + $connect = mysqli_connect($dbhost, $dbuser, $dbpass,$dbname) or die("Unable to connect to '$dbhost'"); + $stmt = $connect->prepare("SELECT COUNT(1) FROM BuddyList WHERE (Id=? AND IdFriend=?) OR (Id=? AND IdFriend=?)"); + $stmt->bind_param("iiii", $yourId, $friendsId, $friendsId, $yourId); + $stmt->execute(); + $result = $stmt->get_result(); + return $result->fetch_row()[0]; +} + + +function getNoPlayersOnlineInServer($database) { include('config.php'); $dbname = $database; @@ -21,7 +52,7 @@ function getNoPlayersOnlineInServer($database) return $onlineUsers->fetch_row()[0]; } -function getNoSubbedPlayersOnlineInServer($database) +function getNoSubbedPlayersOnlineInServer($database) { include('config.php'); $dbname = $database;