summaryrefslogtreecommitdiffstats
path: root/MCServer/Plugins/Core/web_permissions.lua
diff options
context:
space:
mode:
Diffstat (limited to 'MCServer/Plugins/Core/web_permissions.lua')
-rw-r--r--MCServer/Plugins/Core/web_permissions.lua266
1 files changed, 133 insertions, 133 deletions
diff --git a/MCServer/Plugins/Core/web_permissions.lua b/MCServer/Plugins/Core/web_permissions.lua
index 5278767e7..7a8af56e9 100644
--- a/MCServer/Plugins/Core/web_permissions.lua
+++ b/MCServer/Plugins/Core/web_permissions.lua
@@ -1,134 +1,134 @@
-local function HTML_Option( value, text, selected )
- if( selected == true ) then
- return [[<option value="]] .. value .. [[" selected>]] .. text .. [[</option>]]
- else
- return [[<option value="]] .. value .. [[">]] .. text .. [[</option>"]]
- end
-end
-
-local function ShowUsersTable()
- local Content = "<h4>Users</h4>"
-
- local NumUsers = UsersIni:GetNumKeys()
-
- Content = Content .. "<table>"
-
- if( NumUsers > 0 ) then
- Content = Content .. "<tr><th></th><th>User</th><th>Groups</th></tr>"
-
- for i=0, NumUsers-1 do
- local UserName = UsersIni:GetKeyName( i )
-
- Content = Content .. "<tr>"
- Content = Content .. "<td style='width: 10px;'>" .. i .. ".</td>"
- Content = Content .. "<td>" .. UserName .. "</td>"
- Content = Content .. "<td>"
- Content = Content .. UsersIni:GetValue( UserName, "Groups", "-" )
- Content = Content .. "</td>"
- Content = Content .. "</tr>"
- end
- else
- Content = Content .. "<tr><td>None</td></tr>"
- end
- Content = Content .. "</table>"
-
-
- return Content
-end
-
-local function ShowGroupsTable()
- local Content = "<h4>Groups</h4>"
-
- local NumGroups = GroupsIni:GetNumKeys()
-
- Content = Content .. "<table>"
- if( NumGroups > 0 ) then
- Content = Content .. "<tr><th></th><th>Name</th><th>Permissions</th><th>Color</th></tr>"
-
- for i=0, NumGroups-1 do
- local GroupName = GroupsIni:GetKeyName( i )
-
- Content = Content .. "<tr>"
- Content = Content .. "<td style='width: 10px;'>" .. i .. ".</td>"
- Content = Content .. "<td>" .. GroupName .. "</td>"
- Content = Content .. "<td>"
- Content = Content .. GroupsIni:GetValue( GroupName, "Permissions", "-" )
- Content = Content .. "</td>"
- Content = Content .. "<td>"
- Content = Content .. GroupsIni:GetValue( GroupName, "Color", "-" )
- Content = Content .. "</td>"
- Content = Content .. "</tr>"
- end
- else
- Content = Content .. "<tr><td>None</td></tr>"
- end
- Content = Content .. "</table>"
-
- return Content
-end
-
-local function HTML_Select_Group( name, defaultValue )
- Groups = ""
- for I=0, GroupsIni:GetNumKeys() - 1 do
- Groups = Groups ..
- HTML_Option(GroupsIni:KeyName(I), GroupsIni:KeyName(I), defaultValue == GroupsIni:KeyName(I) )
- end
- return [[<select name="]] .. name .. [[">]] .. Groups .. [[</select>]]
-end
-
-
-local function AddPlayers( Request )
- local Content = "<h4>Add or change Players</h4>"
- if( Request.PostParams["AddPlayerToGroup"] ~= nil ) then
- if Request.PostParams["AddPlayer"] ~= "" then
- if Request.PostParams["AddGroups"] ~= "" then
- if GroupsIni:FindKey(Request.PostParams["AddGroup"]) == -1 then
- return "Group does not exist"
- end
- UsersIni:DeleteKey(Request.PostParams["AddPlayer"])
- UsersIni:GetValueSet(Request.PostParams["AddPlayer"], "Groups", Request.PostParams["AddGroup"])
- UsersIni:WriteFile()
- local loopPlayers = function( Player )
- if Player:GetName() == Request.PostParams["AddPlayer"] then
- Player:SendMessage( cChatColor.Green .. "You were moved to group " .. Request.PostParams["AddGroup"] )
- Player:LoadPermissionsFromDisk()
- end
- end
- local loopWorlds = function ( World )
- World:ForEachPlayer( loopPlayers )
- end
- cRoot:Get():ForEachWorld( loopWorlds )
- end
- end
- end
- Content = Content .. [[
- <form method="POST">
- <table>
- <tr><td style="width: 20%;">Player:</td>
- <td><input type="text" name="AddPlayer" value=""></td></tr><br>
- <tr><td style="width: 20%;">Group:</td>
- <td>]] .. HTML_Select_Group("AddGroup", GroupsIni:KeyName(0) ) .. [[</td></tr>
- </table>
- <input type="submit" value="Add Player" name="AddPlayerToGroup">]]
-
- return Content
-end
-
-function HandleRequest_Permissions( Request )
- GroupsIni = cIniFile("groups.ini")
- if( GroupsIni:ReadFile() == false ) then
- return "Could not read groups.ini!"
- end
- UsersIni = cIniFile("users.ini")
- if( UsersIni:ReadFile() == false ) then
- return "Could not read users.ini!"
- end
-
- local Content = ""
-
- Content = Content .. AddPlayers( Request )
- Content = Content .. ShowGroupsTable()
- Content = Content .. ShowUsersTable()
-
- return Content
+local function HTML_Option( value, text, selected )
+ if( selected == true ) then
+ return [[<option value="]] .. value .. [[" selected>]] .. text .. [[</option>]]
+ else
+ return [[<option value="]] .. value .. [[">]] .. text .. [[</option>"]]
+ end
+end
+
+local function ShowUsersTable()
+ local Content = "<h4>Users</h4>"
+
+ local NumUsers = UsersIni:GetNumKeys()
+
+ Content = Content .. "<table>"
+
+ if( NumUsers > 0 ) then
+ Content = Content .. "<tr><th></th><th>User</th><th>Groups</th></tr>"
+
+ for i=0, NumUsers-1 do
+ local UserName = UsersIni:GetKeyName( i )
+
+ Content = Content .. "<tr>"
+ Content = Content .. "<td style='width: 10px;'>" .. i .. ".</td>"
+ Content = Content .. "<td>" .. UserName .. "</td>"
+ Content = Content .. "<td>"
+ Content = Content .. UsersIni:GetValue( UserName, "Groups", "-" )
+ Content = Content .. "</td>"
+ Content = Content .. "</tr>"
+ end
+ else
+ Content = Content .. "<tr><td>None</td></tr>"
+ end
+ Content = Content .. "</table>"
+
+
+ return Content
+end
+
+local function ShowGroupsTable()
+ local Content = "<h4>Groups</h4>"
+
+ local NumGroups = GroupsIni:GetNumKeys()
+
+ Content = Content .. "<table>"
+ if( NumGroups > 0 ) then
+ Content = Content .. "<tr><th></th><th>Name</th><th>Permissions</th><th>Color</th></tr>"
+
+ for i=0, NumGroups-1 do
+ local GroupName = GroupsIni:GetKeyName( i )
+
+ Content = Content .. "<tr>"
+ Content = Content .. "<td style='width: 10px;'>" .. i .. ".</td>"
+ Content = Content .. "<td>" .. GroupName .. "</td>"
+ Content = Content .. "<td>"
+ Content = Content .. GroupsIni:GetValue( GroupName, "Permissions", "-" )
+ Content = Content .. "</td>"
+ Content = Content .. "<td>"
+ Content = Content .. GroupsIni:GetValue( GroupName, "Color", "-" )
+ Content = Content .. "</td>"
+ Content = Content .. "</tr>"
+ end
+ else
+ Content = Content .. "<tr><td>None</td></tr>"
+ end
+ Content = Content .. "</table>"
+
+ return Content
+end
+
+local function HTML_Select_Group( name, defaultValue )
+ Groups = ""
+ for I=0, GroupsIni:GetNumKeys() - 1 do
+ Groups = Groups ..
+ HTML_Option(GroupsIni:KeyName(I), GroupsIni:KeyName(I), defaultValue == GroupsIni:KeyName(I) )
+ end
+ return [[<select name="]] .. name .. [[">]] .. Groups .. [[</select>]]
+end
+
+
+local function AddPlayers( Request )
+ local Content = "<h4>Add or change Players</h4>"
+ if( Request.PostParams["AddPlayerToGroup"] ~= nil ) then
+ if Request.PostParams["AddPlayer"] ~= "" then
+ if Request.PostParams["AddGroups"] ~= "" then
+ if GroupsIni:FindKey(Request.PostParams["AddGroup"]) == -1 then
+ return "Group does not exist"
+ end
+ UsersIni:DeleteKey(Request.PostParams["AddPlayer"])
+ UsersIni:GetValueSet(Request.PostParams["AddPlayer"], "Groups", Request.PostParams["AddGroup"])
+ UsersIni:WriteFile()
+ local loopPlayers = function( Player )
+ if Player:GetName() == Request.PostParams["AddPlayer"] then
+ Player:SendMessage( cChatColor.Green .. "You were moved to group " .. Request.PostParams["AddGroup"] )
+ Player:LoadPermissionsFromDisk()
+ end
+ end
+ local loopWorlds = function ( World )
+ World:ForEachPlayer( loopPlayers )
+ end
+ cRoot:Get():ForEachWorld( loopWorlds )
+ end
+ end
+ end
+ Content = Content .. [[
+ <form method="POST">
+ <table>
+ <tr><td style="width: 20%;">Player:</td>
+ <td><input type="text" name="AddPlayer" value=""></td></tr><br>
+ <tr><td style="width: 20%;">Group:</td>
+ <td>]] .. HTML_Select_Group("AddGroup", GroupsIni:KeyName(0) ) .. [[</td></tr>
+ </table>
+ <input type="submit" value="Add Player" name="AddPlayerToGroup">]]
+
+ return Content
+end
+
+function HandleRequest_Permissions( Request )
+ GroupsIni = cIniFile("groups.ini")
+ if( GroupsIni:ReadFile() == false ) then
+ return "Could not read groups.ini!"
+ end
+ UsersIni = cIniFile("users.ini")
+ if( UsersIni:ReadFile() == false ) then
+ return "Could not read users.ini!"
+ end
+
+ local Content = ""
+
+ Content = Content .. AddPlayers( Request )
+ Content = Content .. ShowGroupsTable()
+ Content = Content .. ShowUsersTable()
+
+ return Content
end \ No newline at end of file