summaryrefslogtreecommitdiffstats
path: root/Server/webadmin/template.lua
diff options
context:
space:
mode:
Diffstat (limited to 'Server/webadmin/template.lua')
-rw-r--r--Server/webadmin/template.lua62
1 files changed, 21 insertions, 41 deletions
diff --git a/Server/webadmin/template.lua b/Server/webadmin/template.lua
index 168f87993..d80ca5f74 100644
--- a/Server/webadmin/template.lua
+++ b/Server/webadmin/template.lua
@@ -20,7 +20,7 @@ end
-local function GetDefaultPage()
+function GetDefaultPage()
local PM = cRoot:Get():GetPluginManager()
local SubTitle = "Current Game"
@@ -55,31 +55,30 @@ end
function ShowPage(WebAdmin, TemplateRequest)
SiteContent = {}
- local BaseURL = cWebAdmin:GetBaseURL(TemplateRequest.Request.Path)
+ local BaseURL = WebAdmin:GetBaseURL(TemplateRequest.Request.Path)
local Title = "Cuberite WebAdmin"
local NumPlayers = cRoot:Get():GetServer():GetNumPlayers()
local MemoryUsageKiB = cRoot:GetPhysicalRAMUsage()
local NumChunks = cRoot:Get():GetTotalChunkCount()
- local PluginPage = cWebAdmin:GetPage(TemplateRequest.Request)
+ local PluginPage = WebAdmin:GetPage(TemplateRequest.Request)
local PageContent = PluginPage.Content
- local SubTitle = PluginPage.PluginFolder
- if (PluginPage.UrlPath ~= "") then
- SubTitle = PluginPage.PluginFolder .. " - " .. PluginPage.TabTitle
+ local SubTitle = PluginPage.PluginName
+ if (PluginPage.TabName ~= "") then
+ SubTitle = PluginPage.PluginName .. " - " .. PluginPage.TabName
end
if (PageContent == "") then
PageContent, SubTitle = GetDefaultPage()
end
- --[[
- -- 2016-01-15 Mattes: This wasn't used anywhere in the code, no idea what it was supposed to do
local reqParamsClass = ""
- for key, value in pairs(TemplateRequest.Request.Params) do
+
+ for key,value in pairs(TemplateRequest.Request.Params) do
reqParamsClass = reqParamsClass .. " param-" .. string.lower(string.gsub(key, "[^a-zA-Z0-9]+", "-") .. "-" .. string.gsub(value, "[^a-zA-Z0-9]+", "-"))
end
+
if (string.gsub(reqParamsClass, "%s", "") == "") then
reqParamsClass = " no-param"
end
- --]]
Output([[
<!-- Copyright Justin S and Cuberite Team, licensed under CC-BY-SA 3.0 -->
@@ -134,39 +133,20 @@ function ShowPage(WebAdmin, TemplateRequest)
<td class="trow1 smalltext">
]])
- -- Get all tabs:
- local perPluginTabs = {}
- for _, tab in ipairs(cWebAdmin:GetAllWebTabs()) do
- local pluginTabs = perPluginTabs[tab.PluginName] or {};
- perPluginTabs[tab.PluginName] = pluginTabs
- table.insert(pluginTabs, tab)
- end
-
- -- Sort by plugin:
- local pluginNames = {}
- for pluginName, pluginTabs in pairs(perPluginTabs) do
- table.insert(pluginNames, pluginName)
- end
- table.sort(pluginNames)
-
- -- Output by plugin, then alphabetically:
- for _, pluginName in ipairs(pluginNames) do
- local pluginTabs = perPluginTabs[pluginName]
- table.sort(pluginTabs,
- function(a_Tab1, a_Tab2)
- return ((a_Tab1.Title or "") < (a_Tab2.Title or ""))
+
+ local AllPlugins = WebAdmin:GetPlugins()
+ for key,value in pairs(AllPlugins) do
+ local PluginWebTitle = value:GetWebTitle()
+ local TabNames = value:GetTabNames()
+ if (GetTableSize(TabNames) > 0) then
+ Output("<div><a class='usercp_nav_item usercp_nav_pmfolder' style='text-decoration:none;'><b>"..PluginWebTitle.."</b></a></div>\n");
+
+ for webname,prettyname in pairs(TabNames) do
+ Output("<div><a href='" .. BaseURL .. PluginWebTitle .. "/" .. webname .. "' class='usercp_nav_item usercp_nav_sub_pmfolder'>" .. prettyname .. "</a></div>\n")
end
- )
-
- -- Translate the plugin name into the folder name (-> title)
- local pluginWebTitle = cPluginManager:Get():GetPluginFolderName(pluginName) or pluginName
- Output("<div><a class='usercp_nav_item usercp_nav_pmfolder' style='text-decoration:none;'><b>" .. pluginWebTitle .. "</b></a></div>\n");
-
- -- Output each tab:
- for _, tab in pairs(pluginTabs) do
- Output("<div><a href='" .. BaseURL .. pluginName .. "/" .. tab.UrlPath .. "' class='usercp_nav_item usercp_nav_sub_pmfolder'>" .. tab.Title .. "</a></div>\n")
+
+ Output("<br>\n");
end
- Output("<br>\n");
end