From 9a85b9c4c22ec4adb8b29232e8809fcdbb23f3fc Mon Sep 17 00:00:00 2001 From: RaidMax Date: Sat, 18 Nov 2017 00:59:37 -0600 Subject: [PATCH] Re added mask command Prune confirms completion Findall display previous name confirmation message sent after kick tempban/ban confirmation wording changes players page is now paginated --- Admin/Kayak.cs | 2 +- Admin/Manager.cs | 1 + Admin/WebService.cs | 8 ++++++- Admin/lib/SharedLibrary.dll | Bin 117248 -> 117760 bytes Admin/version.txt | 2 ++ Admin/webfront/players.html | 18 ++++++++++++++- Plugins/SimpleStats/Plugin.cs | 17 +++++++++----- README.md | 1 + SharedLibrary/Commands/NativeCommands.cs | 28 ++++++++++------------- SharedLibrary/Database.cs | 6 ++--- 10 files changed, 54 insertions(+), 29 deletions(-) diff --git a/Admin/Kayak.cs b/Admin/Kayak.cs index cf60b3c0..87e9a73c 100644 --- a/Admin/Kayak.cs +++ b/Admin/Kayak.cs @@ -53,6 +53,7 @@ namespace IW4MAdmin try { + request.Path = String.IsNullOrEmpty(request.Path) ? "/" : request.Path; SharedLibrary.HttpResponse requestedPage = WebService.GetPage(request.Path, querySet, request.Headers); bool binaryContent = requestedPage.BinaryContent != null; @@ -87,7 +88,6 @@ namespace IW4MAdmin ApplicationManager.GetInstance().Logger.WriteWarning("Request parameter data format was incorrect"); ApplicationManager.GetInstance().Logger.WriteDebug($"Request Path {request.Path}"); ApplicationManager.GetInstance().Logger.WriteDebug($"Request Query String {request.QueryString}"); - response.OnResponse(new HttpResponseHead() { Status = "400 Bad Request", diff --git a/Admin/Manager.cs b/Admin/Manager.cs index a0dc619f..2dcc2819 100644 --- a/Admin/Manager.cs +++ b/Admin/Manager.cs @@ -179,6 +179,7 @@ namespace IW4MAdmin Commands.Add(new CFindAllPlayers()); Commands.Add(new CPlugins()); Commands.Add(new CIP()); + Commands.Add(new CMask()); foreach (Command C in SharedLibrary.Plugins.PluginImporter.ActiveCommands) Commands.Add(C); diff --git a/Admin/WebService.cs b/Admin/WebService.cs index a8160c69..04653647 100644 --- a/Admin/WebService.cs +++ b/Admin/WebService.cs @@ -776,7 +776,13 @@ namespace IW4MAdmin else if (querySet["recent"] != null) { - matchedPlayers = ApplicationManager.GetInstance().GetClientDatabase().GetRecentPlayers(); + int offset = 0; + if (querySet["offset"] != null) + offset = Int32.Parse(querySet["offset"]); + if (offset < 0) + throw new FormatException("Invalid offset"); + + matchedPlayers = ApplicationManager.GetInstance().GetClientDatabase().GetRecentPlayers(15, offset); recent = true; } diff --git a/Admin/lib/SharedLibrary.dll b/Admin/lib/SharedLibrary.dll index c5e9a3dbe006153319ed2f8f3fbf43364d2057fe..336d26ded70e2931a7723ad434e6b726a9ea86d4 100644 GIT binary patch delta 26901 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 UB>hvu4Q^VYJ40{NHOY$q13MB`(*OVf delta 26662 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 HnWFkXl&b`o diff --git a/Admin/version.txt b/Admin/version.txt index 2dd3dcfb..112e2ed1 100644 --- a/Admin/version.txt +++ b/Admin/version.txt @@ -6,6 +6,8 @@ CHANGELOG: -If multiple matches are found when finding a player, a list of matches is shown -"special" characters are allowed in names and messages -prune command demotes inactive admins (defaults to 30 days if no days are specified) +-confirmation message sent after kick +-paginated players page Version 1.5 CHANGELOG: diff --git a/Admin/webfront/players.html b/Admin/webfront/players.html index 461cf0ab..ebf8f1dd 100644 --- a/Admin/webfront/players.html +++ b/Admin/webfront/players.html @@ -65,13 +65,24 @@ }).done(function (data) { $(".loader").fadeOut(); }); } + function getRecentPlayers(offset) { + $("#playersTable").html(""); + $(".loader").fadeIn(); + + $.getJSON("/getplayer?recent=1&offset=" + offset, function (result) { + $.each(result, function (i, player) { + printPlayer(player, i); + }); + }).done(function (data) { $(".loader").fadeOut(); }); + } + $(document).ready(function () { if (parseGet('id') != "undefined") getPlayer('id', parseGet('id')); else if (parseGet('name') != "undefined") getPlayer('name', parseGet('name')); else { - getPlayer('recent', '1'); + getRecentPlayers(0); } }); @@ -99,6 +110,11 @@
+
+ + +
+