@@ -23,7 +23,8 @@ function aPlayersTab.Create(tab)
23
23
guiGridListAddColumn (aPlayersTab .PlayerList , " Player list" , 0.85 )
24
24
aPlayersTab .Context = guiCreateContextMenu (aPlayersTab .PlayerList )
25
25
aPlayersTab .ContextKick = guiContextMenuAddItem (aPlayersTab .Context , " Kick" )
26
- aPlayersTab .ColorCodes = guiCreateCheckBox (0.01 , 0.95 , 0.25 , 0.04 , " Hide color codes" , true , true , tab )
26
+ aPlayersTab .ColorCodes = guiCreateCheckBox (0.01 , 0.95 , 0.25 , 0.04 , " Hide color codes" , aGetSetting (' hideColorCodes' ) or false , true , tab )
27
+ aPlayersTab .SensitiveData = guiCreateCheckBox (0.2 , 0.95 , 0.25 , 0.04 , " Hide Sensitive Data" , aGetSetting (' hideSensitiveData' ) or false , true , tab )
27
28
28
29
-- Player info (middle pane)
29
30
guiCreateHeader (0.27 , 0.04 , 0.20 , 0.04 , " Player:" , true , tab )
@@ -271,6 +272,19 @@ function aPlayersTab.onClientClick(button)
271
272
setElementData (localPlayer , " AnonAdmin" , guiCheckBoxGetSelected (aPlayersTab .AnonAdmin ))
272
273
elseif (source == aPlayersTab .ColorCodes ) then
273
274
aPlayersTab .Refresh ()
275
+ aSetSetting (' hideColorCodes' , guiCheckBoxGetSelected (source ))
276
+ elseif (source == aPlayersTab .SensitiveData ) then
277
+ local state = guiCheckBoxGetSelected (source )
278
+ aSetSetting (' hideSensitiveData' , state )
279
+ for k , v in ipairs (aAdminMain .Tabs ) do
280
+ if aAdminMain .BlockedTabsBySensitiveData [v .Acl ] then
281
+ guiSetEnabled (v .Tab , not state )
282
+ end
283
+ end
284
+ if isElement (aServerTab .Password ) then
285
+ guiSetText (aServerTab .Password , " Password: " .. getSensitiveText (aServerTab [' currentPassword' ] or " None" ))
286
+ end
287
+
274
288
elseif (source == aPlayersTab .PlayerList ) then
275
289
local player = getSelectedPlayer ()
276
290
if (player ) then
@@ -442,10 +456,10 @@ function aPlayersTab.onRefresh()
442
456
end
443
457
444
458
sync (SYNC_PLAYER , player )
445
- guiSetText (aPlayersTab .IP , " IP: " .. aPlayers [player ].ip )
446
- guiSetText (aPlayersTab .Serial , " Serial: " .. ( aPlayers [player ].serial or " Unknown" ))
459
+ guiSetText (aPlayersTab .IP , " IP: " .. getSensitiveText ( aPlayers [player ].ip ) )
460
+ guiSetText (aPlayersTab .Serial , " Serial: " .. getSensitiveText (( aPlayers [player ].serial or " Unknown" ) ))
447
461
guiSetText (aPlayersTab .Country , " Country: " .. (aPlayers [player ].countryname or " Unknown" ))
448
- guiSetText (aPlayersTab .Account , " Account: " .. ( aPlayers [player ][" account" ] or " guest" ))
462
+ guiSetText (aPlayersTab .Account , " Account: " .. getSensitiveText (( aPlayers [player ][" account" ] or " guest" ) ))
449
463
guiSetText (aPlayersTab .Groups , " Groups: " .. (aPlayers [player ][" groups" ] or " None" ))
450
464
if (aPlayers [player ].country and string.lower (tostring (aPlayers [player ].country )) ~= " zz" ) then
451
465
local x , y = guiGetPosition (aPlayersTab .Country , false )
@@ -500,10 +514,10 @@ function aPlayersTab.onRefresh()
500
514
local x , y , z = getElementPosition (player )
501
515
local area = getZoneName (x , y , z , false )
502
516
local zone = getZoneName (x , y , z , true )
503
- guiSetText (aPlayersTab .Area , " Area: " .. iif (area == zone , area , area .. " (" .. zone .. " )" ))
504
- guiSetText (aPlayersTab .PositionX , " X: " .. x )
505
- guiSetText (aPlayersTab .PositionY , " Y: " .. y )
506
- guiSetText (aPlayersTab .PositionZ , " Z: " .. z )
517
+ guiSetText (aPlayersTab .Area , " Area: " .. getSensitiveText ( iif (area == zone , area , area .. " (" .. zone .. " )" ) ))
518
+ guiSetText (aPlayersTab .PositionX , " X: " .. getSensitiveText ( x ) )
519
+ guiSetText (aPlayersTab .PositionY , " Y: " .. getSensitiveText ( y ) )
520
+ guiSetText (aPlayersTab .PositionZ , " Z: " .. getSensitiveText ( z ) )
507
521
508
522
local vehicle = getPedOccupiedVehicle (player )
509
523
if (vehicle ) then
@@ -553,3 +567,10 @@ function getSelectedPlayer()
553
567
end
554
568
return nil
555
569
end
570
+
571
+ function getSensitiveText (text )
572
+ if guiCheckBoxGetSelected (aPlayersTab .SensitiveData ) then
573
+ return (' *' ):rep (utf8.len (text ))
574
+ end
575
+ return text
576
+ end
0 commit comments