diff options
127 files changed, 515 insertions, 1327 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 7c4291318e..a392ade0c2 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,16 +1,16 @@ # Contributing Guidelines -Patches and pull-requests: +## Patches and Pull requests: If you want to contribute a change to LuCI, please either send a patch using git send-email -or open a pull request against the openwrt/luci repository. +or open a "pull request" against the openwrt/luci repository. Regardless of whether you send a patch or open a pull request, please try to follow these rules: -* Have a useful subject prefixed with the component name - (E.g.: "modules/admin-full: fix wifi channel selection on multiple STA networks") +* Have a useful subject prefixed with the component name + (E.g.: "luci-mod-admin-full: fix wifi channel selection on multiple STA networks") * Shortly explain the changes made and - if applicable - the reasoning behind them -* Include Signed-off-by in the comment +* Include Signed-off-by in the comment (See <https://dev.openwrt.org/wiki/SubmittingPatches#a10.Signyourwork>) In case you like to send patches by mail, please use the [LuCI mailinglist](https://lists.subsignal.org/mailman/listinfo/luci) @@ -19,22 +19,41 @@ or the [OpenWrt Development List](https://lists.openwrt.org/cgi-bin/mailman/list If you send via the OpenWrt list, include a "[luci]" tag in your subject line. For general information on patch submission, follow the [OpenWrt patch submission guideline](https://dev.openwrt.org/wiki/SubmittingPatches). +## Advice on pull requests: -If you have commit access: +Pull requests are the easiest way to contribute changes to git repos at Github. They are the preferred contribution method, as they offer a nice way for commenting and amending the proposed changes. + +* You need a local "fork" of the Github repo. +* Use a "feature branch" for your changes. That separates the changes in the pull request from your other changes and makes it easy to edit/amend commits in the pull request. Workflow using "feature_x" as the example: + - Update your local git fork to the tip (of the master, usually) + - Create the feature branch with `git checkout -b feature_x` + - Edit changes and commit them locally + - Push them to your Github fork by `git push -u origin feature_x`. That creates the "feature_x" branch at your Github fork and sets it as the remote of this branch + - When you now visit Github, you should see a proposal to create a pull request + +* If you later need to add new commits to the pull request, you can simply commit the changes to the local branch and then use `git push` to automatically update the pull request. + +* If you need to change something in the existing pull request (e.g. to add a missing signed-off-by line to the commit message), you can use `git push -f` to overwrite the original commits. That is easy and safe when using a feature branch. Example workflow: + - Checkout the feature branch by `git checkout feature_x` + - Edit changes and commit them locally. If you are just updating the commit message in the last commit, you can use `git commit --amend` to do that + - If you added several new commits or made other changes that require cleaning up, you can use `git rebase -i HEAD~X` (X = number of commits to edit) to possibly squash some commits + - Push the changed commits to Github with `git push -f` to overwrite the original commits in the "feature_x" branch with the new ones. The pull request gets automatically updated + +## If you have commit access: * Do NOT use git push --force. * Use Pull Requests if you are unsure and to suggest changes to other developers. -Gaining commit access: +## Gaining commit access: * Commit access will be granted to responsible contributors who have made useful pull requests and / or feedback or patches to this repository or OpenWrt in general. Please include your request for commit access in your next pull request or ticket. -Release Branches: +## Release Branches: -* Branches named "luci-X.Y" (e.g. luci-0.12) are release branches. +* Branches named "for-XX.YY" or "luci-X.Y" (e.g. "for-15.05") are release branches. * These branches are built with the respective OpenWrt release and are created during the release stabilisation phase. * Please ONLY cherry-pick or commit security and bug-fixes to these branches. diff --git a/applications/luci-app-asterisk/Makefile b/applications/luci-app-asterisk/Makefile index f2f3cd1e73..3434e167f4 100644 --- a/applications/luci-app-asterisk/Makefile +++ b/applications/luci-app-asterisk/Makefile @@ -7,7 +7,6 @@ include $(TOPDIR)/rules.mk LUCI_TITLE:=LuCI Support for Asterisk -LUCI_DEPENDS:=+ahcpd include ../../luci.mk diff --git a/applications/luci-app-asterisk/luasrc/view/asterisk/dialplans.htm b/applications/luci-app-asterisk/luasrc/view/asterisk/dialplans.htm index 70f986c5bb..6de7ba122a 100644 --- a/applications/luci-app-asterisk/luasrc/view/asterisk/dialplans.htm +++ b/applications/luci-app-asterisk/luasrc/view/asterisk/dialplans.htm @@ -64,7 +64,7 @@ </div> <div class="cbi-map" id="cbi-asterisk"> - <h2><a id="content" name="content">Outgoing Call Routing</a></h2> + <h2 name="content">Outgoing Call Routing</h2> <div class="cbi-map-descr"> Here you can manage your dial plans which are used to route outgoing calls from your local extensions.<br /><br /> Related tasks:<br /> diff --git a/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm b/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm index ac527918bc..c867bc1860 100644 --- a/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm +++ b/applications/luci-app-asterisk/luasrc/view/asterisk/dialzones.htm @@ -55,7 +55,7 @@ </div> <div class="cbi-map" id="cbi-asterisk"> - <h2><a id="content" name="content">Dial Zone Management</a></h2> + <h2 name="content">Dial Zone Management</h2> <div class="cbi-map-descr"> <a href="<%=luci.dispatcher.build_url("admin/asterisk/dialplans")%>" class="cbi-title-ref">Back to dialplan overview</a><br /><br /> Here you can manage your dial zones. The zones are used to route outgoing calls to the destination. diff --git a/applications/luci-app-commands/luasrc/view/commands.htm b/applications/luci-app-commands/luasrc/view/commands.htm index 72f1e1dab3..e548757d6b 100644 --- a/applications/luci-app-commands/luasrc/view/commands.htm +++ b/applications/luci-app-commands/luasrc/view/commands.htm @@ -135,7 +135,7 @@ <form method="get" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Custom Commands%></a></h2> + <h2 name="content"><%:Custom Commands%></h2> <fieldset class="cbi-section"> <% local _, command; for _, command in ipairs(commands) do %> diff --git a/applications/luci-app-diag-core/luasrc/view/diag/index.htm b/applications/luci-app-diag-core/luasrc/view/diag/index.htm index 328c4eccb9..c66776771f 100644 --- a/applications/luci-app-diag-core/luasrc/view/diag/index.htm +++ b/applications/luci-app-diag-core/luasrc/view/diag/index.htm @@ -4,7 +4,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:Diagnostics%></a></h2> +<h2 name="content"><%:Diagnostics%></h2> <p><%:The entries in the menu allow you to perform diagnostic tests on your system to aid in troubleshooting.%></p> <p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p> <%+footer%> diff --git a/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm b/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm index 595cc5f5fe..3d01453e48 100644 --- a/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm +++ b/applications/luci-app-diag-core/luasrc/view/diag/network_config_index.htm @@ -4,7 +4,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:Diagnostics%></a></h2> +<h2 name="content"><%:Diagnostics%></h2> <p><%:With this menu you can configure network diagnostics, such as network device scans and ping tests.%></p> <p><%:The diagnostics available under this menu depend on what modules you have installed on your device.%></p> <%+footer%> diff --git a/applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua b/applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua index 6015ffe1fc..8559c52b89 100644 --- a/applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua +++ b/applications/luci-app-dump1090/luasrc/model/cbi/dump1090.lua @@ -1,4 +1,4 @@ --- Copyright 2014 Álvaro Fernández Rojas <noltari@gmail.com> +-- Copyright 2014-2015 Álvaro Fernández Rojas <noltari@gmail.com> -- Licensed to the public under the Apache License 2.0. m = Map("dump1090", "dump1090", translate("dump1090 is a Mode S decoder specifically designed for RTLSDR devices, here you can configure the settings.")) @@ -12,6 +12,7 @@ enable.enabled="0" enable.disabled="1" enable.default = "1" enable.rmempty = false + respawn=s:option(Flag, "respawn", translate("Respawn")) respawn.default = false @@ -34,6 +35,15 @@ ifile=s:option(Value, "ifile", translate("Data file")) ifile.rmempty = true ifile.datatype = "file" +iformat=s:option(ListValue, "iformat", translate("Sample format for data file")) +iformat:value("", translate("Default")) +iformat:value("UC8") +iformat:value("SC16") +iformat:value("SC16Q11") + +throttle=s:option(Flag, "throttle", translate("When reading from a file play back in realtime, not at max speed")) +throttle.default = false + raw=s:option(Flag, "raw", translate("Show only messages hex values")) raw.default = false @@ -76,13 +86,17 @@ net_bo_port=s:option(Value, "net_bo_port", translate("TCP Beast output listen po net_bo_port.rmempty = true net_bo_port.datatype = "port" +net_fatsv_port=s:option(Value, "net_fatsv_port", translate("FlightAware TSV output port")) +net_fatsv_port.rmempty = true +net_fatsv_port.datatype = "port" + net_ro_size=s:option(Value, "net_ro_size", translate("TCP raw output minimum size")) net_ro_size.rmempty = true net_ro_size.datatype = "uinteger" -net_ro_rate=s:option(Value, "net_ro_rate", translate("TCP raw output memory flush rate")) -net_ro_rate.rmempty = true -net_ro_rate.datatype = "uinteger" +net_ro_interval=s:option(Value, "net_ro_interval", translate("TCP raw output memory flush rate in seconds")) +net_ro_interval.rmempty = true +net_ro_interval.datatype = "uinteger" net_heartbeat=s:option(Value, "net_heartbeat", translate("TCP heartbeat rate in seconds")) net_heartbeat.rmempty = true @@ -92,6 +106,12 @@ net_buffer=s:option(Value, "net_buffer", translate("TCP buffer size 64Kb * (2^n) net_buffer.rmempty = true net_buffer.datatype = "uinteger" +net_verbatim=s:option(Flag, "net_verbatim", translate("Do not apply CRC corrections to messages we forward")) +net_verbatim.default = false + +forward_mlat=s:option(Flag, "forward_mlat", translate("Allow forwarding of received mlat results to output ports")) +forward_mlat.default = false + lat=s:option(Value, "lat", translate("Reference/receiver latitude for surface posn")) lat.rmempty = true lat.datatype = "integer" @@ -100,6 +120,10 @@ lon=s:option(Value, "lon", translate("Reference/receiver longitude for surface p lon.rmempty = true lon.datatype = "integer" +max_range=s:option(Value, "max_range", translate("Absolute maximum range for position decoding")) +max_range.rmempty = true +max_range.datatype = "uinteger" + fix=s:option(Flag, "fix", translate("Enable single-bits error correction using CRC")) fix.default = false @@ -121,6 +145,9 @@ mlat.default = false stats=s:option(Flag, "stats", translate("Print stats at exit")) stats.default = false +stats_range=s:option(Flag, "stats_range", translate("Collect/show range histogram")) +stats_range.default = false + stats_every=s:option(Value, "stats_every", translate("Show and reset stats every seconds")) stats_every.rmempty = true stats_every.datatype = "uinteger" @@ -131,15 +158,42 @@ onlyaddr.default = false metric=s:option(Flag, "metric", translate("Use metric units")) metric.default = false -snip=s:option(Flag, "snip", translate("Strip IQ file removing samples")) +snip=s:option(Value, "snip", translate("Strip IQ file removing samples")) snip.rmempty = true snip.datatype = "uinteger" -debug_mode=s:option(Flag, "debug", translate("Debug mode flags")) +debug_mode=s:option(Value, "debug", translate("Debug mode flags")) debug_mode.rmempty = true -ppm=s:option(Flag, "ppm", translate("Set receiver error in parts per million")) +ppm=s:option(Value, "ppm", translate("Set receiver error in parts per million")) ppm.rmempty = true ppm.datatype = "uinteger" +html_dir=s:option(Value, "html_dir", translate("Base directory for the internal HTTP server")) +html_dir.rmempty = true +html_dir.datatype = "directory" + +write_json=s:option(Value, "write_json", translate("Periodically write json output to a directory")) +write_json.rmempty = true +write_json.datatype = "directory" + +write_json_every=s:option(Flag, "write_json_every", translate("Write json output every t seconds")) +write_json_every.rmempty = true +write_json_every.datatype = "uinteger" + +json_location_accuracy=s:option(ListValue, "json_location_accuracy", translate("Accuracy of receiver location in json metadata")) +json_location_accuracy:value("", translate("Default")) +json_location_accuracy:value("0", "No location") +json_location_accuracy:value("1", "Approximate") +json_location_accuracy:value("2", "Exact") + +oversample=s:option(Flag, "oversample", translate("Use the 2.4MHz demodulator")) +oversample.default = false + +dcfilter=s:option(Flag, "dcfilter", translate("Apply a 1Hz DC filter to input data")) +dcfilter.default = false + +measure_noise=s:option(Flag, "measure_noise", translate("Measure noise power")) +measure_noise.default = false + return m diff --git a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua index 46b3744403..6c90476f81 100644 --- a/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua +++ b/applications/luci-app-firewall/luasrc/model/cbi/firewall/zone-details.lua @@ -60,7 +60,7 @@ s:tab("advanced", translate("Advanced Settings")) name = s:taboption("general", Value, "name", translate("Name")) name.optional = false name.forcewrite = true -name.datatype = "uciname" +name.datatype = "and(uciname,maxlength(14))" function name.write(self, section, value) if zone:name() ~= value then @@ -76,15 +76,6 @@ function name.write(self, section, value) } end -function name.validate(self, value) - -- fw3 defines 14 as the maximum length of zone name - if #value > 14 then - return nil, translate("Zone name is too long") - else - return value - end -end - p = { s:taboption("general", ListValue, "input", translate("Input")), s:taboption("general", ListValue, "output", translate("Output")), diff --git a/applications/luci-app-firewall/po/pl/firewall.po b/applications/luci-app-firewall/po/pl/firewall.po index 18be74d231..2ccd25ccc1 100644 --- a/applications/luci-app-firewall/po/pl/firewall.po +++ b/applications/luci-app-firewall/po/pl/firewall.po @@ -301,7 +301,7 @@ msgid "Restrict Masquerading to given destination subnets" msgstr "Ogranicz maskaradę do wskazanych sieci docelowych" msgid "Restrict Masquerading to given source subnets" -msgstr "Ogranicz maskaradę do wskazanych sieci żródłowych" +msgstr "Ogranicz maskaradę do wskazanych sieci źródłowych" # Wstawiłem rodzinę gdyż gdzieś wcześniej było tak opisane ale klasa pasuje mi tu bardziej. # Obsy - niestety ale "rodzina". W gui dotyczy to wyboru IPv4/IPv6, więc "rodzina" a nie klasa. @@ -317,7 +317,7 @@ msgid "" "Rewrite matched traffic to the given source port. May be left empty to only " "rewrite the IP address." msgstr "" -"Przepisz dopasowany ruch do danego portu żródłowego. Można zostawić puste " +"Przepisz dopasowany ruch do danego portu źródłowego. Można zostawić puste " "aby przepisać tylko adres IP" msgid "Rewrite to source %s" @@ -339,7 +339,7 @@ msgid "Source MAC address" msgstr "Źródłowy adres MAC" msgid "Source NAT" -msgstr "NAT żródłowy" +msgstr "NAT źródłowy" # http://www.digipedia.pl/def/doc/id/677604507/name/SNAT/ msgid "" @@ -348,7 +348,7 @@ msgid "" "multiple WAN addresses to internal subnets." msgstr "" "SNAT używany jest wtedy, gdy zmieniane są adresy pakietów połączenia " -"wychodzącego, czyli pakiety żródłowe. Wykonywany jest zawsze po routowaniu " +"wychodzącego, czyli pakiety źródłowe. Wykonywany jest zawsze po routowaniu " "(POSTROUTING), a więc w chwili, gdy pakiety są gotowe opuścić host. " "IPmasquerading jest formą SNAT." diff --git a/applications/luci-app-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm b/applications/luci-app-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm index 2f4914e5d5..ef3342e740 100644 --- a/applications/luci-app-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm +++ b/applications/luci-app-freifunk-diagnostics/luasrc/view/freifunk/diagnostics.htm @@ -55,7 +55,7 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") <form method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Diagnostics%></a></h2> + <h2 name="content"><%:Diagnostics%></h2> <fieldset class="cbi-section"> <legend><%:Network Utilities%></legend> diff --git a/applications/luci-app-multiwan/po/es/multiwan.po b/applications/luci-app-multiwan/po/es/multiwan.po index 1a54f7557b..4d2447eecc 100644 --- a/applications/luci-app-multiwan/po/es/multiwan.po +++ b/applications/luci-app-multiwan/po/es/multiwan.po @@ -118,7 +118,7 @@ msgid "WAN Interfaces" msgstr "Interfaces WAN" msgid "WAN Uplink" -msgstr "Enalce saliente WAN" +msgstr "Enlace saliente WAN" msgid "all" msgstr "todos" diff --git a/applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm b/applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm index 0e59c61258..476150dd28 100644 --- a/applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm +++ b/applications/luci-app-olsr-services/luasrc/view/freifunk-services/services.htm @@ -149,7 +149,7 @@ end - <h2><a id="content" name="content"><%:Services%></a></h2> + <h2 name="content"><%:Services%></h2> <fieldset class="cbi-section"> <legend><%:Internal services%></legend> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm index d9976701fa..eb41219c7e 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/error_olsr.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:OLSR Daemon%></a></h2> +<h2 name="content"><%:OLSR Daemon%></h2> <p class="error"><%:Unable to connect to the OLSR daemon!%></p> <p><%:Make sure that OLSRd is running, the "jsoninfo" plugin is loaded, configured on port 9090 and accepts connections from "127.0.0.1".%></p> <%+footer%> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm index 89e4436f72..5ea7b74e4d 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/hna.htm @@ -73,7 +73,7 @@ XHR.poll(10, '<%=REQUEST_URI%>', { status: 1 }, ); //]]></script> -<h2><a id="content" name="content"><%:Active host net announcements%></a></h2> +<h2 name="content"><%:Active host net announcements%></h2> <div id="togglebuttons"></div> <fieldset class="cbi-section"> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm index 3fb3a58e9c..81d0a3dd31 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/interfaces.htm @@ -11,7 +11,7 @@ local i = 1 <%+header%> -<h2><a id="content" name="content"><%:Interfaces%></a></h2> +<h2 name="content"><%:Interfaces%></h2> <div id="togglebuttons"></div> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm index 3c10bd66aa..f658288fc1 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/mid.htm @@ -10,7 +10,7 @@ local i = 1 %> <%+header%> -<h2><a id="content" name="content"><%:Active MID announcements%></a></h2> +<h2 name="content"><%:Active MID announcements%></h2> <div id="togglebuttons"></div> <fieldset class="cbi-section"> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm index 9ad0d8f898..31dd7d05ac 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/neighbors.htm @@ -105,7 +105,7 @@ end //]]></script> -<h2><a id="content" name="content"><%:OLSR connections%></a></h2> +<h2 name="content"><%:OLSR connections%></h2> <div id="togglebuttons"></div> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm index fa32315280..61e17b3b2d 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/overview.htm @@ -155,7 +155,7 @@ XHR.poll(10, '<%=REQUEST_URI%>/json', { }, <div id="error" class="error"></div> -<h2><a id="content" name="content">OLSR <%:Overview%></a></h2> +<h2 name="content">OLSR <%:Overview%></h2> <fieldset class="cbi-section"> <legend><%:Network%></legend> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm index d2b0c1be8d..8e46daa022 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/routes.htm @@ -89,7 +89,7 @@ XHR.poll(20, '<%=REQUEST_URI%>', { status: 1 }, -<h2><a id="content" name="content"><%:Known OLSR routes%></a></h2> +<h2 name="content"><%:Known OLSR routes%></h2> <div id="togglebuttons"></div> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm index 45f6515339..6aa7a75461 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/smartgw.htm @@ -86,7 +86,7 @@ XHR.poll(10, '<%=REQUEST_URI%>', { status: 1 }, <%+header%> -<h2><a id="content" name="content"><%:SmartGW announcements%></a></h2> +<h2 name="content"><%:SmartGW announcements%></h2> <div id="togglebuttons"></div> diff --git a/applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm b/applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm index ee69f72d75..b3abeaecbe 100644 --- a/applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm +++ b/applications/luci-app-olsr/luasrc/view/status-olsr/topology.htm @@ -11,7 +11,7 @@ local olsrtools = require "luci.tools.olsr" %> <%+header%> -<h2><a id="content" name="content"><%:Active OLSR nodes%></a></h2> +<h2 name="content"><%:Active OLSR nodes%></h2> <div id="togglebuttons"></div> diff --git a/applications/luci-app-polipo/luasrc/view/polipo_status.htm b/applications/luci-app-polipo/luasrc/view/polipo_status.htm index c2695ca82b..007d2d5e4e 100644 --- a/applications/luci-app-polipo/luasrc/view/polipo_status.htm +++ b/applications/luci-app-polipo/luasrc/view/polipo_status.htm @@ -9,7 +9,7 @@ local port = uci:get("polipo", "general", "proxyPort") or "8123" <%+header%> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Polipo Status%></a></h2> + <h2 name="content"><%:Polipo Status%></h2> <div class="cbi-section"> <iframe id="sf" src="http://<%=luci.http.getenv('SERVER_NAME')%>:<%=port%>/polipo/" style="width:100%; height:350px; border:none"></iframe> </div> diff --git a/applications/luci-app-splash/luasrc/view/admin_status/splash.htm b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm index 831fa75f65..23982d449c 100644 --- a/applications/luci-app-splash/luasrc/view/admin_status/splash.htm +++ b/applications/luci-app-splash/luasrc/view/admin_status/splash.htm @@ -210,7 +210,7 @@ end <div id="cbi-splash-leases" class="cbi-map"> - <h2><a id="content" name="content"><%:Client-Splash%></a></h2> + <h2 name="content"><%:Client-Splash%></h2> <fieldset id="cbi-table-table" class="cbi-section"> <legend><%:Active Clients%></legend> <div class="cbi-section-node"> diff --git a/applications/luci-app-splash/luasrc/view/splash/blocked.htm b/applications/luci-app-splash/luasrc/view/splash/blocked.htm index 406139b51b..c27e2fab6e 100644 --- a/applications/luci-app-splash/luasrc/view/splash/blocked.htm +++ b/applications/luci-app-splash/luasrc/view/splash/blocked.htm @@ -9,7 +9,7 @@ local contacturl = luci.dispatcher.build_url("freifunk", "contact") <%+header%> -<h2><a id="content" name="content"><%:Blocked%></a></h2> +<h2 name="content"><%:Blocked%></h2> <p><%:Your access to this network has been blocked, most likely because you did something that our rules explicitly forbid.%></p> <p><%:To ask for the reason why you have been blocked or ask for access again you can try to contact the owner of this access point:%> <a href="<%=contacturl%>"><%:Contact%></a></p> diff --git a/applications/luci-app-splash/luasrc/view/splash/splash.htm b/applications/luci-app-splash/luasrc/view/splash/splash.htm index 7626b600dc..8d84463ef7 100644 --- a/applications/luci-app-splash/luasrc/view/splash/splash.htm +++ b/applications/luci-app-splash/luasrc/view/splash/splash.htm @@ -72,7 +72,7 @@ if has_custom_splash then <% else %> - <h2><a id="content" name="content"><%:Welcome%></a></h2> + <h2 name="content"><%:Welcome%></h2> <p><%:You are now connected to the free wireless mesh network%> <a href="<%=homepage%>"><%=community%></a>. <%:Please note that we are not an internet service provider but an experimental community network.%></p> diff --git a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua index 49eab5acd4..3f26aeed6f 100644 --- a/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua +++ b/applications/luci-app-statistics/luasrc/controller/luci_statistics/luci_statistics.lua @@ -20,7 +20,7 @@ function index() local labels = { s_output = _("Output plugins"), - s_system = _("System plugins"), + s_general = _("General plugins"), s_network = _("Network plugins"), conntrack = _("Conntrack"), @@ -42,9 +42,11 @@ function index() network = _("Network"), nut = _("UPS"), olsrd = _("OLSRd"), + openvpn = _("OpenVPN"), ping = _("Ping"), processes = _("Processes"), rrdtool = _("RRDTool"), + sensors = _("Sensors"), splash_leases = _("Splash Leases"), tcpconns = _("TCP Connections"), unixsock = _("UnixSock"), @@ -54,15 +56,15 @@ function index() -- our collectd menu local collectd_menu = { output = { "csv", "network", "rrdtool", "unixsock" }, - system = { "cpu", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "uptime" }, - network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "ping", "splash_leases", "tcpconns", "iwinfo" } + general = { "cpu", "df", "disk", "email", "entropy", "exec", "irq", "load", "memory", "nut", "processes", "sensors", "uptime" }, + network = { "conntrack", "dns", "interface", "iptables", "netlink", "olsrd", "openvpn", "ping", "splash_leases", "tcpconns", "iwinfo" } } -- create toplevel menu nodes local st = entry({"admin", "statistics"}, template("admin_statistics/index"), _("Statistics"), 80) st.index = true - entry({"admin", "statistics", "collectd"}, cbi("luci_statistics/collectd"), _("Collectd"), 10).subindex = true + entry({"admin", "statistics", "collectd"}, cbi("luci_statistics/collectd"), _("Setup"), 20).subindex = true -- populate collectd plugin menu @@ -87,7 +89,7 @@ function index() end -- output views - local page = entry( { "admin", "statistics", "graph" }, template("admin_statistics/index"), _("Graphs"), 80) + local page = entry( { "admin", "statistics", "graph" }, template("admin_statistics/index"), _("Graphs"), 10) page.setuser = "nobody" page.setgroup = "nogroup" @@ -170,7 +172,7 @@ function statistics_render() if #instances == 0 then --instances = { graph.tree:plugin_instances( plugin )[1] } instances = graph.tree:plugin_instances( plugin ) - is_index = true + is_index = (#instances > 1) -- index instance requested elseif instances[1] == "-" then diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua new file mode 100644 index 0000000000..193f0448ae --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/openvpn.lua @@ -0,0 +1,56 @@ +-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org> +-- Licensed to the public under the Apache License 2.0. + +require "luci.sys" + +local m, s, o + + +m = Map("luci_statistics", + translate("OpenVPN Plugin Configuration"), + translate("The OpenVPN plugin gathers information about the current vpn connection status.")) + +s = m:section( NamedSection, "collectd_openvpn", "luci_statistics" ) + + +o = s:option( Flag, "enable", translate("Enable this plugin") ) +o.default = "0" + + +o = s:option(Flag, "CollectIndividualUsers", translate("Generate a separate graph for each logged user")) +o.default = "0" +o.rmempty = true +o:depends("enable", 1) + + +o = s:option(Flag, "CollectUserCount", translate("Aggregate number of connected users")) +o.default = "0" +o.rmempty = true +o:depends("enable", 1) + + +o = s:option(Flag, "CollectCompression", translate("Gather compression statistics")) +o.default = "0" +o.rmempty = true +o:depends("enable", 1) + + +o = s:option(Flag, "ImprovedNamingSchema", translate("Use improved naming schema")) +o.default = "0" +o.rmempty = true +o:depends("enable", 1) + + +o = s:option(DynamicList, "StatusFile", translate("OpenVPN status files")) +o.rmempty = true +o:depends("enable", 1) + +local status_files = nixio.fs.glob("/var/run/openvpn.*.status") +if status_files then + local status_file + for status_file in status_files do + o:value(status_file) + end +end + +return m diff --git a/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua new file mode 100644 index 0000000000..77e36bfaff --- /dev/null +++ b/applications/luci-app-statistics/luasrc/model/cbi/luci_statistics/sensors.lua @@ -0,0 +1,125 @@ +-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org> +-- Licensed to the public under the Apache License 2.0. + +require "luci.sys" + +local m, s, o +local sensor_types = { + ["12v"] = "voltage", + ["2.0v"] = "voltage", + ["2.5v"] = "voltage", + ["3.3v"] = "voltage", + ["5.0v"] = "voltage", + ["5v"] = "voltage", + ["ain1"] = "voltage", + ["ain2"] = "voltage", + ["cpu_temp"] = "temperature", + ["fan1"] = "fanspeed", + ["fan2"] = "fanspeed", + ["fan3"] = "fanspeed", + ["fan4"] = "fanspeed", + ["fan5"] = "fanspeed", + ["fan6"] = "fanspeed", + ["fan7"] = "fanspeed", + ["in0"] = "voltage", + ["in10"] = "voltage", + ["in2"] = "voltage", + ["in3"] = "voltage", + ["in4"] = "voltage", + ["in5"] = "voltage", + ["in6"] = "voltage", + ["in7"] = "voltage", + ["in8"] = "voltage", + ["in9"] = "voltage", + ["power1"] = "power", + ["remote_temp"] = "temperature", + ["temp1"] = "temperature", + ["temp2"] = "temperature", + ["temp3"] = "temperature", + ["temp4"] = "temperature", + ["temp5"] = "temperature", + ["temp6"] = "temperature", + ["temp7"] = "temperature", + ["temp"] = "temperature", + ["vccp1"] = "voltage", + ["vccp2"] = "voltage", + ["vdd"] = "voltage", + ["vid1"] = "voltage", + ["vid2"] = "voltage", + ["vid3"] = "voltage", + ["vid4"] = "voltage", + ["vid5"] = "voltage", + ["vid"] = "voltage", + ["vin1"] = "voltage", + ["vin2"] = "voltage", + ["vin3"] = "voltage", + ["vin4"] = "voltage", + ["volt12"] = "voltage", + ["volt5"] = "voltage", + ["voltbatt"] = "voltage", + ["vrm"] = "voltage" + +} + + +m = Map("luci_statistics", + translate("Sensors Plugin Configuration"), + translate("The sensors plugin uses the Linux Sensors framework to gather environmental statistics.")) + +s = m:section( NamedSection, "collectd_sensors", "luci_statistics" ) + + +o = s:option( Flag, "enable", translate("Enable this plugin") ) +o.default = 0 + + +o = s:option(Flag, "__all", translate("Monitor all sensors")) +o:depends("enable", 1) +o.default = 1 +o.write = function() end +o.cfgvalue = function(self, sid) + local v = self.map:get(sid, "Sensor") + if v == nil or (type(v) == "table" and #v == 0) or (type(v) == "string" and #v == 0) then + return "1" + end +end + + +o = s:option(MultiValue, "Sensor", translate("Sensor list"), translate("Hold Ctrl to select multiple items or to deselect entries.")) +o:depends({enable = 1, __all = "" }) +o.widget = "select" +o.rmempty = true +o.size = 0 + +local sensorcli = io.popen("/usr/sbin/sensors -u -A") +if sensorcli then + local bus, sensor + + while true do + local ln = sensorcli:read("*ln") + if not ln then + break + elseif ln:match("^[%w-]+$") then + bus = ln + elseif ln:match("^[%w-]+:$") then + sensor = ln:sub(0, -2):lower() + if bus and sensor_types[sensor] then + o:value("%s/%s-%s" %{ bus, sensor_types[sensor], sensor }) + o.size = o.size + 1 + end + elseif ln == "" then + bus = nil + sensor = nil + end + end + + sensorcli:close() +end + + +o = s:option( Flag, "IgnoreSelected", translate("Monitor all except specified") ) +o.default = 0 +o.rmempty = true +o:depends({ enable = 1, __all = "" }) + +return m diff --git a/applications/luci-app-statistics/luasrc/statistics/i18n.lua b/applications/luci-app-statistics/luasrc/statistics/i18n.lua index 5a2800d5f4..7877e61ab3 100644 --- a/applications/luci-app-statistics/luasrc/statistics/i18n.lua +++ b/applications/luci-app-statistics/luasrc/statistics/i18n.lua @@ -26,15 +26,6 @@ function Instance._subst( self, str, val ) return str end -function Instance._translate( self, key, alt ) - local val = self.i18n.string(key) - if val ~= key then - return val - else - return alt - end -end - function Instance.title( self, plugin, pinst, dtype, dinst, user_title ) local title = user_title or @@ -73,24 +64,17 @@ end function Instance.ds( self, source ) - local label = source.title or self:_translate( - string.format( "stat_ds_%s_%s_%s", source.type, source.instance, source.ds ), - self:_translate( - string.format( "stat_ds_%s_%s", source.type, source.instance ), - self:_translate( - string.format( "stat_ds_label_%s__%s", source.type, source.ds ), - self:_translate( - string.format( "stat_ds_%s", source.type ), - source.type .. "_" .. source.instance:gsub("[^%w]","_") .. "_" .. source.ds - ) - ) - ) - ) + local label = source.title or + "dt=%s/di=%s/ds=%s" % { + (source.type and #source.type > 0) and source.type or "(nil)", + (source.instance and #source.instance > 0) and source.instance or "(nil)", + (source.ds and #source.ds > 0) and source.ds or "(nil)" + } return self:_subst( label, { dtype = source.type, dinst = source.instance, dsrc = source.ds - } ) + } ):gsub(":", "\\:") end diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua index d8317a8177..5d4ad9859d 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool.lua @@ -397,6 +397,7 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) transform_rpn = dopts.transform_rpn or "0,+", noarea = dopts.noarea or false, title = dopts.title or nil, + weight = dopts.weight or nil, ds = dsource, type = dtype, instance = dinst, @@ -469,6 +470,12 @@ function Graph._generic( self, opts, plugin, plugin_instance, dtype, index ) for i, o in ipairs(opts.rrdopts) do _ti( _args, o ) end end + -- sort sources + table.sort(_sources, function(a, b) + local x = a.weight or a.index or 0 + local y = b.weight or b.index or 0 + return x < y + end) -- create DEF statements for each instance for i, source in ipairs(_sources) do diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/interface.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/interface.lua index efa631d557..6f687d218d 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/interface.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/interface.lua @@ -66,36 +66,40 @@ function rrdargs( graph, plugin, plugin_instance ) options = { -- processed packets (tx DS) if_packets__tx = { + weight = 1, overlay = true, -- don't summarize total = true, -- report total amount of bytes color = "00ff00", -- processed tx is green - title = "Processed (tx)" + title = "Processed (TX)" }, -- processed packets (rx DS) if_packets__rx = { + weight = 2, overlay = true, -- don't summarize flip = true, -- flip rx line total = true, -- report total amount of bytes color = "0000ff", -- processed rx is blue - title = "Processed (rx)" + title = "Processed (RX)" }, -- packet errors (tx DS) if_errors__tx = { + weight = 0, overlay = true, -- don't summarize total = true, -- report total amount of packets color = "ff5500", -- tx errors are orange - title = "Errors (tx)" + title = "Errors (TX)" }, -- packet errors (rx DS) if_errors__rx = { + weight = 3, overlay = true, -- don't summarize flip = true, -- flip rx line total = true, -- report total amount of packets color = "ff0000", -- rx errors are red - title = "Errors (rx)" + title = "Errors (RX)" } } } diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua index b4f2ac185e..7b6acf3663 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/netlink.lua @@ -22,11 +22,13 @@ function rrdargs( graph, plugin, plugin_instance ) -- special options for single data lines options = { if_octets__tx = { + title = "Bytes (TX)", total = true, -- report total amount of bytes color = "00ff00" -- tx is green }, if_octets__rx = { + title = "Bytes (RX)", flip = true, -- flip rx line total = true, -- report total amount of bytes color = "0000ff" -- rx is blue @@ -59,6 +61,8 @@ function rrdargs( graph, plugin, plugin_instance ) options = { -- processed packets (tx DS) if_packets__tx = { + weight = 2, + title = "Total (TX)", overlay = true, -- don't summarize total = true, -- report total amount of bytes color = "00ff00" -- processed tx is green @@ -66,6 +70,8 @@ function rrdargs( graph, plugin, plugin_instance ) -- processed packets (rx DS) if_packets__rx = { + weight = 3, + title = "Total (RX)", overlay = true, -- don't summarize flip = true, -- flip rx line total = true, -- report total amount of bytes @@ -74,6 +80,8 @@ function rrdargs( graph, plugin, plugin_instance ) -- dropped packets (tx DS) if_dropped__tx = { + weight = 1, + title = "Dropped (TX)", overlay = true, -- don't summarize total = true, -- report total amount of bytes color = "660055" -- dropped tx is ... dunno ;) @@ -81,14 +89,18 @@ function rrdargs( graph, plugin, plugin_instance ) -- dropped packets (rx DS) if_dropped__rx = { + weight = 4, + title = "Dropped (RX)", overlay = true, -- don't summarize flip = true, -- flip rx line total = true, -- report total amount of bytes - color = "440066" -- dropped rx is violett + color = "ff00ff" -- dropped rx is violett }, -- packet errors (tx DS) if_errors__tx = { + weight = 0, + title = "Errors (TX)", overlay = true, -- don't summarize total = true, -- report total amount of packets color = "ff5500" -- tx errors are orange @@ -96,6 +108,8 @@ function rrdargs( graph, plugin, plugin_instance ) -- packet errors (rx DS) if_errors__rx = { + weight = 5, + title = "Errors (RX)", overlay = true, -- don't summarize flip = true, -- flip rx line total = true, -- report total amount of packets @@ -122,6 +136,7 @@ function rrdargs( graph, plugin, plugin_instance ) options = { -- multicast packets if_multicast = { + title = "Packets", total = true, -- report total amount of packets color = "0000ff" -- multicast is blue } @@ -146,6 +161,7 @@ function rrdargs( graph, plugin, plugin_instance ) options = { -- collision rate if_collisions = { + title = "Collisions", total = true, -- report total amount of packets color = "ff0000" -- collsions are red } @@ -173,15 +189,19 @@ function rrdargs( graph, plugin, plugin_instance ) }, -- special options for single data lines - options = { -- XXX: fixme (define colors...) - if_tx_errors = { - total = true - }, - - if_rx_errors = { - flip = true, - total = true - } + options = { + if_tx_errors_aborted_value = { total = true, color = "ffff00", title = "Aborted (TX)" }, + if_tx_errors_carrier_value = { total = true, color = "ffcc00", title = "Carrier (TX)" }, + if_tx_errors_fifo_value = { total = true, color = "ff9900", title = "Fifo (TX)" }, + if_tx_errors_heartbeat_value = { total = true, color = "ff6600", title = "Heartbeat (TX)" }, + if_tx_errors_window_value = { total = true, color = "ff3300", title = "Window (TX)" }, + + if_rx_errors_length_value = { flip = true, total = true, color = "ff0000", title = "Length (RX)" }, + if_rx_errors_missed_value = { flip = true, total = true, color = "ff0033", title = "Missed (RX)" }, + if_rx_errors_over_value = { flip = true, total = true, color = "ff0066", title = "Over (RX)" }, + if_rx_errors_crc_value = { flip = true, total = true, color = "ff0099", title = "CRC (RX)" }, + if_rx_errors_fifo_value = { flip = true, total = true, color = "ff00cc", title = "Fifo (RX)" }, + if_rx_errors_frame_value = { flip = true, total = true, color = "ff00ff", title = "Frame (RX)" } } } } diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua index 6dc81bc1d7..8b04ab8b38 100644 --- a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/nut.lua @@ -44,9 +44,6 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) y_max = "100", number_format = "%5.1lf%%", data = { - sources = { - percent = { "percent" } - }, instances = { percent = "charge" }, @@ -77,9 +74,6 @@ function rrdargs( graph, plugin, plugin_instance, dtype ) vlabel = "Minutes", number_format = "%.1lfm", data = { - sources = { - timeleft = { "timeleft" } - }, instances = { timeleft = { "battery" } }, diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/openvpn.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/openvpn.lua new file mode 100644 index 0000000000..876e871d1d --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/openvpn.lua @@ -0,0 +1,48 @@ +-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org> +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.openvpn", package.seeall) + +function rrdargs( graph, plugin, plugin_instance ) + local inst = plugin_instance:gsub("^openvpn%.(.+)%.status$", "%1") + + return { + { + title = "%%H: OpenVPN \"%s\" - Traffic" % inst, + vlabel = "Bytes/s", + data = { + instances = { + if_octets = { "traffic", "overhead" } + }, + sources = { + if_octets = { "tx", "rx" } + }, + options = { + if_octets_traffic_tx = { weight = 0, title = "Bytes (TX)", total = true, color = "00ff00" }, + if_octets_overhead_tx = { weight = 1, title = "Overhead (TX)", total = true, color = "ff9900" }, + if_octets_overhead_rx = { weight = 2, title = "Overhead (RX)", total = true, flip = true, color = "ff00ff" }, + if_octets_traffic_rx = { weight = 3, title = "Bytes (RX)", total = true, flip = true, color = "0000ff" } + } + } + }, + + { + title = "%%H: OpenVPN \"%s\" - Compression" % inst, + vlabel = "Bytes/s", + data = { + instances = { + compression = { "data_out", "data_in" } + }, + sources = { + compression = { "uncompressed", "compressed" } + }, + options = { + compression_data_out_uncompressed = { weight = 0, title = "Uncompressed (TX)", total = true, color = "00ff00" }, + compression_data_out_compressed = { weight = 1, title = "Compressed (TX)", total = true, color = "008800" }, + compression_data_in_compressed = { weight = 2, title = "Compressed (RX)", total = true, flip = true, color = "000088" }, + compression_data_in_uncompressed = { weight = 3, title = "Uncompressed (RX)", total = true, flip = true, color = "0000ff" } + } + } + } + } +end diff --git a/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua new file mode 100644 index 0000000000..f8bddb96e3 --- /dev/null +++ b/applications/luci-app-statistics/luasrc/statistics/rrdtool/definitions/sensors.lua @@ -0,0 +1,24 @@ +-- Copyright 2015 Jo-Philipp Wich <jow@openwrt.org> +-- Licensed to the public under the Apache License 2.0. + +module("luci.statistics.rrdtool.definitions.sensors", package.seeall) + +function rrdargs( graph, plugin, plugin_instance ) + return { + { + per_instance = true, + title = "%H: %pi - %di", + vlabel = "\176C", + number_format = "%4.1lf\176C", + data = { + types = { "temperature" }, + options = { + temperature__value = { + color = "ff0000", + title = "Temperature" + } + } + } + } + } +end diff --git a/applications/luci-app-statistics/luasrc/view/admin_statistics/index.htm b/applications/luci-app-statistics/luasrc/view/admin_statistics/index.htm index 0fb3d56375..38271995ed 100644 --- a/applications/luci-app-statistics/luasrc/view/admin_statistics/index.htm +++ b/applications/luci-app-statistics/luasrc/view/admin_statistics/index.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Statistics%></a></h2> +<h2 name="content"><%:Statistics%></h2> <p><%_The statistics package uses <a href="https://collectd.org/">Collectd</a> to gather data and <a href="http://oss.oetiker.ch/rrdtool/">RRDtool</a> to diff --git a/applications/luci-app-statistics/luasrc/view/public_statistics/graph.htm b/applications/luci-app-statistics/luasrc/view/public_statistics/graph.htm index 77169518d2..ebc78badb0 100644 --- a/applications/luci-app-statistics/luasrc/view/public_statistics/graph.htm +++ b/applications/luci-app-statistics/luasrc/view/public_statistics/graph.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Statistics%></a></h2> +<h2 name="content"><%:Statistics%></h2> <form action="" method="get"> <select name="host"> diff --git a/applications/luci-app-statistics/root/etc/config/luci_statistics b/applications/luci-app-statistics/root/etc/config/luci_statistics index abcee3e938..de16f29de9 100644 --- a/applications/luci-app-statistics/root/etc/config/luci_statistics +++ b/applications/luci-app-statistics/root/etc/config/luci_statistics @@ -140,6 +140,9 @@ config statistics 'collectd_processes' option enable '0' option Processes 'uhttpd dnsmasq dropbear' +config statistics 'collectd_sensors' + option enable '0' + config statistics 'collectd_splash_leases' option enable '0' diff --git a/applications/luci-app-statistics/root/usr/bin/stat-genconfig b/applications/luci-app-statistics/root/usr/bin/stat-genconfig index 8acae46c61..49d8a09935 100755 --- a/applications/luci-app-statistics/root/usr/bin/stat-genconfig +++ b/applications/luci-app-statistics/root/usr/bin/stat-genconfig @@ -187,9 +187,9 @@ function _list_expand( c, l, nopad ) end if n:find("(%w+)ses") then - k = n:gsub("(%w+)ses", "%1s") + k = n:gsub("(%w+)ses$", "%1s") else - k = n:gsub("(%w+)s", "%1") + k = n:gsub("(%w+)s$", "%1") end str = str .. _expand( c[n], k, nopad ) @@ -375,6 +375,12 @@ plugins = { { } }, + openvpn = { + { }, + { "CollectIndividualUsers", "CollectUserCount", "CollectCompression", "ImprovedNamingSchema" }, + { "StatusFile" } + }, + ping = { { "TTL", "Interval" }, { }, @@ -393,6 +399,12 @@ plugins = { { "RRATimespans" } }, + sensors = { + { }, + { "IgnoreSelected" }, + { "Sensor" } + }, + splash_leases = { { }, { }, diff --git a/applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm b/applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm index c85a206bd3..d43a887b07 100644 --- a/applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm +++ b/applications/luci-app-tinyproxy/luasrc/view/tinyproxy_status.htm @@ -41,7 +41,7 @@ end <%+header%> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Tinyproxy Status%></a></h2> + <h2 name="content"><%:Tinyproxy Status%></h2> <div class="cbi-section"> <iframe src="<%=REQUESTURL%>?frame=1" style="width:100%; height:350px; border:none"></iframe> </div> diff --git a/applications/luci-app-vnstat/luasrc/view/vnstat.htm b/applications/luci-app-vnstat/luasrc/view/vnstat.htm index 2b502559b8..2b8d9ff9c9 100644 --- a/applications/luci-app-vnstat/luasrc/view/vnstat.htm +++ b/applications/luci-app-vnstat/luasrc/view/vnstat.htm @@ -56,7 +56,7 @@ dbdir = dbdir or "/var/lib/vnstat" <%+header%> -<h2><a id="content" name="content"><%:VnStat Graphs%></a></h2> +<h2 name="content"><%:VnStat Graphs%></h2> <form action="" method="get"> diff --git a/applications/luci-app-voice-core/luasrc/view/luci_voice/index.htm b/applications/luci-app-voice-core/luasrc/view/luci_voice/index.htm index a3503f8bdf..e14862e7d1 100644 --- a/applications/luci-app-voice-core/luasrc/view/luci_voice/index.htm +++ b/applications/luci-app-voice-core/luasrc/view/luci_voice/index.htm @@ -4,7 +4,7 @@ -%> <%+header%> -<h2><a id="content" name="content">Voice</a></h2> +<h2 name="content">Voice</h2> <p>Here you can control OpenWRT voice-related settings and see voice-related information from OpenWRT</p> <p>In particular Asterisk configuration and information is displayed diff --git a/applications/luci-app-voice-core/luasrc/view/luci_voice/phone_index.htm b/applications/luci-app-voice-core/luasrc/view/luci_voice/phone_index.htm index e3e88b3705..c4466cbf06 100644 --- a/applications/luci-app-voice-core/luasrc/view/luci_voice/phone_index.htm +++ b/applications/luci-app-voice-core/luasrc/view/luci_voice/phone_index.htm @@ -4,7 +4,7 @@ -%> <%+header%> -<h2><a id="content" name="content">Phones</a></h2> +<h2 name="content">Phones</h2> <p>Here you can control phone configuration and information in OpenWRT</p> <p>You can control the setup of phone clients and servers and see information such as diagnostics related to phone devices from this menu. diff --git a/applications/luci-app-voice-diag/luasrc/view/luci_voice/diag_index.htm b/applications/luci-app-voice-diag/luasrc/view/luci_voice/diag_index.htm index 15ccc39e41..e324fabd41 100644 --- a/applications/luci-app-voice-diag/luasrc/view/luci_voice/diag_index.htm +++ b/applications/luci-app-voice-diag/luasrc/view/luci_voice/diag_index.htm @@ -4,7 +4,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:Diagnostics%></a></h2> +<h2 name="content"><%:Diagnostics%></h2> <p><%:Under this menu are options that allow you to configure and perform tests on the voice operations of your system. These are known as diagnostics.%></p> <p><%:The diagnostics available on your device depend on the modules that you have installed.%></p> <%+footer%> diff --git a/documentation/SubmitPatchesHowTo:.md b/documentation/SubmitPatchesHowTo:.md deleted file mode 100644 index cdd15524a5..0000000000 --- a/documentation/SubmitPatchesHowTo:.md +++ /dev/null @@ -1,33 +0,0 @@ -# Checkout svn - - svn co http://svn.luci.subsignal.org/luci/trunk - -and change to that directory: - - cd trunk - -# Make your changes - -Edit the files you want to change. If you add some new files you need to add them to the svn tree: - - svn add <dir/files> - -Where <dir/files> are the directories/files you have added. Its possible to specify multiple files/directories here. - -# Use svn diff to generate a patch with your changes - -To check if your changes look ok first do: - - svn diff <dir/files> - -and check the output. Again you can specify multiple dirs/directories here. - -If everything looks like expected save the patch: - - svn diff <dir/files> > ./mypatch.patch - - -# Submit patches - -Use the [Ticket system](http://luci.subsignal.org/trac/newticket) to submit your patch. - diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png b/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png Binary files differindex 4c163bf692..7faadecf92 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/bridge.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png Binary files differindex 0f367c5369..b3e620b3a1 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/bridge_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/encryption.png b/modules/luci-base/htdocs/luci-static/resources/icons/encryption.png Binary files differindex 41d2ba9ace..7762833604 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/encryption.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/encryption.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/encryption_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/encryption_disabled.png Binary files differindex f2e05a4251..9a8721b02c 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/encryption_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/encryption_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png Binary files differindex a02538124c..e3d24f2791 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png Binary files differindex 2bb02e455a..d8792df54b 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/ethernet_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png b/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png Binary files differindex 25ea172324..5a2b235d0a 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/port_down.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png b/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png Binary files differindex e063037910..8105e77d08 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/port_up.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png Binary files differindex 2e5dff4663..b3a8118afc 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0-25.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png Binary files differindex 114583a676..333b1557ba 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-0.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png Binary files differindex ee8cc4f1ce..b465de3f57 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-25-50.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png Binary files differindex 26bcbf715d..cd7bcaf9a6 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-50-75.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png Binary files differindex 5cffaa1b84..f7a3658df8 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-75-100.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png b/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png Binary files differindex b77585c0f0..4a11356af2 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/signal-none.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch.png b/modules/luci-base/htdocs/luci-static/resources/icons/switch.png Binary files differindex 5c99ba5684..be99b19bad 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/switch.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/switch.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png Binary files differindex b8c84c8dc4..54588d24d1 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/switch_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png Binary files differindex c5a09dd685..63eabfef59 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png Binary files differindex ad9856cfec..ca79d81707 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/tunnel_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png b/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png Binary files differindex 5c99ba5684..be99b19bad 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/vlan.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png Binary files differindex b8c84c8dc4..54588d24d1 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/vlan_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png Binary files differindex 528ce2b4e9..80a23e8e9a 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/wifi.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big.png Binary files differindex d73a5e7401..9e466aebf4 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big_disabled.png Binary files differindex af93b37b7a..6f9fff3813 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_big_disabled.png diff --git a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png Binary files differindex 338a34f78c..e989a2bd3d 100644 --- a/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png +++ b/modules/luci-base/htdocs/luci-static/resources/icons/wifi_disabled.png diff --git a/modules/luci-base/luasrc/view/cbi/error.htm b/modules/luci-base/luasrc/view/cbi/error.htm index 2acb96924e..75ec1082aa 100644 --- a/modules/luci-base/luasrc/view/cbi/error.htm +++ b/modules/luci-base/luasrc/view/cbi/error.htm @@ -1,5 +1,5 @@ <div class="cbi-map" id="cbi-<%=self.config%>"> - <% if self.title and #self.title > 0 then %><h2><a id="content" name="content"><%=self.title%></a></h2><% end %> + <% if self.title and #self.title > 0 then %><h2 name="content"><%=self.title%></h2><% end %> <% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %> <p class="alert-message danger"> diff --git a/modules/luci-base/luasrc/view/cbi/map.htm b/modules/luci-base/luasrc/view/cbi/map.htm index 053220d185..e90c3f589f 100644 --- a/modules/luci-base/luasrc/view/cbi/map.htm +++ b/modules/luci-base/luasrc/view/cbi/map.htm @@ -5,7 +5,7 @@ <%-+cbi/apply_xhr-%> <div class="cbi-map" id="cbi-<%=self.config%>"> - <% if self.title and #self.title > 0 then %><h2><a id="content" name="content"><%=self.title%></a></h2><% end %> + <% if self.title and #self.title > 0 then %><h2 name="content"><%=self.title%></h2><% end %> <% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %> <%- if firstmap and applymap then cbi_apply_xhr(self.config, parsechain, redirect) end -%> <%- self:render_children() %> diff --git a/modules/luci-base/luasrc/view/cbi/simpleform.htm b/modules/luci-base/luasrc/view/cbi/simpleform.htm index 5216cd50f1..437a07a8bd 100644 --- a/modules/luci-base/luasrc/view/cbi/simpleform.htm +++ b/modules/luci-base/luasrc/view/cbi/simpleform.htm @@ -6,7 +6,7 @@ </div> <% end %> <div class="cbi-map" id="cbi-<%=self.config%>"> - <% if self.title and #self.title > 0 then %><h2><a id="content" name="content"><%=self.title%></a></h2><% end %> + <% if self.title and #self.title > 0 then %><h2 name="content"><%=self.title%></h2><% end %> <% if self.description and #self.description > 0 then %><div class="cbi-map-descr"><%=self.description%></div><% end %> <% self:render_children() %> <br /> diff --git a/modules/luci-base/luasrc/view/error404.htm b/modules/luci-base/luasrc/view/error404.htm index c2be29ed58..bc74226830 100644 --- a/modules/luci-base/luasrc/view/error404.htm +++ b/modules/luci-base/luasrc/view/error404.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content">404 <%:Not Found%></a></h2> +<h2 name="content">404 <%:Not Found%></h2> <p><%:Sorry, the object you requested was not found.%></p> <tt><%:Unable to dispatch%>: <%=luci.http.request.env.PATH_INFO%></tt> <%+footer%> diff --git a/modules/luci-base/luasrc/view/error500.htm b/modules/luci-base/luasrc/view/error500.htm index 8fb18ed076..34a52cda84 100644 --- a/modules/luci-base/luasrc/view/error500.htm +++ b/modules/luci-base/luasrc/view/error500.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content">500 <%:Internal Server Error%></a></h2> +<h2 name="content">500 <%:Internal Server Error%></h2> <p><%:Sorry, the server encountered an unexpected error.%></p> <pre class="error500"><%=message%></pre> <%+footer%> diff --git a/modules/luci-base/luasrc/view/sysauth.htm b/modules/luci-base/luasrc/view/sysauth.htm index 7f0f0a622b..e207504911 100644 --- a/modules/luci-base/luasrc/view/sysauth.htm +++ b/modules/luci-base/luasrc/view/sysauth.htm @@ -8,7 +8,7 @@ <form method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Authorization Required%></a></h2> + <h2 name="content"><%:Authorization Required%></h2> <div class="cbi-map-descr"> <%:Please enter your username and password.%> <%- if fuser then %> diff --git a/modules/luci-base/po/pl/base.po b/modules/luci-base/po/pl/base.po index baa7ab8534..e1ec57ffee 100644 --- a/modules/luci-base/po/pl/base.po +++ b/modules/luci-base/po/pl/base.po @@ -42,13 +42,13 @@ msgid "-- match by label --" msgstr "" msgid "1 Minute Load:" -msgstr "Obciążenie w ciągu 1 minuty:" +msgstr "Obciążenie 1 min.:" msgid "15 Minute Load:" -msgstr "Obciążenie w ciągu 15 minut:" +msgstr "Obciążenie 15 min.:" msgid "5 Minute Load:" -msgstr "Obciążenie w ciągu 5 minut:" +msgstr "Obciążenie 5 min.:" msgid "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>" msgstr "<abbr title=\"Basic Service Set Identifier\">BSSID</abbr>" @@ -1838,7 +1838,7 @@ msgid "Out" msgstr "Wychodzące" msgid "Outbound:" -msgstr "Wychodzące:" +msgstr "Wychodzący:" msgid "Outdoor Channels" msgstr "Kanały zewnętrzne" diff --git a/modules/luci-base/root/etc/config/luci b/modules/luci-base/root/etc/config/luci index c503a8f1e0..baa3ac5d1e 100644 --- a/modules/luci-base/root/etc/config/luci +++ b/modules/luci-base/root/etc/config/luci @@ -1,6 +1,6 @@ config core main option lang auto - option mediaurlbase /luci-static/openwrt.org + option mediaurlbase /luci-static/bootstrap option resourcebase /luci-static/resources config extern flash_keep diff --git a/modules/luci-base/root/www/index.html b/modules/luci-base/root/www/index.html index 0b5fa1d87e..59b0d84842 100644 --- a/modules/luci-base/root/www/index.html +++ b/modules/luci-base/root/www/index.html @@ -5,7 +5,7 @@ <meta http-equiv="Cache-Control" content="no-cache" /> <meta http-equiv="refresh" content="0; URL=/cgi-bin/luci" /> </head> -<body style="background-color: black"> -<a style="color: white; text-decoration: none" href="/cgi-bin/luci">LuCI - Lua Configuration Interface</a> +<body style="background-color: white"> +<a style="color: black; font-family: arial, helvetica, sans-serif;" href="/cgi-bin/luci">LuCI - Lua Configuration Interface</a> </body> </html> diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua index 49103a8113..4dc52ada06 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_network/dhcp.lua @@ -51,13 +51,10 @@ rf.optional = true s:taboption("files", Flag, "nohosts", - translate("Ignore Hosts files")).optional = true + translate("Ignore <code>/etc/hosts</code>")).optional = true -hf = s:taboption("files", DynamicList, "addnhosts", - translate("Additional Hosts files")) - -hf:depends("nohosts", "") -hf.optional = true +s:taboption("files", DynamicList, "addnhosts", + translate("Additional Hosts files")).optional = true s:taboption("advanced", Flag, "boguspriv", diff --git a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/ipkg.lua b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/ipkg.lua index b01b5dbb3e..7c6d7e1c66 100644 --- a/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/ipkg.lua +++ b/modules/luci-mod-admin-full/luasrc/model/cbi/admin_system/ipkg.lua @@ -11,6 +11,7 @@ f = SimpleForm("ipkgconf", translate("OPKG-Configuration"), translate("General o f:append(Template("admin_system/ipkg")) t = f:field(TextValue, "lines") +t.wrap = "off" t.rows = 10 function t.cfgvalue() return nixio.fs.readfile(ipkgfile) or "" @@ -28,6 +29,7 @@ g = SimpleForm("distfeedconf", translate("Distribution feeds"), translate("Build/distribution specific feed definitions. This file will NOT be preserved in any sysupgrade.")) d = g:field(TextValue, "lines2") +d.wrap = "off" d.rows = 10 function d.cfgvalue() return nixio.fs.readfile(distfeeds) or "" @@ -45,6 +47,7 @@ h = SimpleForm("customfeedconf", translate("Custom feeds"), translate("Custom feed definitions, e.g. private feeds. This file can be preserved in a sysupgrade.")) c = h:field(TextValue, "lines3") +c.wrap = "off" c.rows = 10 function c.cfgvalue() return nixio.fs.readfile(customfeeds) or "" diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm index 05c866128d..8a6c90fc21 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/diagnostics.htm @@ -55,7 +55,7 @@ local has_traceroute6 = fs.access("/usr/bin/traceroute6") <form method="post" action="<%=pcdata(luci.http.getenv("REQUEST_URI"))%>"> <div class="cbi-map"> - <h2><a id="content" name="content"><%:Diagnostics%></a></h2> + <h2 name="content"><%:Diagnostics%></h2> <fieldset class="cbi-section"> <legend><%:Network Utilities%></legend> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm index 90cc4c03e1..431afb5791 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_join.htm @@ -87,7 +87,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Join Network: Wireless Scan%></a></h2> +<h2 name="content"><%:Join Network: Wireless Scan%></h2> <div class="cbi-map"> <fieldset class="cbi-section"> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm index 4fc268e66c..ca1f20baed 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_network/wifi_overview.htm @@ -348,7 +348,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Wireless Overview%></a></h2> +<h2 name="content"><%:Wireless Overview%></h2> <fieldset class="cbi-section" style="display:none"> <legend><%:Reconnecting interface%></legend> @@ -410,7 +410,7 @@ <% end %> - <h2><a id="content" name="content"><%:Associated Stations%></a></h2> + <h2 name="content"><%:Associated Stations%></h2> <fieldset class="cbi-section"> <table class="cbi-section-table" style="margin:10px" id="iw-assoclist"> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm index dbcf06beef..04da3c1239 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/bandwidth.htm @@ -264,7 +264,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Realtime Traffic%></a></h2> +<h2 name="content"><%:Realtime Traffic%></h2> <ul class="cbi-tabmenu"> <% for _, dev in ipairs(devices) do %> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm index 64b950e24b..0b2e52e059 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/connections.htm @@ -312,7 +312,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Realtime Connections%></a></h2> +<h2 name="content"><%:Realtime Connections%></h2> <div class="cbi-map-descr"><%:This page gives an overview over currently active network connections.%></div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/dmesg.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/dmesg.htm index a63bb71128..c119b57296 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/dmesg.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/dmesg.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:Kernel Log%></a></h2> +<h2 name="content"><%:Kernel Log%></h2> <div id="content_syslog"> <textarea readonly="readonly" wrap="off" rows="<%=dmesg:cmatch("\n")+2%>" id="syslog"><%=dmesg:pcdata()%></textarea> </div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm index 07a96b2bf0..62188e45e2 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/index.htm @@ -88,7 +88,9 @@ if has_dsl then local dsl_stat = luci.sys.exec("/etc/init.d/dsl_control lucistat") local dsl_func = loadstring(dsl_stat) - rv.dsl = dsl_func() + if dsl_func then + rv.dsl = dsl_func() + end end luci.http.prepare_content("application/json") @@ -550,7 +552,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Status%></a></h2> +<h2 name="content"><%:Status%></h2> <fieldset class="cbi-section"> <legend><%:System%></legend> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm index ba2933adef..c1f982d162 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/iptables.htm @@ -59,7 +59,7 @@ } </style> -<h2><a id="content" name="content"><%:Firewall Status%></a></h2> +<h2 name="content"><%:Firewall Status%></h2> <% if has_ip6tables then %> <ul class="cbi-tabmenu"> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm index d095948e50..97a2f5ed59 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/load.htm @@ -242,7 +242,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Realtime Load%></a></h2> +<h2 name="content"><%:Realtime Load%></h2> <embed id="bwsvg" style="width:100%; height:300px; border:1px solid #000000; background-color:#FFFFFF" src="<%=resource%>/load.svg" /> <div style="text-align:right"><small id="scale">-</small></div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm index 82dd3a7dfe..5f2c074939 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/routes.htm @@ -33,7 +33,7 @@ <%+header%> <div class="cbi-map" id="cbi-network"> - <h2><a id="content" name="content"><%:Routes%></a></h2> + <h2 name="content"><%:Routes%></h2> <div class="cbi-map-descr"><%:The following rules are currently active on this system.%></div> <fieldset class="cbi-section"> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/syslog.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/syslog.htm index 40032a1426..b87f21d08d 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/syslog.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/syslog.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System Log%></a></h2> +<h2 name="content"><%:System Log%></h2> <div id="content_syslog"> <textarea readonly="readonly" wrap="off" rows="<%=syslog:cmatch("\n")+2%>" id="syslog"><%=syslog:pcdata()%></textarea> </div> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm b/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm index 025fece90b..f185926104 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_status/wireless.htm @@ -314,7 +314,7 @@ ); //]]></script> -<h2><a id="content" name="content"><%:Realtime Wireless%></a></h2> +<h2 name="content"><%:Realtime Wireless%></h2> <ul class="cbi-tabmenu"> <% for _, dev in ipairs(devices) do %> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/applyreboot.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/applyreboot.htm index 15c96e34df..e722a48096 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/applyreboot.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/applyreboot.htm @@ -25,7 +25,7 @@ <body> <div id="maincontainer"> <div id="maincontent"> - <h2><a id="content" name="content"><%:System%> - <% if title then %><%=title%><% else %><%:Rebooting...%><% end %></a></h2> + <h2 name="content"><%:System%> - <% if title then %><%=title%><% else %><%:Rebooting...%><% end %></h2> <fieldset class="cbi-section"> <p> <% if msg then %><%=msg%><% else %><%:Changes applied.%><% end %> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm index bea565aa05..bc8bcf4884 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/flashops.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Flash operations%></a></h2> +<h2 name="content"><%:Flash operations%></h2> <ul class="cbi-tabmenu"> <li class="cbi-tab"><a href="#"><%:Actions%></a></li> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm index fe2fe04366..ef9591990f 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/packages.htm @@ -44,7 +44,7 @@ end <%+header%> -<h2><a id="content" name="content"><%:Software%></a></h2> +<h2 name="content"><%:Software%></h2> <form method="post" action="<%=REQUEST_URI%>"> <div class="cbi-map"> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm index 80768119fe..aa7441d130 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/reboot.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <h3><%:Reboot%></h3> <p><%:Reboots the operating system of your device%></p> <%- diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm b/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm index b9d42357bb..1985058829 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_system/upgrade.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Flash Firmware%> - <%:Verify%></a></h2> +<h2 name="content"><%:Flash Firmware%> - <%:Verify%></h2> <p> <%_ The flash image was uploaded. Below is the checksum and file size listed, diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/apply.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/apply.htm index 4284b44d38..370027e510 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/apply.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/apply.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Configuration%> / <%:Apply%></a></h2> +<h2 name="content"><%:Configuration%> / <%:Apply%></h2> <% if changes then %> <%+cbi/apply_xhr%> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm index 84e22879e0..865780ff0f 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/changes.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Configuration%> / <%:Changes%></a></h2> +<h2 name="content"><%:Configuration%> / <%:Changes%></h2> <% if changes then %> <%+admin_uci/changelog%> diff --git a/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm b/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm index d2bdc7a971..5da7281a80 100644 --- a/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm +++ b/modules/luci-mod-admin-full/luasrc/view/admin_uci/revert.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Configuration%> / <%:Revert%></a></h2> +<h2 name="content"><%:Configuration%> / <%:Revert%></h2> <% if changes then %> <%+cbi/apply_xhr%> diff --git a/modules/luci-mod-admin-mini/luasrc/view/mini/applyreboot.htm b/modules/luci-mod-admin-mini/luasrc/view/mini/applyreboot.htm index 4c536249ae..d33a2ca291 100644 --- a/modules/luci-mod-admin-mini/luasrc/view/mini/applyreboot.htm +++ b/modules/luci-mod-admin-mini/luasrc/view/mini/applyreboot.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <br /> <p><% if msg then %><%=msg%><% else %><%:Changes applied.%><% end %></p> <p><%:Please wait: Device rebooting...%></p> diff --git a/modules/luci-mod-admin-mini/luasrc/view/mini/backup.htm b/modules/luci-mod-admin-mini/luasrc/view/mini/backup.htm index b0f52f791e..efc6aa72f7 100644 --- a/modules/luci-mod-admin-mini/luasrc/view/mini/backup.htm +++ b/modules/luci-mod-admin-mini/luasrc/view/mini/backup.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <h3><%:Backup / Restore%></h3> <p><%:Here you can backup and restore your configuration and - if possible - reset this device to the default settings.%></p> <br /> diff --git a/modules/luci-mod-admin-mini/luasrc/view/mini/index.htm b/modules/luci-mod-admin-mini/luasrc/view/mini/index.htm index 9fb03c3c66..5818a567fc 100644 --- a/modules/luci-mod-admin-mini/luasrc/view/mini/index.htm +++ b/modules/luci-mod-admin-mini/luasrc/view/mini/index.htm @@ -4,7 +4,7 @@ Licensed to the public under the Apache License 2.0. -%> -<h2><a id="content" name="content"><%:Hello!%></a></h2> +<h2 name="content"><%:Hello!%></h2> <p><%_This is the administration area of <abbr title="Lua Configuration Interface">LuCI</abbr>.%></p> <p><%_<abbr title="Lua Configuration Interface">LuCI</abbr> is a free, flexible, and user friendly graphical interface for configuring OpenWrt.%><br /> <%:On the following pages you can adjust all important settings of this device.%></p> diff --git a/modules/luci-mod-admin-mini/luasrc/view/mini/reboot.htm b/modules/luci-mod-admin-mini/luasrc/view/mini/reboot.htm index 0717f68d88..f70e7c92da 100644 --- a/modules/luci-mod-admin-mini/luasrc/view/mini/reboot.htm +++ b/modules/luci-mod-admin-mini/luasrc/view/mini/reboot.htm @@ -5,7 +5,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <h3><%:Reboot%></h3> <p><%:Reboots the operating system of your device%></p> <%- diff --git a/modules/luci-mod-admin-mini/luasrc/view/mini/upgrade.htm b/modules/luci-mod-admin-mini/luasrc/view/mini/upgrade.htm index 474c22037a..ecd1e8a7a8 100644 --- a/modules/luci-mod-admin-mini/luasrc/view/mini/upgrade.htm +++ b/modules/luci-mod-admin-mini/luasrc/view/mini/upgrade.htm @@ -6,7 +6,7 @@ <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <h3><%:Flash Firmware%></h3> <% if step == 1 then %> diff --git a/modules/luci-mod-failsafe/luasrc/controller/failsafe/failsafe.lua b/modules/luci-mod-failsafe/luasrc/controller/failsafe/failsafe.lua index 6f78643018..60caadb4b1 100644 --- a/modules/luci-mod-failsafe/luasrc/controller/failsafe/failsafe.lua +++ b/modules/luci-mod-failsafe/luasrc/controller/failsafe/failsafe.lua @@ -84,11 +84,13 @@ function action_flashops() fp = io.open(image_tmp, "w") end end - if chunk then - fp:write(chunk) - end - if eof then - fp:close() + if fp then + if chunk then + fp:write(chunk) + end + if eof then + fp:close() + end end end ) diff --git a/modules/luci-mod-failsafe/luasrc/view/failsafe/applyreboot.htm b/modules/luci-mod-failsafe/luasrc/view/failsafe/applyreboot.htm index 0c8cebc137..12c138c165 100644 --- a/modules/luci-mod-failsafe/luasrc/view/failsafe/applyreboot.htm +++ b/modules/luci-mod-failsafe/luasrc/view/failsafe/applyreboot.htm @@ -25,7 +25,7 @@ <body> <div id="maincontainer"> <div id="maincontent"> - <h2><a id="content" name="content"><%:System%> - <% if title then %><%=title%><% else %><%:Rebooting...%><% end %></a></h2> + <h2 name="content"><%:System%> - <% if title then %><%=title%><% else %><%:Rebooting...%><% end %></h2> <fieldset class="cbi-section"> <p> <% if msg then %><%=msg%><% else %><%:Changes applied.%><% end %> diff --git a/modules/luci-mod-failsafe/luasrc/view/failsafe/flashops.htm b/modules/luci-mod-failsafe/luasrc/view/failsafe/flashops.htm index 29c4d2d6fb..3c8d11bb75 100644 --- a/modules/luci-mod-failsafe/luasrc/view/failsafe/flashops.htm +++ b/modules/luci-mod-failsafe/luasrc/view/failsafe/flashops.htm @@ -7,7 +7,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Flash operations%></a></h2> +<h2 name="content"><%:Flash operations%></h2> <fieldset class="cbi-section"> <legend><%:Flash new firmware image%></legend> <% if upgrade_avail then %> diff --git a/modules/luci-mod-failsafe/luasrc/view/failsafe/reboot.htm b/modules/luci-mod-failsafe/luasrc/view/failsafe/reboot.htm index 189939afbe..cbbe13b427 100644 --- a/modules/luci-mod-failsafe/luasrc/view/failsafe/reboot.htm +++ b/modules/luci-mod-failsafe/luasrc/view/failsafe/reboot.htm @@ -6,7 +6,7 @@ -%> <%+header%> -<h2><a id="content" name="content"><%:System%></a></h2> +<h2 name="content"><%:System%></h2> <h3><%:Reboot%></h3> <p><%:Reboots the operating system of your device%></p> <%- if not reboot then -%> diff --git a/modules/luci-mod-failsafe/luasrc/view/failsafe/upgrade.htm b/modules/luci-mod-failsafe/luasrc/view/failsafe/upgrade.htm index 619ed85dea..3be9ae1193 100644 --- a/modules/luci-mod-failsafe/luasrc/view/failsafe/upgrade.htm +++ b/modules/luci-mod-failsafe/luasrc/view/failsafe/upgrade.htm @@ -7,7 +7,7 @@ <%+header%> -<h2><a id="content" name="content"><%:Flash Firmware%> - <%:Verify%></a></h2> +<h2 name="content"><%:Flash Firmware%> - <%:Verify%></h2> <p> <%_ The flash image was uploaded. Below is the checksum and file size listed, diff --git a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm index f7cb4a92bf..1add595c6c 100644 --- a/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm +++ b/modules/luci-mod-freifunk/luasrc/view/freifunk/contact.htm @@ -27,7 +27,7 @@ else end %> -<h2><a id="content" name="content"><%:Contact%></a></h2> +<h2 name="content"><%:Contact%></h2> <fieldset xmlns="http://www.w3.org/1999/xhtml" class="cbi-section"> <legend><%:Operator%></legend> diff --git a/modules/luci-mod-rpc/luasrc/controller/rpc.lua b/modules/luci-mod-rpc/luasrc/controller/rpc.lua index 129ca43b51..759bb749cf 100644 --- a/modules/luci-mod-rpc/luasrc/controller/rpc.lua +++ b/modules/luci-mod-rpc/luasrc/controller/rpc.lua @@ -49,10 +49,10 @@ function rpc_auth() server.challenge = function(user, pass) local sid, token, secret - require "luci.config" + local config = require "luci.config" if sys.user.checkpasswd(user, pass) then - local sdat = util.ubus("session", "create", { timeout = luci.config.sauth.sessiontime }) + local sdat = util.ubus("session", "create", { timeout = config.sauth.sessiontime }) if sdat then sid = sdat.ubus_rpc_session token = sys.uniqueid(16) diff --git a/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_map.lua b/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_map.lua index 2f8108ef1c..37d4ec901a 100644 --- a/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_map.lua +++ b/protocols/luci-proto-ipv6/luasrc/model/cbi/admin_network/proto_map.lua @@ -50,7 +50,7 @@ ip6prefixlen.datatype = "range(0,64)" s:taboption("general", Value, "ealen", - translate("EA-bits length")).datatype = "range(0,16)" + translate("EA-bits length")).datatype = "range(0,48)" s:taboption("general", Value, "psidlen", translate("PSID-bits length")).datatype = "range(0,16)" diff --git a/themes/luci-theme-freifunk-bno/Makefile b/themes/luci-theme-freifunk-bno/Makefile deleted file mode 100644 index 1491a97746..0000000000 --- a/themes/luci-theme-freifunk-bno/Makefile +++ /dev/null @@ -1,14 +0,0 @@ -# -# Copyright (C) 2008-2014 The LuCI Team <luci@lists.subsignal.org> -# -# This is free software, licensed under the Apache License, Version 2.0 . -# - -include $(TOPDIR)/rules.mk - -LUCI_TITLE:=Freifunk Berlin Nordost Theme -LUCI_DEPENDS:= - -include ../../luci.mk - -# call BuildPackage - OpenWrt buildroot signature diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/cascade.css b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/cascade.css deleted file mode 100644 index 4f89b2d3af..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/cascade.css +++ /dev/null @@ -1,872 +0,0 @@ -* { - margin: 0; - padding: 0; -} - -body { - background-color: #ffffff; - color: #ffffff; - font-family: Verdana, Arial, sans-serif; - font-size: 100%; - line-height: 100%; - background-image: url(images/main-back.png); - background-repeat: repeat-x; - background-position: left bottom; - } -#all { - margin: 0px; - padding: 0px; - min-height: 800px; -} - -code { - font-family: monospace; - white-space: pre; -} - -a:link, a:visited { - color:#000000; - font-weight:bold; - text-decoration:none; - } -a:hover { - color:#333333; - font-weight:bold; - } - -/* Custom*/ - #wrapper -{ - width: 95%; - color: #333333; - margin-left: auto; - margin-right: auto; -/* background-image: url(images/corner-left.gif); */ -/* background-repeat: no-repeat; */ -/* background-position: left bottom; */ - background-color: #FffdF4; - min-width: 710px; - min-height: 710px; -} -#main { - clear: both; - width: 100%; - margin: 0; - padding: 0; - color: #333333; -/* background-image: url(images/corner-right.gif); */ -/* background-repeat: no-repeat; */ -/* background-position: right bottom; */ - min-height: 710px; -} - -div#maincontent ul { - margin-left: 2em; -} - -.warning { - color: red !important; - font-weight: bold; -} - -.clear { - clear: both; - height: 1px; -} - -.hidden { - display: none; -} - -.error { - color: #ff0000; -} - -#header -{ - padding: 0px; - height: 100px; -} -#headerleft -{ - height: 100px; - background-color: #FFFfff; - background-image: url(images/header-left.gif); - background-repeat: no-repeat; - background-position: left top; -} -#headerright -{ - height: 100px; - background-color: #FFfffF; - - margin-left: 5px; - background-image: url(images/header-right.gif); - background-repeat: no-repeat; - background-position: right top; -} - -#headerback -{ - margin-right: 5px; - height: 100px; - background-color: #FFfffF; - background-image: url(images/header-back.gif); - background-repeat: repeat-x; - background-position: left top; -} -#schriftzug { - font-size : 1.5em; - text-align:left; - margin-bottom: 7px; - margin-top: 7px; - float:left; - width: 450px; -} - -#schriftzug a:hover{ - background-color:transparent; -} -#logo{ - margin-top: 5px; - float:right; - width: 115px; -} - -.pathbar { - display: none; -} - -.menubar { - width: 100%; - min-height: 1.8em; - background: #ffffff; - color: #000000; - border-top:0.4em solid #DC0067; -} - -.mainmenu { - float: left; - width: auto; - min-height: 1.8em; - background: #ffffff; - color: #000000; -} -.modemenu li { - border-top:0.3em solid #DC0067; - margin-left: 0.3em; - margin-top: -0.3em; -} -.mainmenu div { - float: left; - border-top:0.3em solid #DC0067; - margin-right: 0.3em; - margin-top: -0.3em; -} -.mainmenu div.preactive { - border-top: 0.3em solid #FFCB05; - margin-top: -0.2em; -} - -.mainmenu li { - white-space: nowrap; -} - -.mainmenu div ul { - display: none; - position: absolute; - background: #ffffff; - color: #000000; - border-width: 0 1px 1px 1px; - border-style: solid; - border-color: #444444; - list-style-type: none; -} - -.mainmenu ul li:hover > ul, -.mainmenu div:hover > ul { - display: block; -} - -.mainmenu ul li > ul { - left: 100%; - margin-top: -1.8em; - border-width: 1px; -} - -.modemenu a, -.mainmenu a { - display: block; - padding: 0.2em; - color: #000000; - text-decoration: none; - font-size: 70%; - font-weight: bold; -} - - -.modemenu .active a { - color: #000000; - font-weight: bold; - border-top:0.3em solid #FFCB05; - margin-top: -0.2em; -} -.mainmenu .active a{ - color: #000000; - font-weight: bold; - border-top:0.2em solid #FFCB05; -} -.mainmenu li > span:active { - background-color: #FFE990; -} - -.mainmenu li:hover > span > a, -.mainmenu div:hover > a { -color: #ffffff; -background-color: #FFCB05; -} - - -.modemenu a:focus, -.mainmenu a:focus { - color: #000000; -} - -.mainmenu a:hover, -.modemenu a:hover { -color: #ffffff; -background-color: #FFCB05; -} - -.mainmenu div.preactive > a { - color: #DC0067; - font-weight: bold; -} -.mainmenu div.preactive > a:hover, -.mainmenu div.preactive > a:focus { - color: #ffffff; - font-weight: bold; -} - -.modemenu ul { - width: auto; - background: #000000; - color: #ffffff; - list-style-type: none; -} - -.modemenu li { - float: right; - -} - -#maincontent { - clear: both; - width: 98%; - margin: 0 auto; - padding: 0.5em; - background: #FFF4BE; - color: #000000; - font-size: 80%; - border-top:1px solid #D2A800; -} - -#maincontent h2 { - margin: 0.25em 0 0.5em 0; - font-size: 150%; - font-weight: normal; -} - -#maincontent h3 { - margin: 0.5em 0; - font-size: 120%; - font-weight: normal; - text-decoration: underline; -} - -#maincontent p { - margin-bottom: 1em; -} - -.cbi-section { - margin-bottom: 0.5em; - padding: 0.5em 1em; - border: 1px dotted #D2A800; - background-color: #FFE990; -} - -.cbi-section legend { - font-size: 110%; - font-weight: bold; - height: 1em; - padding: 0 0.25em; - color: #555555; -} - -.cbi-section h2 { - margin: 0em 0 0.5em -0.5em !important; -} - -.cbi-section h3 { - height: 1.5em; - font-size: 90%; - color: #555555; -} - -.cbi-section-descr { - margin-bottom: 0.5em; - font-size: 95%; -} - -.cbi-title-ref { - color: inherit; - text-decoration: none; - padding-right: 18px; - background: url('../resources/cbi/link.gif') no-repeat scroll right center; - background-color: inherit; -} - -input[type=submit], -input[type=reset], -input[type=image], -label { - cursor: pointer; -} - -select, -input, -textarea { - background: #FffdF4; - color: #000000; - border-width: 1px; - border-color: #000000; -} - -input[type=image] { - border: none; -} - - -input:focus, -input:hover, -select:focus, -select:hover, -textarea:focus, -textarea:hover { - background-color: #FFF4BE; -} - -select, -input[type=text], -input[type=password] { - width: 20em; -} - -td select, -td input[type=text], -td input[type=password] { - width: 99%; -} - -img.cbi-image-button { - cursor: pointer; - margin: 0 2px; - vertical-align: middle; -} - -input.cbi-input-user { - background: url('../resources/cbi/user.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; -} - -input.cbi-input-password { - background: url('../resources/cbi/key.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; -} - -input.cbi-input-find { - background: url('../resources/cbi/find.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; -} - -input.cbi-input-reload { - background: url('../resources/cbi/reload.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; -} - -input.cbi-input-add, -input.cbi-button-add { - background: url('../resources/cbi/add.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-input-fieldadd, -input.cbi-button-fieldadd { - background: url(../resources/cbi/fieldadd.gif) no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-input-reset, -input.cbi-button-reset { - background: url('../resources/cbi/reset.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-input-save, -input.cbi-button-save { - background: url('../resources/cbi/save.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-input-apply, -input.cbi-button-apply { - background: url('../resources/cbi/apply.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-input-remove, -div.cbi-section-remove input { - background: url('../resources/cbi/remove.gif') no-repeat scroll 1px center; - background-color: inherit; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-button-up { - background-image: url('../resources/cbi/up.gif'); - padding-left: 11px; - padding-right: 1px; -} - -input.cbi-button-down { - background-image: url('../resources/cbi/down.gif'); - padding-left: 11px; - padding-right: 1px; -} - -input.cbi-button-edit { - background-image: url('../resources/cbi/edit.gif'); - color: #000000; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-button-reload { - background-image: url('../resources/cbi/reload.gif'); - color: #000000; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-button-reset { - background-image: url('../resources/cbi/reset.gif'); - color: #000000; - padding-left: 17px; - padding-right: 1px; -} - -input.cbi-button-remove { - background-image: url('../resources/cbi/remove.gif'); - color: #000000; - padding-left: 17px; - padding-right: 1px; -} - -.cbi-input-invalid { - background-image: url('../resources/cbi/reset.gif'); - background-repeat: no-repeat; - background-position: right; - color: #FF0000 !important; - border-color: #FF0000; -} - -div.cbi-section-remove input { - border-bottom: none; -} - -textarea { - margin-left: -1px; - margin-bottom: 0.5em; -} - -form > div > input[type=submit], -form > div > input[type=reset] { - float: right; - margin-left: 0.5em; -} - -table.smalltext { -background-color: #FFCB05; - border-top: 1px solid #666666; - border-right: 1px solid #666666; - border-bottom: 1px solid #666666; - font-size: 90%; - width: 80%; - margin-left: auto; - margin-right: auto; - border-collapse: collapse; -} - -table.smalltext tr:hover td { -background-color: #FFE990; -} - -table.smalltext tr th { - padding: 0 0.25em; - border-left: 1px solid #666666; - text-align: left; -} - -table.smalltext tr td { - padding: 0 0.25em; - border-top: 1px solid #666666; - border-left: 1px solid #666666; -} - -.cbi-rowstyle-1 { - background-color: #FFF4BE; -} - -.cbi-rowstyle-2 { -} - -table.cbi-section-table .cbi-section-table-cell { - padding: 3px; - white-space: nowrap; -} - -div.cbi-value { - clear: left; - vertical-align: middle; - padding-left: 0.25em; - border-bottom: 1px dotted #FFCB05; -} - -div.cbi-value:hover { - background: #FFF4BE; -} - -div.cbi-value:last-child { - border: none; -} - -.cbi-value-title { - float: left; - width: 40%; -} - -div.cbi-value-field { - width: 58%; - margin: 0.25em 0 0.25em 40%; -} - -div.cbi-value-description { - font-size: 90%; -} - -div.cbi-value-field > div.cbi-value-description { - display: none; -} - -div.cbi-value:hover div.cbi-value-field > div.cbi-value-description { - display: block; - color: #ffffff; - background-color: #FFCB05; -} - -option:active, -option:before, -option:after, -option:focus, -option:hover { - color: #ffffff; - background-color: #EEBA00; - background: url(images/bgoption.png); -} - -div.cbi-section-create { - clear: left; - white-space: nowrap; -} - -div.cbi-map-descr { - margin-bottom: 1em; -} - -div.cbi-optionals { - margin: 0.5em 0; - padding: 0 0.25em; -} - -div.cbi-section-remove { - float: right; -} - -.cbi-section-node { - clear: both; - border: 1px dotted #FFCB05; - padding-bottom: 0; -} - -.cbi-section-node div.cbi-section-table-row { - margin: 0.25em; -} - -table.cbi-section-table { - width: 100%; - font-size: 95%; -} - -table.cbi-section-table th, -table.cbi-section-table td { - text-align: center; -} - -tr.cbi-section-table-descr th { - font-weight: normal; - font-size: 90%; -} - -td.cbi-section-table-optionals { - text-align: left !important; - padding-top: 1em; -} - -.cbi-value-helpicon img { - vertical-align: bottom; -} - -div.cbi-error { - font-size: 95%; - font-weight: bold; - color: #FF0000; -} - -td.cbi-value-error { - border-color: red !important; -} - -.cbi-value-error input, -.cbi-value-error select { - color: red !important; - background-color: #FFCCCC; -} - -.cbi-section-error { - color: red; - font-size: 95%; - border: 1px dotted red; - margin: 3px; - padding: 3px; -} - -ul.cbi-apply { - font-size: 90%; -} - -ul.cbi-tabmenu { - padding: 3px 0; - margin-left: 0 !important; - margin-bottom: -1px; - list-style-type: none; -} - -ul.cbi-tabmenu li.cbi-tab, -ul.cbi-tabmenu li.cbi-tab-disabled { - display: inline; - margin: 0; -} - -ul.cbi-tabmenu li.cbi-tab a, -ul.cbi-tabmenu li.cbi-tab-disabled a { - text-decoration: none; - padding: 3px 7px; - margin-right: 3px; - border: 1px outset #000; - border-bottom: none; - background-color: #eee; - color: #bbb; -} - -ul.cbi-tabmenu li.cbi-tab-highlighted a { - color: #000; - background-color: #FFEEAA; -} - -ul.cbi-tabmenu li a:hover { - color: #000; -} - -ul.cbi-tabmenu li.cbi-tab a { - position: relative; - top: 1px; - padding-top: 4px; - color: #000; - background-color: #fff; -} - -div.cbi-tab-descr { - background-image: url(/luci-static/resources/cbi/help.gif); - background-position: 0.25em 50%; - background-repeat: no-repeat; - border-bottom: 1px solid #ccc; - margin: 0.25em 0.25em 2em; - padding: 0.5em 0.5em 0.5em 2em; -} - - -.left { - text-align: left !important; -} - -.right { - text-align: right !important; -} - -.luci { - position: fixed; - bottom: 0; - left: 0; - text-align: right; -} - -.luci a { - color: #666666; - text-decoration: none; - font-size: 70%; -} - -.inline { - display: inline; -} - -.error500 { - white-space: normal; - border: 1px dotted #FF0000; - background-color: #FFFFFF; - padding: 0.5em; -} - -/* obligatory IE6 Voodoo Code */ -* html body { - padding-left: 50% !important; -} - -* html div#header { - margin-left: -100% !important; -} - -* html div.menubar { - margin-left: -100% !important; - width: 200% !important; -} - -* html div#maincontent { - margin-left: -80% !important; - width: 160% !important; -} - -* html div.mainmenu div.hover ul, -* html div.mainmenu div li.hover ul, -* html div.mainmenu div li li.hover ul, -* html div.mainmenu div li li li.hover ul, -* html div.mainmenu div li li li li.hover ul { - display: block !important; - margin-left: 3em; -} - -* html div.mainmenu div.hover ul { - margin-left: 0; -} - -* html div.mainmenu .hover ul ul, -* html div.mainmenu .hover ul ul ul, -* html div.mainmenu .hover ul ul ul ul, -* html div.mainmenu .hover ul ul ul ul ul { - display: none !important; -} - -* html div.mainmenu li { - height: 1em !important; - width: 10em !important; -} - -* html .mainmenu { - height: 1.8em; -} - -* html div.cbi-value-description { - margin-left: 40%; -} - - -.ifacebox { - background-color: #FFFFFF; - border: 1px solid #CCCCCC; - margin: 0 10px; - text-align: center; - white-space: nowrap; -} - -.ifacebox .ifacebox-head { - border-bottom: 1px solid #CCCCCC; - padding: 2px; -} - -.ifacebox .ifacebox-body { - padding: 2px; -} - - -.ifacebadge { - background-color: #FFFFFF; - border: 1px solid #CCCCCC; - padding: 2px; - margin-left: 2px; - display: inline-block; -} - -.ifacebadge-active { - border-color: #000000; - font-weight: bold; -} - - -.zonebadge { - padding: 2px; - display: inline-block; - white-space: nowrap; - cursor: pointer; -} - -.zonebadge em, -.zonebadge strong { - margin: 3px; - display: inline-block; -} - -.zonebadge input { - width: 6em; - height: 1.5em; -} - -.zonebadge-empty { - border: 1px dashed #AAAAAA; - color: #AAAAAA; - font-style: italic; - font-size: smaller; -} diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/bgoption.png b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/bgoption.png Binary files differdeleted file mode 100644 index 6fd1e2f347..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/bgoption.png +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/favicon.ico b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/favicon.ico Binary files differdeleted file mode 100644 index 7247cfac5f..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/favicon.ico +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-back.gif b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-back.gif Binary files differdeleted file mode 100644 index 21fe02b1e9..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-back.gif +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-left.gif b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-left.gif Binary files differdeleted file mode 100644 index a3258ccb6d..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-left.gif +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-right.gif b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-right.gif Binary files differdeleted file mode 100644 index 93d0291a21..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/header-right.gif +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/logo.gif b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/logo.gif Binary files differdeleted file mode 100644 index ff00d6ddb8..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/logo.gif +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/main-back.png b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/main-back.png Binary files differdeleted file mode 100644 index 34aca44e01..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/main-back.png +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/schriftzug.gif b/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/schriftzug.gif Binary files differdeleted file mode 100644 index 82607d533f..0000000000 --- a/themes/luci-theme-freifunk-bno/htdocs/luci-static/freifunk-bno/images/schriftzug.gif +++ /dev/null diff --git a/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/footer.htm b/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/footer.htm deleted file mode 100644 index 2dbade371f..0000000000 --- a/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/footer.htm +++ /dev/null @@ -1,24 +0,0 @@ -<%# - Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> - Licensed to the public under the Apache License 2.0. --%> - - <br class="clear" /> - </div> -</div></div> -</div> - -<div class="luci separator black whitetext bold"> - <% local ver = require "luci.version" -%> - <a href="<%=controller%>/about">Powered by <%= ver.luciname %> (<%= ver.luciversion %>)</a> -</div> -</div><!-- end main --><div align="center" style="padding-top:5px "></div> -<br> -</div><!-- end wrapper --> - -</center> -</div> - -</body> -</html> diff --git a/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/header.htm b/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/header.htm deleted file mode 100644 index d108a08939..0000000000 --- a/themes/luci-theme-freifunk-bno/luasrc/view/themes/freifunk-bno/header.htm +++ /dev/null @@ -1,209 +0,0 @@ -<%# - Copyright 2008 Steven Barth <steven@midlink.org> - Copyright 2008 Jo-Philipp Wich <jow@openwrt.org> - Licensed to the public under the Apache License 2.0. --%> - -<% -require("luci.sys") -require("luci.util") - -local boardinfo = luci.util.ubus("system", "board") - -local request = require("luci.dispatcher").context.path -local category = request[1] -local tree = luci.dispatcher.node() -local cattree = category and luci.dispatcher.node(category) -local node = luci.dispatcher.context.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.http").prepare_content("text/html") - --%> - -<?xml version="1.0" encoding="utf-8"?> -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.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 %> - <% if css then %><style title="text/css"> - <%-= css %> - </style> - <% end -%> - <link rel="shortcut icon" href="<%=media%>/images/favicon.ico" /> - <meta http-equiv="content-type" content="application/xhtml+xml; charset=utf-8" /> - <meta http-equiv="content-script-type" content="text/javascript" /> - <script type="text/javascript" src="<%=resource%>/xhr.js"></script> - <title><%=striptags( (boardinfo.hostname or "?") .. ( (node and node.title) and ' - ' .. translate(node.title) or '')) %> - LuCI</title> - - <!--[if lt IE 7]> - <script type="text/javascript"> - function setup_hover() { - function ie_hover(e) { - e.onmouseover = function() { this.className = "hover" } - e.onmouseout = function() { this.className = null } - } - - var lis = document.getElementById("mainmenu").getElementsByTagName("LI"); - var divs = document.getElementById("mainmenu").getElementsByTagName("DIV"); - - for( var i = 0; i < lis.length; i++ ) ie_hover( lis[i] ); - for( var i = 0; i < divs.length; i++ ) ie_hover( divs[i] ); - } - </script> - <![endif]--> -</head> -<body onload="window.setup_hover && setup_hover()"> -<div id="all"> -<center> - -<div id="wrapper"> -<%- if luci.sys.user.getuser("root") and not luci.sys.user.getpasswd("root") then -%> - <div class="warning"> - <strong><%:No password set!%></strong><br /> - <%:There is no password set on this router. Please configure a root password to protect the web interface and enable SSH.%> - </div> -<%- end -%> -<div id="main"> - - -<div id="header"> - <div id="headerleft"> - <div id="headerright"> - <div id="headerback"> - <div id="schriftzug"><img src="<%=media%>/images/schriftzug.gif" alt="Freifunk Nordost ueberschrift" name="Freifunk_nordost_ueberschrift" border="0"> </div> - <div id="logo"><img src="<%=media%>/images/logo.gif" alt="Freifunk Nordost logo" name="Freifunk_nordost" border="0"></a></div> - <div class="clear"></div> - - </div> - </div> - </div> -</div> - -<div class="pathbar separator black whitetext bold"> -<%:Path%>: <% -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%>"><%=pcdata(striptags(translate(c.title) or v))%></a> <% if k ~= #request then %>» <% end - end -end -%> -</div> - -<div class="menubar"> - <div id="mainmenu" class="mainmenu"> -<%- -local function submenu(prefix, node) - if not node.nodes or node.hidden then - return false - end - local index = {} - local count = 0 - for k, n in pairs(node.nodes) do - if n.title and n.target then - table.insert(index, {name=k, order=n.order or 100}) - count = count + 1 - end - end - - table.sort(index, function(a, b) return a.order < b.order end) - - if count > 0 then -%> - <ul> - <%- for j, v in pairs(index) do - if not v.hidden and #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> - <span<% if nnode._menu_selected then %> class="active"<%end%>><a href="<%=pcdata(href)%>"><%=pcdata(striptags(translate(nnode.title)))%></a></span> - <%- submenu(prefix .. v.name .. "/", nnode) %> - </li> - <%- end %> - <%- end %> - </ul> -<%- - end -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 not node.hidden and node.title and node.target then - local href = controller.."/"..category.."/"..k.name - href = (k.query) and href .. luci.http.build_querystring(k.query) or href %> - <div<% if node._menu_selected then %> class="preactive"<%end%>><a href="<%=pcdata(href)%>"><%=pcdata(striptags(translate(node.title)))%></a> - <%submenu("/" .. category .. "/" .. k.name .. "/", node)%> - </div> -<% end - end -end -%> - </div> - <div class="modemenu"> - <ul><% - for k,node in pairs(tree.nodes) do - if node.title and not node.hidden then %> - <li<% if request[1] == k then %> class="active"<%end%>><a href="<%=controller%>/<%=k%>"><%=pcdata(striptags(translate(node.title)))%></a></li> -<% end - end%> - </ul> - </div> - - <% - 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 - %> - <div class="mainmenu" style="float:right; margin-right:2em"> - <div> - <% if ucic > 0 then %> - <a class="warning" href="<%=controller%>/<%=category%>/uci/changes"><%:Unsaved Changes%>: <%=ucic%></a> - <% submenu("/" .. category .. "/uci/", tree.nodes[category].nodes["uci"]) -%> - <% else %> - <a href="#"><%:Changes%>: 0</a> - <% end %> - </div> - </div> - <% end %> - - <br class="clear" /> -</div> - -<div id="maincontent"> -<% if category ~= "freifunk" and category ~= "splash" then %> -<noscript> - <div class="errorbox"> - <strong><%:Java Script required!%></strong><br /> - <%:You must enable Java Script in your browser or LuCI will not work properly.%> - </div> -</noscript> -<% end %> diff --git a/themes/luci-theme-freifunk-bno/root/etc/uci-defaults/luci-theme-freifunk-bno b/themes/luci-theme-freifunk-bno/root/etc/uci-defaults/luci-theme-freifunk-bno deleted file mode 100755 index a19f2bb412..0000000000 --- a/themes/luci-theme-freifunk-bno/root/etc/uci-defaults/luci-theme-freifunk-bno +++ /dev/null @@ -1,6 +0,0 @@ -#!/bin/sh -uci batch <<-EOF - set luci.themes.Freifunk_BNO=/luci-static/freifunk-bno - set luci.main.mediaurlbase=/luci-static/freifunk-bno - commit luci -EOF |