Skip to content

Commit 0dbb83d

Browse files
authored
Allow disabling/enabling default reporting system (#501)
1 parent fa5beb9 commit 0dbb83d

File tree

6 files changed

+24
-5
lines changed

6 files changed

+24
-5
lines changed

[admin]/admin/client/admin_client.lua

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ addEvent ( "aClientAdminChat", true )
4040
addEvent ( "aClientResourceStart", true )
4141
addEvent ( "aClientResourceStop", true )
4242
addEvent ( "aClientAdminMenu", true )
43+
addEvent ( "aClientReports", true )
4344
function aAdminResourceStart ()
4445
addEventHandler ( "aClientAdminMenu", root, aClientAdminMenu )
4546
local node = xmlLoadFile ( "conf\\weathers.xml" )

[admin]/admin/client/gui/admin_messages.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,11 @@ function aViewMessagesClose ( destroy )
5555
end
5656
end
5757

58-
function aMessagesSync ( action, data )
58+
function aMessagesSync ( action, data, isReportDisabled )
5959
if ( action == "get" ) then
6060
_messages = data
6161
guiGridListClear ( aMessagesList )
62+
6263
for id=#data,1,-1 do
6364
local message = data[id]
6465
local row = guiGridListAddRow ( aMessagesList )
@@ -68,6 +69,7 @@ function aMessagesSync ( action, data )
6869
guiGridListSetItemText ( aMessagesList, row, 3, message.time, false, false )
6970
guiGridListSetItemText ( aMessagesList, row, 4, removeColorCoding(message.author), false, false )
7071
end
72+
guiSetText(aMessagesForm, (isReportDisabled ~= "true" and "View Messages (reports are disabled)" or "View Messages"))
7173
end
7274
end
7375

[admin]/admin/client/gui/admin_report.lua

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ local reportCategories
1313
local aSelectPlayer = nil
1414

1515
function aReport ( )
16+
1617
if ( aReportForm == nil ) then
1718
reportCategories = {}
1819
for i,cat in ipairs( split( g_Prefs.reportCategories, string.byte(',') ) ) do
@@ -58,8 +59,7 @@ function aReport ( )
5859
guiBringToFront ( aReportForm )
5960
showCursor ( true )
6061
end
61-
addCommandHandler ( "report", aReport )
62-
62+
addEventHandler( "aClientReports", root, aReport )
6363

6464
function aReportClose ( )
6565
if ( aReportForm ) then

[admin]/admin/meta.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
<script src="server/admin_ACL.lua" />
1919
<script src="server/admin_settings.lua" />
2020
<script src="server/admin_screenshot.lua" />
21+
<script src="server/admin_report.lua" />
2122
<script src="server/http/admin_http.lua" />
2223
<script src="client/admin_clientprefs.lua" type="client" cache="false" />
2324
<script src="client/admin_client.lua" type="client" cache="false" />
@@ -115,7 +116,13 @@
115116
4. double click on the resource name
116117
***************************************************** -->
117118

118-
<setting name="*maxmsgs" value="55"
119+
<setting name="*reportsEnabled" value="true"
120+
friendlyname="Enable default reporting system"
121+
accept="true,false"
122+
desc="When enabled, players will be able to submit reports to admins via the /report command."
123+
/>
124+
125+
<setting name="*maxmsgs" value="55"
119126
friendlyname="Max messages"
120127
accept="1-1000"
121128
desc="Maximum admin messages to keep."

[admin]/admin/server/admin_report.lua

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
addCommandHandler("report", function( playerSource )
2+
if ( get("reportsEnabled") ~= "false" ) then
3+
triggerClientEvent( playerSource, "aClientReports", playerSource )
4+
else
5+
outputChatBox ( "Reports are not accepted currently.", playerSource, 255, 0, 0 )
6+
end
7+
end, false, false)

[admin]/admin/server/admin_server.lua

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1510,6 +1510,8 @@ function ( action, data )
15101510
return
15111511
end
15121512
if ( action == "new" ) then
1513+
--dont allow creating reports when reports are disabled
1514+
if ( get("reportsEnabled") ~= "true" ) then return end
15131515
local time = getRealTime()
15141516
local id = #aReports + 1
15151517
aReports[id] = {}
@@ -1545,7 +1547,7 @@ function ( action, data )
15451547
end
15461548
if ( hasObjectPermissionTo ( client or source, "general.adminpanel" ) ) then
15471549
if ( action == "get" ) then
1548-
triggerClientEvent ( source, "aMessage", source, "get", aReports )
1550+
triggerClientEvent ( source, "aMessage", source, "get", aReports, get("reportsEnabled") )
15491551
elseif ( action == "read" ) then
15501552
if ( aReports[data] ) then
15511553
aReports[data].read = true

0 commit comments

Comments
 (0)