blob: 962078bb26d1c3165d21fd8401144bc06604004a (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
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 AddPlayers( Request )
local Content = "<h4>Add 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><input type="text" name="AddGroup" value=""></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
|