1
0
cuberite-2a/Plugins/Core/web_permissions.lua
faketruth 9dfa0f1f15 Added a WebAdmin interface to view users their groups, and the permissions of groups.
cChunk::Tick did an assertion in cCSLock, I used a cCSUnlock to fix it, but not sure if this is correct.

git-svn-id: http://mc-server.googlecode.com/svn/trunk@194 0a769ca7-a7f5-676a-18bf-c427514a06d6
2012-01-30 16:47:26 +00:00

79 lines
2.1 KiB
Lua

local function ShowUsersTable()
local Content = "<h4>Users</h4>"
local UsersIni = cIniFile("users.ini")
if( UsersIni:ReadFile() == false ) then
return "Could not read users.ini!"
end
local NumUsers = UsersIni:GetNumKeys()
Content = Content .. "<table>"
if( NumUsers > 0 ) then
Content = Content .. "<tr><td></td><td>User</td><td>Groups</td></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 GroupsIni = cIniFile("groups.ini")
if( GroupsIni:ReadFile() == false ) then
return "Could not read groups.ini!"
end
local NumGroups = GroupsIni:GetNumKeys()
Content = Content .. "<table>"
if( NumGroups > 0 ) then
Content = Content .. "<tr><td></td><td>Name</td><td>Permissions</td><td>Color</td></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
function HandleRequest_Permissions( Request )
local Content = ""
Content = Content .. ShowGroupsTable()
Content = Content .. ShowUsersTable()
return Content
end