From c4bc73a2b088b98116ece27065cc7f5a1dced15b Mon Sep 17 00:00:00 2001 From: John Lillis Date: Tue, 14 Nov 2023 16:06:29 -0500 Subject: [PATCH] Remove code execution functionality from `admin2` (#453) --- [admin]/admin2/admin_definitions.lua | 1 - .../admin2/client/main/admin_resources.lua | 38 +------------------ [admin]/admin2/server/admin_server.lua | 27 ------------- 3 files changed, 1 insertion(+), 65 deletions(-) diff --git a/[admin]/admin2/admin_definitions.lua b/[admin]/admin2/admin_definitions.lua index e6b25163d..6d84fcbe1 100644 --- a/[admin]/admin2/admin_definitions.lua +++ b/[admin]/admin2/admin_definitions.lua @@ -39,7 +39,6 @@ enum( "EVENT_MESSAGE", "EVENT_BANS", "EVENT_NETWORK", - "EVENT_EXECUTE", "EVENT_PROXY", "EVENT_ADMIN_CHAT", "EVENT_ADMIN_OPEN", diff --git a/[admin]/admin2/client/main/admin_resources.lua b/[admin]/admin2/client/main/admin_resources.lua index d430e5046..e4c1cd209 100644 --- a/[admin]/admin2/client/main/admin_resources.lua +++ b/[admin]/admin2/client/main/admin_resources.lua @@ -51,21 +51,11 @@ function aResourcesTab.Create(tab) aResourcesTab.Description = guiCreateLabel(0.39, 0.23, 0.60, 0.10, "Description: -", true, aResourcesTab.MainTab) guiLabelSetHorizontalAlign(aResourcesTab.Description, "left", true) guiCreateHeader(0.38, 0.32, 0.20, 0.04, "Resource settings:", true, aResourcesTab.MainTab) - aResourcesTab.Settings = guiCreateGridList(0.38, 0.36, 0.61, 0.38, true, aResourcesTab.MainTab) + aResourcesTab.Settings = guiCreateGridList(0.38, 0.36, 0.61, 0.62, true, aResourcesTab.MainTab) guiGridListAddColumn(aResourcesTab.Settings, "Name", 0.44) guiGridListAddColumn(aResourcesTab.Settings, "Current", 0.24) guiGridListAddColumn(aResourcesTab.Settings, "Default", 0.24) guiGridListSetSortingEnabled(aResourcesTab.Settings, false) - guiCreateHeader(0.38, 0.75, 0.20, 0.04, "Execute code:", true, aResourcesTab.MainTab) - aResourcesTab.Command = guiCreateMemo(0.38, 0.80, 0.50, 0.18, "", true, aResourcesTab.MainTab) - guiHandleInput(aResourcesTab.Command) - aResourcesTab.ExecuteClient = - guiCreateButton(0.89, 0.80, 0.10, 0.04, "Client", true, aResourcesTab.MainTab, "execute") - aResourcesTab.ExecuteServer = - guiCreateButton(0.89, 0.85, 0.10, 0.04, "Server", true, aResourcesTab.MainTab, "execute") - aResourcesTab.ExecuteAdvanced = - guiCreateLabel(0.2, 0.4, 1.0, 0.50, "For advanced users only.", true, aResourcesTab.Command) - guiLabelSetColor(aResourcesTab.ExecuteAdvanced, 255, 0, 0) -- EVENTS addEventHandler(EVENT_SYNC, root, aResourcesTab.onClientSync) @@ -167,32 +157,6 @@ function aResourcesTab.onClientClick(button) elseif (source == aResourcesTab.ResourceRefresh) then guiGridListClear(aResourcesTab.ResourceList) sync(SYNC_RESOURCES) - elseif (source == aResourcesTab.ExecuteClient) then - local code = guiGetText(aResourcesTab.Command) - if ((code) and (code ~= "")) then - local results = {pcall(assert(loadstring("return " .. code)))} - if (results[1]) then - for i = 2, #results do - local value = results[i] - local type = type(value) - if (isElement(type)) then - type = getElementType(value) - end - outputChatBox((i - 1) .. ": " .. tostring(value) .. "[" .. type .. "]", 10, 220, 10) - end - else - outputChatBox("Error: " .. tostring(results[2]), 220, 10, 10) - end - end - elseif (source == aResourcesTab.ExecuteServer) then - local code = guiGetText(aResourcesTab.Command) - if ((code) and (code ~= "")) then - triggerServerEvent("aExecute", localPlayer, code, true) - end - elseif (source == aResourcesTab.Command) then - guiSetVisible(aResourcesTab.ExecuteAdvanced, false) - elseif (source == aResourcesTab.ExecuteAdvanced) then - guiSetVisible(aResourcesTab.ExecuteAdvanced, false) elseif source == aResourcesTab.View then local type = guiComboBoxGetItemText(source, source.selected) if type == "All" then diff --git a/[admin]/admin2/server/admin_server.lua b/[admin]/admin2/server/admin_server.lua index 3274a176b..fc2e5366b 100644 --- a/[admin]/admin2/server/admin_server.lua +++ b/[admin]/admin2/server/admin_server.lua @@ -445,33 +445,6 @@ addEventHandler( end ) -addEvent("aExecute", true) -addEventHandler( - "aExecute", - root, - function(action, echo) - if (hasObjectPermissionTo(source, "command.execute")) then - local result = loadstring("return " .. action)() - if (echo == true) then - local restring = "" - if (type(result) == "table") then - for k, v in pairs(result) do - restring = restring .. tostring(v) .. ", " - end - restring = string.sub(restring, 1, -3) - restring = "Table (" .. restring .. ")" - elseif (type(result) == "userdata") then - restring = "Element (" .. getElementType(result) .. ")" - else - restring = tostring(result) - end - outputChatBox("Command executed! Result: " .. restring, source, 0, 0, 255) - end - outputServerLog("ADMIN: " .. getPlayerName(source) .. " executed command: " .. action) - end - end -) - addEvent("aAdminChat", true) addEventHandler( "aAdminChat",