<%# Copyright 2008 Steven Barth Copyright 2008-2010 Jo-Philipp Wich Licensed to the public under the Apache License 2.0. -%> <% local sys = require "luci.sys" local util = require "luci.util" local http = require "luci.http" local disp = require "luci.dispatcher" local ver = require "luci.version" local sysinfo = util.ubus("system", "info") or { } local loadinfo = sysinfo.load or { 0, 0, 0 } local boardinfo = util.ubus("system", "board") or { } local request = disp.context.path local request2 = disp.context.request local category = request[1] local cattree = category and disp.node(category) local leaf = request2[#request2] local tree = disp.node() local node = disp.context.dispatched local categories = disp.node_childs(tree) local c = tree local i, r -- tag all nodes leading to this page for i, r in ipairs(request) do if c.nodes and c.nodes[r] then c = c.nodes[r] c._menu_selected = true end end http.prepare_content("application/xhtml+xml") local function nodeurl(prefix, name, query) local u = url(prefix, name) if query then u = u .. http.build_querystring(query) end return pcdata(u) end local function render_menu(prefix, node, level) if not level then level = 1 end local childs = disp.node_childs(node) if #childs > 0 then write('
    ' %{ level, level }) local selected_node local selected_name local i, v for i, v in ipairs(childs) do local nnode = node.nodes[v] if nnode._menu_selected then selected_node = nnode selected_name = v end write('
  • %s
  • ' %{ v, (nnode._menu_selected or (node.leaf and v == leaf)) and 'active' or '', nodeurl(prefix, v, nnode.query), striptags(translate(nnode.title)) }) end write('

') if selected_node then render_menu(prefix .. "/" .. selected_name, selected_node, level + 1) end write('
') end end local function render_changes() if tree.nodes[category] and tree.nodes[category].ucidata then local ucic = 0 for i, j in pairs(require("luci.model.uci").cursor():changes()) do for k, l in pairs(j) do for m, n in pairs(l) do ucic = ucic + 1; end end end write('
') if ucic > 0 then write('%s: %d' %{ url(category, 'uci/changes'), http.urlencode(http.formvalue('redir') or table.concat(disp.context.request, "/")), translate('Unsaved Changes'), ucic }) else write('%s: 0' %{ translate('Unsaved Changes') }) end write('
') end end -%> <% if node and node.css then %> <% end -%> <% if css then %> <% end -%> <%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI
<% if category then render_menu(category, cattree) end %>
<%- if luci.sys.process.info("uid") == 0 and luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") and category ~= "failsafe" 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.%>
"><%:Go to password configuration...%>
<%- end -%>