From 0ef3ced06775f35ae2a695587b73548703f0d85c Mon Sep 17 00:00:00 2001 From: UnknownShadow200 Date: Sat, 7 Jul 2018 19:19:19 +1000 Subject: [PATCH] Fix tempranks being permanent --- MCGalaxy/Commands/Moderation/CmdTempRank.cs | 25 +++++++++++---------- MCGalaxy/Server/Tasks/ModerationTasks.cs | 2 +- 2 files changed, 14 insertions(+), 13 deletions(-) diff --git a/MCGalaxy/Commands/Moderation/CmdTempRank.cs b/MCGalaxy/Commands/Moderation/CmdTempRank.cs index b49e3d4ba..1911abab0 100644 --- a/MCGalaxy/Commands/Moderation/CmdTempRank.cs +++ b/MCGalaxy/Commands/Moderation/CmdTempRank.cs @@ -94,12 +94,12 @@ namespace MCGalaxy.Commands.Moderation { } static void Info(Player p, string target) { - string line = Server.tempRanks.FindData(target); - if (line == null) { + string data = Server.tempRanks.FindData(target); + if (data == null) { Player.Message(p, "{0}&c has not been assigned a temp rank.", PlayerInfo.GetColoredName(p, target)); } else { - PrintTempRankInfo(p, line); + PrintTempRankInfo(p, target, data); } } @@ -110,25 +110,26 @@ namespace MCGalaxy.Commands.Moderation { } else { Player.Message(p, "&ePlayers with a temporary rank assigned:"); foreach (string line in lines) { - PrintTempRankInfo(p, line); + string[] bits = line.SplitSpaces(2); + PrintTempRankInfo(p, bits[0], bits[1]); } } } - static void PrintTempRankInfo(Player p, string line) { - string[] args = line.SplitSpaces(); + static void PrintTempRankInfo(Player p, string name, string data) { + string[] args = data.SplitSpaces(); if (args.Length < 4) return; - string assigner = args[1]; - DateTime assigned = long.Parse(args[2]).FromUnixTime(); - DateTime expiry = long.Parse(args[3]).FromUnixTime(); - string oldRank = Group.GetColoredName(args[4]); - string tempRank = Group.GetColoredName(args[5]); + string assigner = args[0]; + DateTime assigned = long.Parse(args[1]).FromUnixTime(); + DateTime expiry = long.Parse(args[2]).FromUnixTime(); + string oldRank = Group.GetColoredName(args[3]); + string tempRank = Group.GetColoredName(args[4]); TimeSpan assignDelta = DateTime.UtcNow - assigned; TimeSpan expireDelta = expiry - DateTime.UtcNow; Player.Message(p, "Temp rank information for {0}:", - PlayerInfo.GetColoredName(p, args[0])); + PlayerInfo.GetColoredName(p, name)); Player.Message(p, " From {0} %Sto {1}%S, by {2} &a{3} %Sago, expires in &a{4}", oldRank, tempRank, assigner, assignDelta.Shorten(), expireDelta.Shorten()); diff --git a/MCGalaxy/Server/Tasks/ModerationTasks.cs b/MCGalaxy/Server/Tasks/ModerationTasks.cs index e1a9f26ca..8753b115b 100644 --- a/MCGalaxy/Server/Tasks/ModerationTasks.cs +++ b/MCGalaxy/Server/Tasks/ModerationTasks.cs @@ -40,7 +40,7 @@ namespace MCGalaxy.Tasks { internal static void TemprankCalcNextRun() { CalcNextRun(temprankTask, Server.tempRanks); } static void TemprankCallback(string[] args) { - Command.Find("TempRank").Use(null, args[0] + " delete"); + Command.Find("TempRank").Use(null, "delete " + args[0]); // Handle case of old rank no longer existing if (Server.tempRanks.Remove(args[0])) { Server.tempRanks.Save();