themes/freifunk-generic: port to updated dispatcher api
This commit is contained in:
parent
7918c83586
commit
a31debe8a3
1 changed files with 108 additions and 117 deletions
|
@ -1,7 +1,7 @@
|
||||||
<%#
|
<%#
|
||||||
LuCI - Lua Configuration Interface
|
LuCI - Lua Configuration Interface
|
||||||
Copyright 2008 Steven Barth <steven@midlink.org>
|
Copyright 2008 Steven Barth <steven@midlink.org>
|
||||||
Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
|
Copyright 2008-2011 Jo-Philipp Wich <xm@subsignal.org>
|
||||||
|
|
||||||
Licensed under the Apache License, Version 2.0 (the "License");
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
you may not use this file except in compliance with the License.
|
you may not use this file except in compliance with the License.
|
||||||
|
@ -11,54 +11,60 @@ You may obtain a copy of the License at
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
<%
|
<%
|
||||||
require("luci.sys")
|
local fs = require "luci.fs"
|
||||||
local uci = require "luci.model.uci".cursor()
|
local sys = require "luci.sys"
|
||||||
local fs = require "luci.fs"
|
local http = require "luci.http"
|
||||||
|
local disp = require "luci.dispatcher"
|
||||||
|
|
||||||
local load1, load5, load15 = luci.sys.loadavg()
|
local hostname = sys.hostname()
|
||||||
local request = require("luci.dispatcher").context.path
|
local load1, load5, load15 = sys.loadavg()
|
||||||
local category = request[1]
|
|
||||||
local tree = luci.dispatcher.node()
|
|
||||||
local cattree = category and luci.dispatcher.node(category)
|
|
||||||
local node = luci.dispatcher.context.dispatched
|
|
||||||
local hostname = luci.sys.hostname()
|
|
||||||
local ff = uci:get("freifunk", "community", "name") or ""
|
|
||||||
local co = "profile_" .. ff
|
|
||||||
local community = uci:get_first(co, "community", "name") or "Freifunk"
|
|
||||||
local hp = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net"
|
|
||||||
local logo = "/luci-static/freifunk-generic/logo.jpg"
|
|
||||||
local banner = false
|
|
||||||
local show_comm = true
|
|
||||||
|
|
||||||
local lo = fs.glob("/www/luci-static/resources/custom_logo.*")
|
local request = disp.context.path
|
||||||
if lo[1] then
|
local category = request[1]
|
||||||
logo = string.gsub(lo[1], "/www", "")
|
local cattree = category and disp.node(category)
|
||||||
end
|
|
||||||
|
|
||||||
local lon = fs.glob("/www/luci-static/resources/custom_logo_only.*")
|
local tree = disp.node()
|
||||||
if lon[1] then
|
local node = disp.context.dispatched
|
||||||
logo = string.gsub(lon[1], "/www", "")
|
|
||||||
show_comm = false
|
|
||||||
end
|
|
||||||
|
|
||||||
local hea = fs.glob("/www/luci-static/resources/custom_header.*")
|
local categories = disp.node_childs(tree)
|
||||||
if hea[1] then
|
|
||||||
logo = string.gsub(hea[1], "/www", "")
|
|
||||||
show_comm = false
|
|
||||||
banner = true
|
|
||||||
end
|
|
||||||
|
|
||||||
local c = tree
|
local c = tree
|
||||||
for i,r in ipairs(request) do
|
local i, r
|
||||||
if c.nodes and c.nodes[r] then
|
|
||||||
c = c.nodes[r]
|
-- tag all nodes leading to this page
|
||||||
c._menu_selected = true
|
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
|
end
|
||||||
end
|
|
||||||
|
|
||||||
require("luci.i18n").loadc("default")
|
local uci = require "luci.model.uci".cursor()
|
||||||
require("luci.http").prepare_content("application/xhtml+xml")
|
local ff = uci:get("freifunk", "community", "name") or ""
|
||||||
|
local co = "profile_" .. ff
|
||||||
|
local community = uci:get_first(co, "community", "name") or "Freifunk"
|
||||||
|
local hp = uci:get_first(co, "community", "homepage") or "http://www.freifunk.net"
|
||||||
|
local logo = "/luci-static/freifunk-generic/logo.jpg"
|
||||||
|
local banner = false
|
||||||
|
local show_comm = true
|
||||||
|
|
||||||
|
local lo = fs.glob("/www/luci-static/resources/custom_logo.*")
|
||||||
|
if lo[1] then
|
||||||
|
logo = string.gsub(lo[1], "/www", "")
|
||||||
|
end
|
||||||
|
|
||||||
|
local lon = fs.glob("/www/luci-static/resources/custom_logo_only.*")
|
||||||
|
if lon[1] then
|
||||||
|
logo = string.gsub(lon[1], "/www", "")
|
||||||
|
show_comm = false
|
||||||
|
end
|
||||||
|
|
||||||
|
local hea = fs.glob("/www/luci-static/resources/custom_header.*")
|
||||||
|
if hea[1] then
|
||||||
|
logo = string.gsub(hea[1], "/www", "")
|
||||||
|
show_comm = false
|
||||||
|
banner = true
|
||||||
|
end
|
||||||
-%>
|
-%>
|
||||||
|
|
||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
@ -69,7 +75,7 @@ require("luci.http").prepare_content("application/xhtml+xml")
|
||||||
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
||||||
<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" />
|
<link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/cascade.css" />
|
||||||
<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="<%=media%>/mobile.css" type="text/css" />
|
<link rel="stylesheet" media="only screen and (max-device-width: 480px)" href="<%=media%>/mobile.css" type="text/css" />
|
||||||
<link rel="stylesheet" media="handheld" href="<%=media%>/mobile.css" type="text/css" />
|
<link rel="stylesheet" media="handheld" href="<%=media%>/mobile.css" type="text/css" />
|
||||||
<!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/ie7.css" /><![endif]-->
|
<!--[if IE 7]><link rel="stylesheet" type="text/css" media="screen" href="<%=media%>/ie7.css" /><![endif]-->
|
||||||
<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" />
|
<% if node and node.css then %><link rel="stylesheet" type="text/css" media="screen" href="<%=resource%>/<%=node.css%>" />
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
@ -118,86 +124,71 @@ require("luci.http").prepare_content("application/xhtml+xml")
|
||||||
<%=luci.version.distversion%><br />
|
<%=luci.version.distversion%><br />
|
||||||
<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
|
<%:Load%>: <%="%.2f" % load1%> <%="%.2f" % load5%> <%="%.2f" % load15%><br />
|
||||||
<%:Hostname%>: <%=hostname%><br />
|
<%:Hostname%>: <%=hostname%><br />
|
||||||
<span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()">
|
<span id="xhr_poll_status" style="display:none" onclick="XHR.running() ? XHR.halt() : XHR.run()">
|
||||||
<%:Auto Refresh%>:
|
<%:Auto Refresh%>:
|
||||||
<span id="xhr_poll_status_on"><%:on%></span>
|
<span id="xhr_poll_status_on"><%:on%></span>
|
||||||
<span id="xhr_poll_status_off" style="display:none"><%:off%></span>
|
<span id="xhr_poll_status_off" style="display:none"><%:off%></span>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
<%end%>
|
<%end%>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<%-
|
||||||
|
local function submenu(prefix, node)
|
||||||
|
local childs = disp.node_childs(node)
|
||||||
|
if #childs > 0 then
|
||||||
|
%>
|
||||||
|
<ul id="submenu_<%=string.gsub(string.gsub(prefix, "/", "_"), "^_(.-)_$", "%1")%>">
|
||||||
|
<%-
|
||||||
|
for i, r in ipairs(childs) do
|
||||||
|
local nnode = node.nodes[r]
|
||||||
|
local href = controller .. prefix .. r .. "/" ..
|
||||||
|
(nnode.query and http.build_querystring(nnode.query) or "")
|
||||||
|
%>
|
||||||
|
<li>
|
||||||
|
<a<%=ifattr(nnode._menu_selected, "class", "active")%> href="<%=luci.util.pcdata(href)%>"><%=translate(nnode.title)%></a>
|
||||||
|
<%- submenu(prefix .. r .. "/", nnode) %>
|
||||||
|
</li>
|
||||||
|
<%-
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
</ul>
|
||||||
|
<%
|
||||||
|
end
|
||||||
|
end
|
||||||
|
%>
|
||||||
|
|
||||||
<div id="menubar">
|
<div id="menubar">
|
||||||
<h2 class="navigation"><a id="navigation" name="navigation"><%:navigation Navigation%></a></h2>
|
<h2 class="navigation"><a id="navigation" name="navigation"><%:navigation Navigation%></a></h2>
|
||||||
<ul id="mainmenu" class="dropdowns">
|
<ul id="mainmenu" class="dropdowns">
|
||||||
<%-
|
<%
|
||||||
local function submenu(prefix, node)
|
local childs = disp.node_childs(cattree)
|
||||||
if not node.nodes or node.hidden then
|
if #childs > 0 then
|
||||||
return false
|
for i, r in ipairs(childs) do
|
||||||
end
|
local nnode = cattree.nodes[r]
|
||||||
local index = {}
|
local href = controller .. "/" .. category .. "/" .. r ..
|
||||||
local count = 0
|
(nnode.query and http.build_querystring(k.query) or "")
|
||||||
for k, n in pairs(node.nodes) do
|
%>
|
||||||
if n.title and n.target then
|
<li>
|
||||||
table.insert(index, {name=k, order=n.order or 100})
|
<a<%=ifattr(nnode._menu_selected, "class", "preactive")%> href="<%=href%>"><%=translate(nnode.title)%></a>
|
||||||
count = count + 1
|
<%- submenu("/" .. category .. "/" .. r .. "/", nnode) %>
|
||||||
end
|
</li>
|
||||||
end
|
<%
|
||||||
|
|
||||||
table.sort(index, function(a, b) return a.order < b.order end)
|
|
||||||
|
|
||||||
if count > 0 then
|
|
||||||
%>
|
|
||||||
<ul id="submenu_<%=string.gsub(string.gsub(prefix, "/", "_"), "^_(.-)_$", "%1")%>">
|
|
||||||
<%-
|
|
||||||
for j, v in pairs(index) do
|
|
||||||
if #v.name > 0 then
|
|
||||||
local nnode = node.nodes[v.name]
|
|
||||||
local href = controller .. prefix .. v.name .. "/"
|
|
||||||
href = (nnode.query) and href .. luci.http.build_querystring(nnode.query) or href
|
|
||||||
%>
|
|
||||||
<li><a<% if nnode._menu_selected then %> class="active"<%end%> href="<%=luci.util.pcdata(href)%>"><%=translate(nnode.title)%></a><%-
|
|
||||||
submenu(prefix .. v.name .. "/", nnode)
|
|
||||||
%></li>
|
|
||||||
<%-
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
%>
|
%>
|
||||||
|
<li></li>
|
||||||
</ul>
|
</ul>
|
||||||
<%
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
if cattree and cattree.nodes then
|
<% if #categories > 1 then %>
|
||||||
local index = {}
|
<div class="modemenu">
|
||||||
for k, node in pairs(cattree.nodes) do
|
<ul>
|
||||||
table.insert(index, {name=k, order=node.order or 100})
|
<% for i, r in ipairs(categories) do %>
|
||||||
end
|
<li><a<%=ifattr(request[1] == r, "class", "active")%> href="<%=controller%>/<%=r%>/"><%=striptags(translate(tree.nodes[r].title))%></a></li>
|
||||||
|
<% end %>
|
||||||
table.sort(index, function(a, b) return a.order < b.order end)
|
</ul>
|
||||||
|
</div>
|
||||||
for i, k in ipairs(index) do
|
<% end %>
|
||||||
node = cattree.nodes[k.name]
|
|
||||||
if node.title and node.target and not node.hidden then
|
|
||||||
local href = controller.."/"..category.."/"..k.name.."/"
|
|
||||||
href = (k.query) and href .. luci.http.build_querystring(k.query) or href
|
|
||||||
%>
|
|
||||||
<li><a<% if node._menu_selected then %> class="preactive"<%end%> href="<%=href%>"><%=translate(node.title)%></a><%
|
|
||||||
submenu("/" .. category .. "/" .. k.name .. "/", node)
|
|
||||||
%></li><% end
|
|
||||||
end
|
|
||||||
end
|
|
||||||
%>
|
|
||||||
<li></li></ul>
|
|
||||||
|
|
||||||
<ul id="modemenu"><%
|
|
||||||
for k,node in pairs(tree.nodes) do
|
|
||||||
if node.title and not node.hidden then %>
|
|
||||||
<li><a<% if request[1] == k then %> class="active"<%end%> href="<%=controller%>/<%=k%>/"><%=translate(node.title)%></a></li><%
|
|
||||||
end
|
|
||||||
end
|
|
||||||
%>
|
|
||||||
</ul>
|
|
||||||
|
|
||||||
<%
|
<%
|
||||||
if tree.nodes[category] and tree.nodes[category].ucidata then
|
if tree.nodes[category] and tree.nodes[category].ucidata then
|
||||||
|
@ -210,12 +201,12 @@ if tree.nodes[category] and tree.nodes[category].ucidata then
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
-%>
|
-%>
|
||||||
|
<div id="savemenu">
|
||||||
<div id="savemenu">
|
<% if ucic > 0 then %>
|
||||||
<% if ucic > 0 then %>
|
<a class="warning" href="<%=controller%>/<%=category%>/uci/changes/?redir=<%=http.urlencode(http.formvalue("redir") or REQUEST_URI)%>"><%:Unsaved Changes%>: <%=ucic%></a>
|
||||||
<a class="warning" href="<%=controller%>/<%=category%>/uci/changes/?redir=<%=luci.http.urlencode(luci.http.formvalue("redir") or REQUEST_URI)%>"><%:Unsaved Changes%>: <%=ucic%></a>
|
<% end -%>
|
||||||
<% end -%>
|
</div>
|
||||||
</div><% end %>
|
<% end %>
|
||||||
|
|
||||||
<div class="clear"></div>
|
<div class="clear"></div>
|
||||||
</div>
|
</div>
|
||||||
|
|
Loading…
Reference in a new issue