* Core translation part 1
* Introduced new default theme "OpenWRT.org" * Minor tweaks
This commit is contained in:
parent
464f6ed456
commit
2623e2880c
17 changed files with 591 additions and 70 deletions
|
@ -132,6 +132,7 @@ define Package/luci-ff-halle
|
|||
DEPENDS+= \
|
||||
+luci-sgi-haserl +luci-app-splash \
|
||||
+luci-app-ffwizard-leipzig \
|
||||
+luci-theme-fledermaus \
|
||||
+olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
|
||||
+kmod-tun +ip
|
||||
TITLE:=Freifunk Halle Community Meta-Package
|
||||
|
@ -148,6 +149,7 @@ define Package/luci-ff-leipzig
|
|||
DEPENDS+= \
|
||||
+luci-sgi-haserl +luci-app-splash \
|
||||
+luci-app-ffwizard-leipzig \
|
||||
+luci-theme-fledermaus \
|
||||
+olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice \
|
||||
+kmod-tun +ip
|
||||
TITLE:=Freifunk Leipzig Community Meta-Package
|
||||
|
@ -163,6 +165,7 @@ define Package/luci-ff-hannover
|
|||
$(call Package/luci/fftemplate)
|
||||
DEPENDS+= \
|
||||
+luci-sgi-haserl +luci-app-splash \
|
||||
+luci-theme-fledermaus \
|
||||
+olsrd +olsrd-mod-dyn-gw +olsrd-mod-txtinfo +olsrd-mod-nameservice
|
||||
TITLE:=Freifunk Hannover Community Meta-Package
|
||||
URL:=http://www.freifunk-hannover.de/
|
||||
|
@ -179,7 +182,7 @@ endef
|
|||
|
||||
define Package/luci-mod-admin-core
|
||||
$(call Package/luci/webtemplate)
|
||||
DEPENDS+=+luci-web +luci-cbi +luci-theme-fledermaus
|
||||
DEPENDS+=+luci-web +luci-cbi +luci-theme-openwrt
|
||||
TITLE:=Administration module
|
||||
endef
|
||||
|
||||
|
@ -297,13 +300,22 @@ endef
|
|||
### Templates ###
|
||||
define Package/luci-theme-fledermaus
|
||||
$(call Package/luci/thtemplate)
|
||||
TITLE:=Fledermaus (default)
|
||||
TITLE:=Fledermaus (Freifunk theme)
|
||||
endef
|
||||
|
||||
define Package/luci-theme-fledermaus/install
|
||||
$(call Package/luci/install/template,$(1),themes/fledermaus)
|
||||
endef
|
||||
|
||||
define Package/luci-theme-openwrt
|
||||
$(call Package/luci/thtemplate)
|
||||
TITLE:=OpenWRT.org (default)
|
||||
endef
|
||||
|
||||
define Package/luci-theme-openwrt/install
|
||||
$(call Package/luci/install/template,$(1),themes/openwrt.org)
|
||||
endef
|
||||
|
||||
|
||||
### Compile ###
|
||||
ifneq ($(CONFIG_PACKAGE_luci-core),)
|
||||
|
@ -356,6 +368,9 @@ endif
|
|||
ifneq ($(CONFIG_PACKAGE_luci-theme-fledermaus),)
|
||||
PKG_SELECTED_MODULES+=themes/fledermaus
|
||||
endif
|
||||
ifneq ($(CONFIG_PACKAGE_luci-theme-openwrt),)
|
||||
PKG_SELECTED_MODULES+=themes/openwrt.org
|
||||
endif
|
||||
|
||||
|
||||
$(eval $(call BuildPackage,luci-core))
|
||||
|
@ -378,3 +393,4 @@ $(eval $(call BuildPackage,luci-sgi-haserl))
|
|||
$(eval $(call BuildPackage,luci-sgi-webuci))
|
||||
|
||||
$(eval $(call BuildPackage,luci-theme-fledermaus))
|
||||
$(eval $(call BuildPackage,luci-theme-openwrt))
|
||||
|
|
37
i18n/english/luasrc/i18n/admin-core.en
Normal file
37
i18n/english/luasrc/i18n/admin-core.en
Normal file
|
@ -0,0 +1,37 @@
|
|||
a_i_ui = "User Interface"
|
||||
|
||||
c_lucidesc = [[LuCI is a free Lua library with integrated MVC-Webframework and webinterface for embedded devices,
|
||||
aspecially routers that run OpenWRT. Luci is licensed under the Apache-License.]]
|
||||
c_projecthome = "Project Homepage"
|
||||
c_leaddev = "Lead Development"
|
||||
c_contributors = "Contributing Developers"
|
||||
c_thanksto = "Thanks To"
|
||||
|
||||
a_i_i_hello = "Hello!"
|
||||
a_i_i_admin1 = "This is the administration area of LuCI."
|
||||
a_i_i_admin2 = "LuCI is a free, flexible, and user friendly graphical interface for configuring OpenWRT Kamikaze."
|
||||
a_i_i_admin3 = "On the following pages you can adjust all important settings of your router."
|
||||
a_i_i_admin4 = "You will find a navigation leading to the different configuration pages on the left side."
|
||||
a_i_i_admin5 = [[As we are always want to improve this interface we are looking forward
|
||||
to your feedback and suggestions.]]
|
||||
a_i_i_admin6 = "And now have fun with your router!"
|
||||
a_i_i_team = "The LuCI Team"
|
||||
|
||||
a_i_status1 = [[Here you can find information about the current system status like CPU clock frequency, memory
|
||||
usage or network interface data.]]
|
||||
a_i_status2 = [[Also kernel or service logfiles can be viewed here to get an overview over their current state.]]
|
||||
|
||||
a_s_packages = "Software"
|
||||
a_s_changepw = "Admin Password"
|
||||
a_s_ipkg = "IPKG-Configuration"
|
||||
a_s_sshkeys = "SSH-Keys"
|
||||
a_s_fstab = "Mount Points"
|
||||
|
||||
luci1 = "Here you can customize the settings and the functionality of LuCI."
|
||||
language = "Language"
|
||||
general = "General"
|
||||
ucicommit = "Post-commit actions"
|
||||
ucicommit1 = [[These commands will be executed automatically when a given UCI configuration is committed allowing
|
||||
changes to be applied instantly.]]
|
||||
keepflash = "Files to be kept when flashing a new firmware"
|
||||
keepflash1 = "When flashing a new firmware with LuCI these files will be added to the new firmware installation."
|
27
i18n/english/luasrc/i18n/default.en
Normal file
27
i18n/english/luasrc/i18n/default.en
Normal file
|
@ -0,0 +1,27 @@
|
|||
about = "About"
|
||||
add = "Add"
|
||||
administration = "Administration"
|
||||
apply = "Apply"
|
||||
|
||||
changes = "Changes"
|
||||
config = "Configuration"
|
||||
|
||||
fwupgrade = "Firmware Upgrade"
|
||||
|
||||
hostname = "Hostname"
|
||||
|
||||
load = "Load"
|
||||
|
||||
overview = "Overview"
|
||||
packagemanager = "Package Manager"
|
||||
path = "Path"
|
||||
|
||||
reset = "Reset"
|
||||
revert = "Revert"
|
||||
|
||||
save = "Save"
|
||||
statistics = "Statistics"
|
||||
syslog = "System Log"
|
||||
system = "System"
|
||||
|
||||
webui = "Web UI"
|
|
@ -128,9 +128,6 @@ function dispatch()
|
|||
tpl.viewns.media = luci.config.main.mediaurlbase
|
||||
tpl.viewns.resource = luci.config.main.resourcebase
|
||||
|
||||
-- Load default translation
|
||||
require("luci.i18n").loadc("default")
|
||||
|
||||
|
||||
if c and type(c.target) == "function" then
|
||||
dispatched = c
|
||||
|
@ -224,10 +221,20 @@ function createtree()
|
|||
end
|
||||
|
||||
require("luci.i18n")
|
||||
|
||||
-- Load default translation
|
||||
luci.i18n.loadc("default")
|
||||
|
||||
local scope = _G
|
||||
for k,v in pairs(_M) do
|
||||
if type(v) == "function" then
|
||||
scope[k] = v
|
||||
end
|
||||
end
|
||||
|
||||
for k, v in pairs(index) do
|
||||
luci.util.updfenv(v, _M)
|
||||
luci.util.extfenv(v, "_NAME", k)
|
||||
scope._NAME = k
|
||||
setfenv(v, scope)
|
||||
|
||||
local stat, err = pcall(v)
|
||||
if not stat then
|
||||
|
|
|
@ -1,33 +1,33 @@
|
|||
config core main
|
||||
option lang de
|
||||
option mediaurlbase /luci-static/fledermaus
|
||||
option mediaurlbase /luci-static/openwrt.org
|
||||
option resourcebase /luci-static/resources
|
||||
|
||||
config core brand
|
||||
option title "OpenWRT Kamikaze"
|
||||
option subtitle Freifunkedition
|
||||
option firmware "OpenWRT Kamikaze"
|
||||
option distro "Freifunk Firmware 2.x"
|
||||
option title "OpenWRT Kamikaze"
|
||||
option subtitle "Lua Configuration Interface"
|
||||
option firmware "OpenWRT Kamikaze"
|
||||
option distro "Development Snapshot"
|
||||
|
||||
config extern flash_keep
|
||||
option uci "/etc/config"
|
||||
option uci "/etc/config"
|
||||
option dropbear "/etc/dropbear"
|
||||
option openvpn "/etc/openvpn"
|
||||
option passwd "/etc/passwd"
|
||||
option ipkg "/etc/ipkg.conf"
|
||||
option ipkg "/etc/ipkg.conf"
|
||||
option httpd "/etc/httpd.conf"
|
||||
option firewall "/etc/firewall.user"
|
||||
|
||||
config event uci_oncommit
|
||||
option network "/etc/init.d/network restart"
|
||||
option wireless "/etc/init.d/network restart"
|
||||
option olsr "/sbin/reboot"
|
||||
option dhcp "/etc/init.d/dnsmasq restart"
|
||||
option olsr "/etc/init.d/olsrd restart"
|
||||
option dhcp "/etc/init.d/dnsmasq restart"
|
||||
option luci_fw "/etc/init.d/luci_fw restart"
|
||||
option dropbear "/etc/init.d/dropbear restart"
|
||||
option httpd "/etc/init.d/httpd restart"
|
||||
option fstab "/etc/init.d/fstab restart"
|
||||
option qos "/etc/init.d/qos restart"
|
||||
option qos "/etc/init.d/qos restart"
|
||||
option luci_splash "/etc/init.d/luci_splash restart"
|
||||
option freifunk "/etc/init.d/luci_freifunk restart"
|
||||
|
||||
|
@ -36,4 +36,5 @@ config internal languages
|
|||
option en "English"
|
||||
|
||||
config internal themes
|
||||
option OpenWRT "/luci-static/openwrt.org"
|
||||
option Fledermaus "/luci-static/fledermaus"
|
||||
|
|
|
@ -1,26 +1,30 @@
|
|||
module("luci.controller.admin.index", package.seeall)
|
||||
|
||||
function index()
|
||||
luci.i18n.loadc("admin-core")
|
||||
local i18n = luci.i18n.translate
|
||||
|
||||
local root = node()
|
||||
if not root.target then
|
||||
root.target = alias("admin")
|
||||
end
|
||||
|
||||
entry({"about"}, template("about"))
|
||||
entry({"about"}, template("about")).i18n = "admin-core"
|
||||
|
||||
local page = node("admin")
|
||||
page.target = alias("admin", "index")
|
||||
page.title = "Administration"
|
||||
page.title = i18n("administration", "Administration")
|
||||
page.order = 10
|
||||
page.i18n = "admin-core"
|
||||
|
||||
local page = node("admin", "index")
|
||||
page.target = template("admin_index/index")
|
||||
page.title = "Übersicht"
|
||||
page.title = i18n("overview", "Übersicht")
|
||||
page.order = 10
|
||||
|
||||
local page = node("admin", "index", "luci")
|
||||
page.target = cbi("admin_index/luci")
|
||||
page.title = "Oberfläche"
|
||||
page.title = i18n("a_i_ui", "Oberfläche")
|
||||
|
||||
|
||||
end
|
|
@ -1,8 +1,11 @@
|
|||
module("luci.controller.admin.status", package.seeall)
|
||||
|
||||
function index()
|
||||
entry({"admin", "status"}, template("admin_status/index"), "Status", 20)
|
||||
entry({"admin", "status", "syslog"}, call("action_syslog"), "Systemprotokoll")
|
||||
luci.i18n.loadc("admin-core")
|
||||
local i18n = luci.i18n.translate
|
||||
|
||||
entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20)
|
||||
entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "Systemprotokoll"))
|
||||
end
|
||||
|
||||
function action_syslog()
|
||||
|
|
|
@ -8,14 +8,17 @@ require("luci.model.ipkg")
|
|||
require("luci.model.uci")
|
||||
|
||||
function index()
|
||||
entry({"admin", "system"}, template("admin_system/index"), "System", 30)
|
||||
entry({"admin", "system", "packages"}, call("action_packages"), "Paketverwaltung", 10)
|
||||
entry({"admin", "system", "packages", "ipkg"}, call("action_ipkg"), "IPKG-Konfiguration")
|
||||
entry({"admin", "system", "passwd"}, call("action_passwd"), "Passwort ändern", 20)
|
||||
entry({"admin", "system", "sshkeys"}, call("action_sshkeys"), "SSH-Schlüssel", 30)
|
||||
entry({"admin", "system", "hostname"}, cbi("admin_system/hostname"), "Hostname", 40)
|
||||
entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), "Einhängepunkte", 50)
|
||||
entry({"admin", "system", "upgrade"}, call("action_upgrade"), "Firmwareupgrade", 60)
|
||||
luci.i18n.loadc("admin-core")
|
||||
local i18n = luci.i18n.translate
|
||||
|
||||
entry({"admin", "system"}, template("admin_system/index"), i18n("system", "System"), 30)
|
||||
entry({"admin", "system", "packages"}, call("action_packages"), i18n("a_s_packages", "Paketverwaltung"), 10)
|
||||
entry({"admin", "system", "packages", "ipkg"}, call("action_ipkg"), i18n("a_s_ipkg", "IPKG-Konfiguration"))
|
||||
entry({"admin", "system", "passwd"}, call("action_passwd"), i18n("a_s_changepw", "Passwort ändern"), 20)
|
||||
entry({"admin", "system", "sshkeys"}, call("action_sshkeys"), i18n("a_s_sshkeys", "SSH-Schlüssel"), 30)
|
||||
entry({"admin", "system", "hostname"}, cbi("admin_system/hostname"), i18n("hostname", "Hostname"), 40)
|
||||
entry({"admin", "system", "fstab"}, cbi("admin_system/fstab"), i18n("a_s_fstab", "Einhängepunkte"), 50)
|
||||
entry({"admin", "system", "upgrade"}, call("action_upgrade"), i18n("fwupgrade", "Firmwareupgrade"), 60)
|
||||
entry({"admin", "system", "reboot"}, call("action_reboot"), "Neu starten", 70)
|
||||
end
|
||||
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
luci = "User Interface"
|
||||
|
||||
hello = "Hello!"
|
||||
admin1 = "This is the administration area of LuCI."
|
||||
admin2 = "LuCI is a free, flexible, and user friendly graphical interface for configuring OpenWRT Kamikaze."
|
||||
admin3 = "On the following pages you can adjust all important settings of your router."
|
||||
admin4 = "You will find a navigation leading to the different configuration pages on the left side."
|
||||
admin5 = [[As we are always want to improve this interface we are looking forward
|
||||
to your feedback and suggestions.]]
|
||||
admin6 = "And now have fun with your router!"
|
||||
team = "The LuCI Team"
|
||||
|
||||
luci1 = "Here you can customize the settings and the functionality of LuCI."
|
||||
language = "Language"
|
||||
general = "General"
|
||||
ucicommit = "Post-commit actions"
|
||||
ucicommit1 = [[These commands will be executed automatically when a given UCI configuration is committed allowing
|
||||
changes to be applied instantly.]]
|
||||
keepflash = "Files to be kept when flashing a new firmware"
|
||||
keepflash1 = "When flashing a new firmware with LuCI these files will be added to the new firmware installation."
|
|
@ -1,25 +1,25 @@
|
|||
<%+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,
|
||||
<h1><%:about Über%> LuCI</h1>
|
||||
<p><%:c_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>
|
||||
<p><strong><%:c_projecthome Projekt-Homepage%>: </strong><a href="http://luci.freifunk-halle.net">luci.freifunk-halle.net</a></p>
|
||||
|
||||
<br />
|
||||
<h2><%:leaddev Leitende Entwicklung%></h2>
|
||||
<h2><%:c_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>
|
||||
<h2><%:c_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>
|
||||
<h2><%:c_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>
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
<%+header%>
|
||||
<h1><%:hello Hallo!%></h1>
|
||||
<p><%:admin1 Dies ist der Administrationsbereich von LuCI.%></p>
|
||||
<p><%:admin2 LuCI ist eine freie, flexible und benutzerfreundliche grafische Oberfläche zur Konfiguration von OpenWRT Kamikaze.%><br />
|
||||
<%:admin3 Auf den folgenden Seiten können alle wichtigen Einstellungen des Routers vorgenommen werden.%></p>
|
||||
<p><%:admin4 Auf der linken Seite befindet sich eine Navigation, die zu den einzelnen Konfigurationsseiten führt.%></p>
|
||||
<p><%:admin5 Wir sind natürlich stets darum bemüht, diese Oberfläche
|
||||
<h1><%:a_i_i_hello Hallo!%></h1>
|
||||
<p><%:a_i_i_admin1 Dies ist der Administrationsbereich von LuCI.%></p>
|
||||
<p><%:a_i_i_admin2 LuCI ist eine freie, flexible und benutzerfreundliche grafische Oberfläche zur Konfiguration von OpenWRT Kamikaze.%><br />
|
||||
<%:a_i_i_admin3 Auf den folgenden Seiten können alle wichtigen Einstellungen des Routers vorgenommen werden.%></p>
|
||||
<p><%:a_i_i_admin4 Auf der linken Seite befindet sich eine Navigation, die zu den einzelnen Konfigurationsseiten führt.%></p>
|
||||
<p><%:a_i_i_admin5 Wir sind natürlich stets darum bemüht, diese Oberfläche
|
||||
noch besser und intuitiver zu Gestalten und freuen uns über jegliche Art von Feedback oder Verbesserungsvorschlägen.%></p>
|
||||
<p><%:admin6 Und nun wünschen wir viel Spaß mit dem Router!%></p>
|
||||
<p><em><strong><a href="<%=controller%>/about"><%:team Das LuCI-Team%></a></strong></em></p>
|
||||
<p><%:a_i_i_admin6 Und nun wünschen wir viel Spaß mit dem Router!%></p>
|
||||
<p><em><strong><a href="<%=controller%>/about"><%:a_i_i_team Das LuCI-Team%></a></strong></em></p>
|
||||
<%+footer%>
|
|
@ -1,7 +1,7 @@
|
|||
<%+header%>
|
||||
<h1><%:status Status%></h1>
|
||||
<p><%:status1 Hier finden sich Informationen über den aktuellen Status des Systems, beispielsweise
|
||||
<p><%:a_i_status1 Hier finden sich Informationen über den aktuellen Status des Systems, beispielsweise
|
||||
Prozessortakt, Speicherauslastung und Netzwerkschnittstellen.%></p>
|
||||
<p><%:status2 Zusätzlich können hier Protokolldaten, des Kernels und diverser Systemdienste eingesehen werden,
|
||||
<p><%:a_i_status2 Zusätzlich können hier Protokolldaten, des Kernels und diverser Systemdienste eingesehen werden,
|
||||
um deren Zustand zu kontrollieren.%></p>
|
||||
<%+footer%>
|
|
@ -1,7 +1,6 @@
|
|||
<%
|
||||
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()
|
||||
|
@ -27,7 +26,7 @@ require("luci.http").prepare_content("text/html")
|
|||
<% 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>
|
||||
<title>LuCI - Lua Configuration Interface - <%=node.title%></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
|
@ -104,7 +103,7 @@ end
|
|||
%>
|
||||
</div>
|
||||
<div class="sidebar right">
|
||||
<div><%:webif Weboberfläche%>
|
||||
<div><%:webui Weboberfläche%>
|
||||
<ul><%
|
||||
for k,node in pairs(tree.nodes) do
|
||||
if node.title then %>
|
||||
|
|
2
themes/openwrt.org/Makefile
Normal file
2
themes/openwrt.org/Makefile
Normal file
|
@ -0,0 +1,2 @@
|
|||
include ../../build/config.mk
|
||||
include ../../build/module.mk
|
|
@ -0,0 +1,8 @@
|
|||
</div>
|
||||
<div class="clear"></div>
|
||||
</div></div>
|
||||
</div>
|
||||
|
||||
<div class="separator black whitetext bold"><a href="<%=controller%>/about"><%=require("luci").__appname__ .. " " .. luci.__version__%> - Lua Configuration Interface</a></div>
|
||||
</body>
|
||||
</html>
|
136
themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm
Normal file
136
themes/openwrt.org/luasrc/view/themes/openwrt.org/header.htm
Normal file
|
@ -0,0 +1,136 @@
|
|||
<%
|
||||
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 - <%=node.title%></title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="header">
|
||||
<div class="whitetext smalltext bold 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 black whitetext 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="page">
|
||||
<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="blacktext"<%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="blacktext"<%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><%:webui Weboberfläche%>
|
||||
<ul><%
|
||||
for k,node in pairs(tree.nodes) do
|
||||
if node.title then %>
|
||||
<li<% if request[1] == k then %> class="blacktext"<%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">
|
298
themes/openwrt.org/root/www/luci-static/openwrt.org/cascade.css
Normal file
298
themes/openwrt.org/root/www/luci-static/openwrt.org/cascade.css
Normal file
|
@ -0,0 +1,298 @@
|
|||
@charset "utf-8";
|
||||
|
||||
body {
|
||||
font-family: Verdana, Arial, sans-serif;
|
||||
background-color: #557788;
|
||||
}
|
||||
|
||||
h1 {
|
||||
margin: 0%;
|
||||
font-size: 1.4em;
|
||||
font-weight: bold;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
h2 {
|
||||
margin: 0%;
|
||||
font-size: 1.2em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
h3 {
|
||||
margin: 0%;
|
||||
}
|
||||
|
||||
#page {
|
||||
background-color: #d4dce0;
|
||||
border-left: 3px solid #000000;
|
||||
border-right: 3px solid #000000;
|
||||
}
|
||||
|
||||
#header {
|
||||
padding: 0.2em;
|
||||
height: 4.5em;
|
||||
padding-left: 1.2em;
|
||||
}
|
||||
|
||||
#columns {
|
||||
border-left: 10.1em solid #ccd6db;
|
||||
border-right: 10.1em solid #ccd6db;
|
||||
display: block;
|
||||
padding: 0.1em;
|
||||
}
|
||||
|
||||
#columnswrapper {
|
||||
display: block;
|
||||
margin-left: -10em;
|
||||
margin-right: -10em;
|
||||
}
|
||||
|
||||
#content {
|
||||
margin-left: 14em;
|
||||
margin-right: 14em;
|
||||
display: block;
|
||||
position: relative;
|
||||
padding: 2px;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.headerlogo {
|
||||
height: 4em;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
.headerlogo img {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.headertitle {
|
||||
font-size: 2.4em;
|
||||
color: black;
|
||||
font-weight: bold;
|
||||
letter-spacing: 0.6em;
|
||||
text-transform: lowercase;
|
||||
}
|
||||
|
||||
.separator {
|
||||
padding-left: 0.25em;
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
line-height: 1.4em;
|
||||
}
|
||||
|
||||
.whitetext {
|
||||
color: white;
|
||||
}
|
||||
|
||||
.blacktext {
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.magentatext {
|
||||
color: #dc0065;
|
||||
}
|
||||
|
||||
.inheritcolor {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.smalltext {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.black {
|
||||
background-color: #000000;
|
||||
}
|
||||
|
||||
.nodeco {
|
||||
text-decoration: none;
|
||||
}
|
||||
|
||||
.redhover:hover {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.bold {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.sidebar {
|
||||
position: relative;
|
||||
padding: 0.25em;
|
||||
color: gray;
|
||||
width: 9em;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.separator a, .sidebar a {
|
||||
color: inherit;
|
||||
text-decoration: inherit;
|
||||
}
|
||||
|
||||
.separator a:hover, .sidebar a:hover {
|
||||
color: red;
|
||||
}
|
||||
|
||||
.sidebar div {
|
||||
padding-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.sidebar ul {
|
||||
font-size: 0.8em;
|
||||
color: white;
|
||||
list-style-type: none;
|
||||
padding-left: 1em;
|
||||
margin-top: 0%;
|
||||
}
|
||||
|
||||
.table {
|
||||
display: table;
|
||||
}
|
||||
|
||||
.table-row {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.table-cell {
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.left {
|
||||
float: left;
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.right {
|
||||
float: right;
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.clear {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
.hidden {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.inline {
|
||||
display: inline;
|
||||
}
|
||||
|
||||
.code {
|
||||
background: #f7f7f7;
|
||||
border: 1px solid #d7d7d7;
|
||||
margin: 1em 1.75em;
|
||||
padding: 1em;
|
||||
}
|
||||
|
||||
code {
|
||||
display: block;
|
||||
background: #f7f7f7;
|
||||
border: 1px solid #d7d7d7;
|
||||
margin: 1em 1.75em;
|
||||
padding: 1em;
|
||||
overflow: auto;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
.cbi-section {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.cbi-section-remove {
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
.cbi-value {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.cbi-value-title {
|
||||
display: table-cell;
|
||||
line-height: 1.75em;
|
||||
font-weight: bold;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.cbi-value-field {
|
||||
display: table-cell;
|
||||
text-align: left;
|
||||
padding: 0.25em;
|
||||
line-height: 1.75em;
|
||||
}
|
||||
|
||||
.cbi-value-field input, .cbi-value-field select,
|
||||
.cbi-optionals select, .cbi-optionals input,
|
||||
.cbi-section-remove input, .cbi-section-create input {
|
||||
font-size: 0.8em;
|
||||
margin: 0%;
|
||||
}
|
||||
|
||||
.cbi-section-descr {
|
||||
padding-bottom: 1em;
|
||||
}
|
||||
|
||||
.cbi-value-description {
|
||||
display: inline;
|
||||
font-style: italic;
|
||||
font-size: 0.8em;
|
||||
padding: 0.25em;
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.cbi-form-separator {
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
.cbi-section-node {
|
||||
display: table;
|
||||
padding: 0.25em;
|
||||
border: 1px solid #000000;
|
||||
}
|
||||
|
||||
.cbi-section-row {
|
||||
display: table-row;
|
||||
}
|
||||
|
||||
.cbi-section-row-head {
|
||||
display: table-cell;
|
||||
font-weight: bold;
|
||||
padding: 0.25em;
|
||||
}
|
||||
|
||||
.cbi-section-row-descr {
|
||||
display: table-cell;
|
||||
padding: 0.25em;
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.cbi-section-node h3 {
|
||||
margin-bottom: 0.5em;
|
||||
}
|
||||
|
||||
.cbi-error {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
font-size: 0.8em;
|
||||
margin-bottom: 0.75em;
|
||||
}
|
||||
|
||||
.cbi-optionals {
|
||||
margin-top: 1em;
|
||||
display: table-cell;
|
||||
}
|
||||
|
||||
.cbi-optionals option {
|
||||
font-size: 0.8em;
|
||||
}
|
||||
|
||||
.error {
|
||||
color: red;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.ok {
|
||||
color: green;
|
||||
font-weight: bold;
|
||||
}
|
Loading…
Reference in a new issue