$Id$
]]--
+require("luci.tools.webadmin")
m = Map("qos")
s = m:section(TypedSection, "interface", translate("interfaces"))
s:option(Value, "upload", nil, "kb/s")
s = m:section(TypedSection, "classify")
-
+s.template = "cbi/tblsection"
s.anonymous = true
s.addremove = true
t:value("Bulk", translate("qos_bulk"))
t.default = "Normal"
-s:option(Value, "srchost").optional = true
-s:option(Value, "dsthost").optional = true
+srch = s:option(Value, "srchost")
+srch.rmempty = true
+srch:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(srch)
+
+dsth = s:option(Value, "dsthost")
+dsth.rmempty = true
+dsth:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(dsth)
l7 = s:option(ListValue, "layer7", translate("service"))
-l7.optional = true
-l7:value("")
+l7.rmempty = true
+l7:value("", translate("all"))
local pats = luci.fs.dir("/etc/l7-protocols")
if pats then
for i,f in ipairs(pats) do
end
p2p = s:option(ListValue, "ipp2p", "P2P")
-p2p:value("")
+p2p:value("", "-")
p2p:value("all", translate("all"))
p2p:value("bit", "BitTorrent")
p2p:value("dc", "DirectConnect")
p2p:value("edk", "eDonkey")
p2p:value("gnu", "Gnutella")
p2p:value("kazaa", "Kazaa")
-p2p.optional = true
+p2p.rmempty = true
p = s:option(ListValue, "proto", translate("protocol"))
-p:value("")
+p:value("", translate("all"))
p:value("tcp", "TCP")
p:value("udp", "UDP")
p:value("icmp", "ICMP")
-p.optional = true
+p.rmempty = true
-s:option(Value, "ports", translate("port")).optional = true
-s:option(Value, "portrange").optional = true
+ports = s:option(Value, "ports", translate("ports"))
+ports.rmempty = true
+ports:value("", translate("all"))
return m
\ No newline at end of file
$Id$
]]--
+require("luci.tools.webadmin")
m = Map("qos")
s = m:section(NamedSection, "wan", "interface", translate("m_n_inet"))
s:option(Value, "upload", translate("qos_interface_upload"), "kb/s")
s = m:section(TypedSection, "classify")
+s.template = "cbi/tblsection"
s.anonymous = true
s.addremove = true
t:value("Bulk", translate("qos_bulk"))
t.default = "Normal"
-s:option(Value, "srchost").optional = true
-s:option(Value, "dsthost").optional = true
+srch = s:option(Value, "srchost")
+srch.rmempty = true
+srch:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(srch)
+
+dsth = s:option(Value, "dsthost")
+dsth.rmempty = true
+dsth:value("", translate("all"))
+luci.tools.webadmin.cbi_add_knownips(dsth)
l7 = s:option(ListValue, "layer7", translate("service"))
-l7.optional = true
-l7:value("")
+l7.rmempty = true
+l7:value("", translate("all"))
local pats = luci.fs.dir("/etc/l7-protocols")
if pats then
for i,f in ipairs(pats) do
end
p2p = s:option(ListValue, "ipp2p", "P2P")
-p2p:value("")
+p2p:value("", "-")
p2p:value("all", translate("all"))
p2p:value("bit", "BitTorrent")
p2p:value("dc", "DirectConnect")
p2p:value("edk", "eDonkey")
p2p:value("gnu", "Gnutella")
p2p:value("kazaa", "Kazaa")
-p2p.optional = true
+p2p.rmempty = true
p = s:option(ListValue, "proto", translate("protocol"))
-p:value("")
+p:value("", translate("all"))
p:value("tcp", "TCP")
p:value("udp", "UDP")
p:value("icmp", "ICMP")
-p.optional = true
+p.rmempty = true
-s:option(Value, "ports", translate("port")).optional = true
-s:option(Value, "portrange").optional = true
+ports = s:option(Value, "ports", translate("ports"))
+ports.rmempty = true
+ports:value("", translate("all"))
return m
\ No newline at end of file
about = "About"
add = "Add"
+addresses = "Addresses"
aliases = "Aliases"
all = "all"
administration = "Administration"
password = "Password"
path = "Path"
port = "Port"
+ports = "Ports"
protocol = "Protocol"
reboot = "Reboot"
about = "Über"
add = "Hinzufügen"
+addresses = "Adressen"
aliases = "Aliasse"
all = "alle"
administration = "Administration"
password = "Passwort"
path = "Pfad"
port = "Port"
+ports = "Ports"
protocol = "Protokoll"
reboot = "Neu Starten"
var sel = document.createElement("select");
obj.parentNode.appendChild(sel);
- if (obj.value == "") {
- var optdef = document.createElement("option");
- optdef.value = "";
- optdef.appendChild(document.createTextNode(def));
- sel.appendChild(optdef);
- } else if (!values[obj.value]) {
- var opt = document.createElement("option");
- opt.value = obj.value;
- opt.selected = "selected";
- opt.appendChild(document.createTextNode(obj.value));
- sel.appendChild(opt);
+ if (!values[obj.value]) {
+ if (obj.value == "") {
+ var optdef = document.createElement("option");
+ optdef.value = "";
+ optdef.appendChild(document.createTextNode(def));
+ sel.appendChild(optdef);
+ } else {
+ var opt = document.createElement("option");
+ opt.value = obj.value;
+ opt.selected = "selected";
+ opt.appendChild(document.createTextNode(obj.value));
+ sel.appendChild(opt);
+ }
}
for (var i in values) {
}
function cbi_combobox_init(id, values, def, man) {
- var obj = document.getElementById(id)
+ var obj = document.getElementById(id);
cbi_bind(obj, "blur", function() {
cbi_combobox(id, values, def, man)
- })
- cbi_combobox(id, values, def, man)
+ });
+ cbi_combobox(id, values, def, man);
}
\ No newline at end of file
module("luci.tools.webadmin", package.seeall)
require("luci.model.uci")
+require("luci.sys")
function byte_format(byte)
local suff = {"B", "KB", "MB", "GB", "TB"}
end
end
)
+end
+
+function cbi_add_knownips(field)
+ for i, dataset in ipairs(luci.sys.net.arptable()) do
+ field:value(dataset["IP address"])
+ end
end
\ No newline at end of file
input.cbi-button {
padding-left: 17px;
+ padding-right: 1px;
}
input.cbi-button-add {
div.cbi-section-remove input {
background: transparent url('../resources/cbi/remove.gif') no-repeat scroll 1px center;
padding-left: 17px;
+ padding-right: 1px;
border-bottom: none;
}