diff options
author | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:24:03 +0200 |
---|---|---|
committer | Alexander Harkness <bearbin@gmail.com> | 2013-07-27 17:24:03 +0200 |
commit | 983d87e44356c4cfc8f8908ec365006323a4dbe0 (patch) | |
tree | b035a1f68cf97fd3fbfbf5fed187d3f465835f3b /MCServer/Plugins/Core/web_whitelist.lua | |
parent | Removed extraneous core. (diff) | |
download | cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.gz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.bz2 cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.lz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.xz cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.tar.zst cuberite-983d87e44356c4cfc8f8908ec365006323a4dbe0.zip |
Diffstat (limited to '')
-rw-r--r-- | MCServer/Plugins/Core/web_whitelist.lua | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/MCServer/Plugins/Core/web_whitelist.lua b/MCServer/Plugins/Core/web_whitelist.lua new file mode 100644 index 000000000..61cc6fd8b --- /dev/null +++ b/MCServer/Plugins/Core/web_whitelist.lua @@ -0,0 +1,79 @@ +local function HTMLDeleteButton( name ) + return "<form method=\"POST\"><input type=\"hidden\" name=\"whitelist-delete\" value=\"".. name .."\"><input type=\"submit\" value=\"Remove from whitelist\"></form>" +end + +function HandleRequest_WhiteList( Request ) + local UpdateMessage = "" + if( Request.PostParams["whitelist-add"] ~= nil ) then + local PlayerName = Request.PostParams["whitelist-add"] + + if( WhiteListIni:GetValueB("WhiteList", PlayerName, false) == true ) then + UpdateMessage = "<b>".. PlayerName.."</b> is already on the whitelist" + else + WhiteListIni:SetValueB("WhiteList", PlayerName, true ) + UpdateMessage = "Added <b>" .. PlayerName .. "</b> to whitelist." + WhiteListIni:WriteFile() + end + elseif( Request.PostParams["whitelist-delete"] ~= nil ) then + local PlayerName = Request.PostParams["whitelist-delete"] + WhiteListIni:DeleteValue( "WhiteList", PlayerName ) + UpdateMessage = "Removed <b>" .. PlayerName .. "</b> from whitelist." + WhiteListIni:WriteFile() + elseif( Request.PostParams["whitelist-reload"] ~= nil ) then + WhiteListIni:Erase() -- Empty entire loaded ini first, otherwise weird shit goes down + WhiteListIni:ReadFile() + UpdateMessage = "Loaded from disk" + elseif( Request.Params["whitelist-setenable"] ~= nil ) then + local Enabled = Request.Params["whitelist-setenable"] + local CreateNewValue = false + if( WhiteListIni:FindValue( WhiteListIni:FindKey("WhiteListSettings"), "WhiteListOn" ) == cIniFile.noID ) then -- Find out whether the value is in the ini + CreateNewValue = true + end + + if( Enabled == "1" ) then + WhiteListIni:SetValueB("WhiteListSettings", "WhiteListOn", true, CreateNewValue ) + else + WhiteListIni:SetValueB("WhiteListSettings", "WhiteListOn", false, CreateNewValue ) + end + WhiteListIni:WriteFile() + end + + + local Content = "" + + local WhiteListEnabled = WhiteListIni:GetValueB("WhiteListSettings", "WhiteListOn", false) + if( WhiteListEnabled == false ) then + Content = Content .. "<p>Whitelist is currently disabled! Click <a href='?whitelist-setenable=1'>here</a> to enable.</p>" + end + + + Content = Content .. "<h4>Whitelisted players</h4>" + Content = Content .. "<table>" + local KeyNum = WhiteListIni:FindKey("WhiteList") + local NumValues = WhiteListIni:GetNumValues(KeyNum) + if( NumValues > 0 ) then + for Num = 0, NumValues-1 do + if( WhiteListIni:GetValue(KeyNum, Num, "0") == "1" ) then + local PlayerName = WhiteListIni:GetValueName(KeyNum, Num ) + Content = Content .. "<tr><td>" .. PlayerName .. "</td><td>" .. HTMLDeleteButton( PlayerName ) .. "</td></tr>" + end + end + else + Content = Content .. "<tr><td>None</td></tr>" + end + Content = Content .. "</table>" + Content = Content .. "<br><h4>Add player to whitelist</h4>" + Content = Content .. "<form method=\"POST\">" + Content = Content .. "<input type=\"text\" name=\"whitelist-add\"><input type=\"submit\" value=\"Add player\">" + Content = Content .. "</form>" + Content = Content .. "<form method=\"POST\">" + Content = Content .. "<input type=\"submit\" name=\"whitelist-reload\" value=\"Reload from disk\">" + Content = Content .. "</form>" + Content = Content .. "<br>"..UpdateMessage + + if( WhiteListEnabled == true ) then + Content = Content .. "<br><br><p>Whitelist is currently enabled, click <a href='?whitelist-setenable=0'>here</a> to disable.</p>" + end + + return Content +end
\ No newline at end of file |