summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--THANKYOU5
-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.lua9
-rw-r--r--modules/admin-core/luasrc/view/about.htm27
-rw-r--r--modules/admin-core/luasrc/view/footer.htm8
-rw-r--r--modules/admin-core/luasrc/view/header.htm138
-rw-r--r--themes/fledermaus/luasrc/view/themes/fledermaus/footer.htm7
-rw-r--r--themes/fledermaus/luasrc/view/themes/fledermaus/header.htm137
-rw-r--r--themes/fledermaus/root/www/luci-static/fledermaus/cascade.css6
9 files changed, 185 insertions, 152 deletions
diff --git a/THANKYOU b/THANKYOU
index 4e0712f9c..2bf567bfb 100644
--- a/THANKYOU
+++ b/THANKYOU
@@ -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 %>&#187; <% 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 %>&#187; <% 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;
}