diff options
-rw-r--r-- | THANKYOU | 5 | ||||
-rw-r--r-- | libs/cbi/root/www/luci-static/resources/cbi.js (renamed from libs/cbi/root/www/resources/cbi.js) | 0 | ||||
-rw-r--r-- | libs/web/luasrc/dispatcher.lua | 9 | ||||
-rw-r--r-- | modules/admin-core/luasrc/view/about.htm | 27 | ||||
-rw-r--r-- | modules/admin-core/luasrc/view/footer.htm | 8 | ||||
-rw-r--r-- | modules/admin-core/luasrc/view/header.htm | 138 | ||||
-rw-r--r-- | themes/fledermaus/luasrc/view/themes/fledermaus/footer.htm | 7 | ||||
-rw-r--r-- | themes/fledermaus/luasrc/view/themes/fledermaus/header.htm | 137 | ||||
-rw-r--r-- | themes/fledermaus/root/www/luci-static/fledermaus/cascade.css | 6 |
9 files changed, 185 insertions, 152 deletions
@@ -7,4 +7,7 @@ I'd like to thank the following people for contributing to this software: - for donating a Linksys WRT54GL for development purposes * Mickey (Freifunk Hannover) - - for his feedback and fixes for the OpenWRT builds
\ No newline at end of file + - for his feedback and fixes for the OpenWRT builds + +* nbd (OpenWRT) + - for his work on OpenWRT integration and lua modules
\ No newline at end of file diff --git a/libs/cbi/root/www/resources/cbi.js b/libs/cbi/root/www/luci-static/resources/cbi.js index a3a47aa45..a3a47aa45 100644 --- a/libs/cbi/root/www/resources/cbi.js +++ b/libs/cbi/root/www/luci-static/resources/cbi.js diff --git a/libs/web/luasrc/dispatcher.lua b/libs/web/luasrc/dispatcher.lua index fc551a4bd..d075975da 100644 --- a/libs/web/luasrc/dispatcher.lua +++ b/libs/web/luasrc/dispatcher.lua @@ -220,11 +220,18 @@ function createtree() if not built_index then createindex() end + + require("luci.i18n") for k, v in pairs(index) do luci.util.updfenv(v, _M) luci.util.extfenv(v, "_NAME", k) - pcall(v) + + local stat, err = pcall(v) + if not stat then + error500(err) + os.exit(1) + end end built_tree = true diff --git a/modules/admin-core/luasrc/view/about.htm b/modules/admin-core/luasrc/view/about.htm new file mode 100644 index 000000000..48a8674e0 --- /dev/null +++ b/modules/admin-core/luasrc/view/about.htm @@ -0,0 +1,27 @@ +<%+header%> +<h1><%:about Über%> Luci</h1> +<p><%:lucidesc Luci ist eine freie Lua-Bibliothek mit integriertem MVC-Webframework und Weboberfläche für eingebettete Geräte, +speziell Netzwerkrouter unter OpenWRT. Luci steht unter der Apache-Lizenz.%></p> + +<p><strong><%:projecthome Projekt-Homepage%>: </strong><a href="http://luci.freifunk-halle.net">luci.freifunk-halle.net</a></p> + +<br /> +<h2><%:leaddev Leitende Entwicklung%></h2> +<ul style="font-weight: bold"> + <li><a href="mailto:steven-at-midlink-dot-org">Steven "Cyrus" Barth</a> (OpenWRT, Freifunk Halle)</li> + <li><a href="mailto:xm-at-leipzig.freifunk-dot-net">Jo-Philipp "Jow" Wich</a> (Freifunk Leipzig)</li> +</ul> +<br /> + +<h2><%:contributors Mitwirkende Entwickler%></h2> +<ul style="font-weight: bold"> + <li><a href="mailto:nbd-at-openwrt-dot-org">Felix "nbd" Fietkau</a> (OpenWRT)</li> +</ul> +<br /> + +<h2><%:thanksto Dank an%></h2> +<ul style="font-weight: bold"> + <li><a href="http://www.computerhilfe-halle.de">Mono</a> (Computerhilfe-Halle.de)</li> + <li><a href="mailto:mickey-at-netfreaks-dot-org">Mickey Knox</a> (Freifunk Hannover)</li> +</ul> +<%+footer%>
\ No newline at end of file diff --git a/modules/admin-core/luasrc/view/footer.htm b/modules/admin-core/luasrc/view/footer.htm index 4de7bbab0..645e2f494 100644 --- a/modules/admin-core/luasrc/view/footer.htm +++ b/modules/admin-core/luasrc/view/footer.htm @@ -1,7 +1 @@ - </div> - <div class="clear"></div> -</div></div> - -<div class="separator magenta bold"><a href="<%=controller%>/about"><%=require("luci").__appname__ .. " " .. luci.__version__%> - Lua Configuration Interface</a></div> -</body> -</html>
\ No newline at end of file +<% include("themes/" .. luci.fs.basename(media) .. "/footer") %>
\ No newline at end of file diff --git a/modules/admin-core/luasrc/view/header.htm b/modules/admin-core/luasrc/view/header.htm index 5f876781f..1a7780f70 100644 --- a/modules/admin-core/luasrc/view/header.htm +++ b/modules/admin-core/luasrc/view/header.htm @@ -1,137 +1 @@ -<% -require("luci.sys") -local load1, load5, load15 = luci.sys.loadavg() - -local request = require("luci.dispatcher").request -local category = request[1] -local tree = luci.dispatcher.node() -local cattree = category and luci.dispatcher.node(category) -local node = luci.dispatcher.dispatched - -local c = tree -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 - -require("luci.i18n").loadc("default") - -require("luci.http").prepare_content("text/html") -%><?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> -<head> - <link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" /> - <% if node and node.css then %><link rel="stylesheet" type="text/css" href="<%=resource%>/<%=node.css%>" /><% end %> - <meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> - <meta http-equiv="content-script-type" content="text/javascript" /> - <title>LuCI - Lua Configuration Interface</title> -</head> -<body> -<div id="header"> - <div class="headerlogo left"><img src="<%=media%>/logo.png" alt="<%=luci.config.brand.title%>" /></div> - <div class="whitetext smalltext right"> - <%=luci.config.brand.firmware%><br /> - <%=luci.config.brand.distro%><br /> - <%:load Last%>: <%=load1%> <%=load5%> <%=load15%><br /> - <%:hostname Hostname%>: <%=luci.sys.hostname()%> - </div> - <div> - <span class="headertitle"><%=luci.config.brand.title%></span><br /> - <span class="whitetext bold"><%=luci.config.brand.subtitle%></span> - </div> -</div> - -<div class="separator yellow bold"> -<%:path Pfad%>: <% -local c = tree -local url = controller -for k,v in pairs(request) do - if c.nodes and c.nodes[v] then - c = c.nodes[v] - url = url .. "/" .. v - %><a href="<%=url%>"><%=c.title or v%></a> <% if k ~= #request then %>» <% end - end -end -%> -</div> - -<div id="columns"><div id="columnswrapper"> - <div class="sidebar left"> -<% -local function submenu(prefix, node) - if not node._menu_selected or not node.nodes then - return false - end - local index = {} - for k, n in pairs(node.nodes) do - table.insert(index, {name=k, order=n.order or 100}) - end - - table.sort(index, function(a, b) return a.order < b.order end) -%> - <ul> - <% for j, v in pairs(index) do - local nnode = node.nodes[v.name]%> - <li> - <span<% if nnode._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller .. prefix .. v.name%>"><%=nnode.title%></a></span> - <% submenu(prefix .. v.name .. "/", nnode) %> - </li> - <% end %> - </ul> -<% -end - -if cattree and cattree.nodes then - local index = {} - for k, node in pairs(cattree.nodes) do - table.insert(index, {name=k, order=node.order or 100}) - end - - table.sort(index, function(a, b) return a.order < b.order end) - - for i, k in ipairs(index) do - node = cattree.nodes[k.name] - if node.title then %> - <div<% if node._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller%>/<%=category%>/<%=k.name%>"><%=node.title%></a> - <%submenu("/" .. category .. "/" .. k.name .. "/", node)%> - </div> -<% end - end -end -%> - </div> - <div class="sidebar right"> - <div><%:webif Weboberfläche%> - <ul><% - for k,node in pairs(tree.nodes) do - if node.title then %> - <li<% if request[1] == k then %> class="yellowtext"<%end%>><a href="<%=controller%>/<%=k%>"><%=node.title%></a></li> -<% end - end%> - </ul> - </div> - <% - if "admin" == request[1] then - require("luci.model.uci") - local ucic = luci.model.uci.changes() - if ucic then - ucic = #luci.util.split(ucic) - end - %> - <div><%:config Konfiguration%> - <ul> - <% if ucic then %> - <li><a href="<%=controller%>/admin/uci/changes"><%:changes Änderungen%>: <%=ucic%></a></li> - <li><a href="<%=controller%>/admin/uci/apply"><%:apply Anwenden%></a></li> - <li><a href="<%=controller%>/admin/uci/revert"><%:revert Verwerfen%></a></li> - <% else %> - <li><%:changes Änderungen%>: 0</li> - <% end %> - </ul> - </div> - <% end %> - </div> - <div id="content">
\ No newline at end of file +<% include("themes/" .. luci.fs.basename(media) .. "/header") %>
\ No newline at end of file diff --git a/themes/fledermaus/luasrc/view/themes/fledermaus/footer.htm b/themes/fledermaus/luasrc/view/themes/fledermaus/footer.htm new file mode 100644 index 000000000..4de7bbab0 --- /dev/null +++ b/themes/fledermaus/luasrc/view/themes/fledermaus/footer.htm @@ -0,0 +1,7 @@ + </div> + <div class="clear"></div> +</div></div> + +<div class="separator magenta bold"><a href="<%=controller%>/about"><%=require("luci").__appname__ .. " " .. luci.__version__%> - Lua Configuration Interface</a></div> +</body> +</html>
\ No newline at end of file diff --git a/themes/fledermaus/luasrc/view/themes/fledermaus/header.htm b/themes/fledermaus/luasrc/view/themes/fledermaus/header.htm new file mode 100644 index 000000000..5f876781f --- /dev/null +++ b/themes/fledermaus/luasrc/view/themes/fledermaus/header.htm @@ -0,0 +1,137 @@ +<% +require("luci.sys") +local load1, load5, load15 = luci.sys.loadavg() + +local request = require("luci.dispatcher").request +local category = request[1] +local tree = luci.dispatcher.node() +local cattree = category and luci.dispatcher.node(category) +local node = luci.dispatcher.dispatched + +local c = tree +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 + +require("luci.i18n").loadc("default") + +require("luci.http").prepare_content("text/html") +%><?xml version="1.0" encoding="utf-8"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml"> +<head> + <link rel="stylesheet" type="text/css" href="<%=media%>/cascade.css" /> + <% if node and node.css then %><link rel="stylesheet" type="text/css" href="<%=resource%>/<%=node.css%>" /><% end %> + <meta http-equiv="content-type" content="text/xhtml+xml; charset=utf-8" /> + <meta http-equiv="content-script-type" content="text/javascript" /> + <title>LuCI - Lua Configuration Interface</title> +</head> +<body> +<div id="header"> + <div class="headerlogo left"><img src="<%=media%>/logo.png" alt="<%=luci.config.brand.title%>" /></div> + <div class="whitetext smalltext right"> + <%=luci.config.brand.firmware%><br /> + <%=luci.config.brand.distro%><br /> + <%:load Last%>: <%=load1%> <%=load5%> <%=load15%><br /> + <%:hostname Hostname%>: <%=luci.sys.hostname()%> + </div> + <div> + <span class="headertitle"><%=luci.config.brand.title%></span><br /> + <span class="whitetext bold"><%=luci.config.brand.subtitle%></span> + </div> +</div> + +<div class="separator yellow bold"> +<%:path Pfad%>: <% +local c = tree +local url = controller +for k,v in pairs(request) do + if c.nodes and c.nodes[v] then + c = c.nodes[v] + url = url .. "/" .. v + %><a href="<%=url%>"><%=c.title or v%></a> <% if k ~= #request then %>» <% end + end +end +%> +</div> + +<div id="columns"><div id="columnswrapper"> + <div class="sidebar left"> +<% +local function submenu(prefix, node) + if not node._menu_selected or not node.nodes then + return false + end + local index = {} + for k, n in pairs(node.nodes) do + table.insert(index, {name=k, order=n.order or 100}) + end + + table.sort(index, function(a, b) return a.order < b.order end) +%> + <ul> + <% for j, v in pairs(index) do + local nnode = node.nodes[v.name]%> + <li> + <span<% if nnode._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller .. prefix .. v.name%>"><%=nnode.title%></a></span> + <% submenu(prefix .. v.name .. "/", nnode) %> + </li> + <% end %> + </ul> +<% +end + +if cattree and cattree.nodes then + local index = {} + for k, node in pairs(cattree.nodes) do + table.insert(index, {name=k, order=node.order or 100}) + end + + table.sort(index, function(a, b) return a.order < b.order end) + + for i, k in ipairs(index) do + node = cattree.nodes[k.name] + if node.title then %> + <div<% if node._menu_selected then %> class="yellowtext"<%end%>><a href="<%=controller%>/<%=category%>/<%=k.name%>"><%=node.title%></a> + <%submenu("/" .. category .. "/" .. k.name .. "/", node)%> + </div> +<% end + end +end +%> + </div> + <div class="sidebar right"> + <div><%:webif Weboberfläche%> + <ul><% + for k,node in pairs(tree.nodes) do + if node.title then %> + <li<% if request[1] == k then %> class="yellowtext"<%end%>><a href="<%=controller%>/<%=k%>"><%=node.title%></a></li> +<% end + end%> + </ul> + </div> + <% + if "admin" == request[1] then + require("luci.model.uci") + local ucic = luci.model.uci.changes() + if ucic then + ucic = #luci.util.split(ucic) + end + %> + <div><%:config Konfiguration%> + <ul> + <% if ucic then %> + <li><a href="<%=controller%>/admin/uci/changes"><%:changes Änderungen%>: <%=ucic%></a></li> + <li><a href="<%=controller%>/admin/uci/apply"><%:apply Anwenden%></a></li> + <li><a href="<%=controller%>/admin/uci/revert"><%:revert Verwerfen%></a></li> + <% else %> + <li><%:changes Änderungen%>: 0</li> + <% end %> + </ul> + </div> + <% end %> + </div> + <div id="content">
\ No newline at end of file diff --git a/themes/fledermaus/root/www/luci-static/fledermaus/cascade.css b/themes/fledermaus/root/www/luci-static/fledermaus/cascade.css index 5920254c7..c8bb21d6d 100644 --- a/themes/fledermaus/root/www/luci-static/fledermaus/cascade.css +++ b/themes/fledermaus/root/www/luci-static/fledermaus/cascade.css @@ -194,12 +194,6 @@ code { white-space: pre; } -table th, table, td { - vertical-align: top; - text-align: left; - border: 1px solid gray; -} - .cbi-section { margin-top: 1em; } |