X-Git-Url: http://git.archive.openwrt.org/?a=blobdiff_plain;f=themes%2Fopenwrt%2Fluasrc%2Fview%2Fthemes%2Fopenwrt.org%2Fheader.htm;h=6eea8af20b90a92397e16b88ede12ffb41ce09ea;hb=c473bb1d75ff7faa07b89db53b7d8dd526e91904;hp=0a32055f8085639ae31effbac62ba348ddd579d1;hpb=6738c80c0a239e94784ad2b56bd6b279e90d8dc4;p=project%2Fluci.git diff --git a/themes/openwrt/luasrc/view/themes/openwrt.org/header.htm b/themes/openwrt/luasrc/view/themes/openwrt.org/header.htm index 0a32055f8..6eea8af20 100644 --- a/themes/openwrt/luasrc/view/themes/openwrt.org/header.htm +++ b/themes/openwrt/luasrc/view/themes/openwrt.org/header.htm @@ -1,7 +1,7 @@ <%# LuCI - Lua Configuration Interface Copyright 2008 Steven Barth -Copyright 2008 Jo-Philipp Wich +Copyright 2008-2010 Jo-Philipp Wich Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -17,6 +17,8 @@ require("luci.sys") local load1, load5, load15 = luci.sys.loadavg() local request = require("luci.dispatcher").context.path local category = request[1] +local request2 = require("luci.dispatcher").context.request +local leaf = request2[#request2] local tree = luci.dispatcher.node() local cattree = category and luci.dispatcher.node(category) local node = luci.dispatcher.context.dispatched @@ -33,6 +35,72 @@ end require("luci.i18n").loadc("base") require("luci.http").prepare_content("application/xhtml+xml") + + local function nodeurl(prefix, name, query) + local url = controller .. prefix .. name .. "/" + if query then + url = url .. luci.http.build_querystring(query) + end + return pcdata(url) + end + + local function subtree(prefix, node, level) + if not node.nodes or node.hidden then + return false + end + + if not level then + level = 1 + end + + local index = {} + local count = 0 + for k, n in pairs(node.nodes) do + if n.title and n.target then + table.insert(index, {name=k, order=n.order or 100}) + count = count + 1 + end + end + + table.sort(index, function(a, b) return a.order < b.order end) + + if count > 0 then +%> +
+
    + <% + local selected_node + local selected_name + + for j, v in pairs(index) do + if #v.name > 0 then + local nnode = node.nodes[v.name] + + if nnode._menu_selected then + selected_node = nnode + selected_name = v.name + end + %> +
  • + <%=striptags(nnode.title)%> +
  • + <% + end + end + %> +
+
+<% + if selected_node then + subtree(prefix .. selected_name .. "/", selected_node, level + 1) + end +%> +
+<% + end + end + + -%> @@ -42,13 +110,11 @@ require("luci.http").prepare_content("application/xhtml+xml") - + + <% if node and node.css then %> <% end -%> - - - <%=striptags( hostname .. ( (node and node.title) and ' - ' .. node.title or '')) %> - LuCI @@ -59,77 +125,13 @@ require("luci.http").prepare_content("application/xhtml+xml") <%:Skip to content%>

- - -
- - <%- if not luci.sys.user.getpasswd("root") then -%> -
- <%:No password set!%>
- <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> +
+
+ <% if category then subtree("/" .. category .. "/", cattree) end %>
- <%- end -%> + +
+ + + <%- if luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> +
+ <%:No password set!%>
+ <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> +
+ <%- end -%>