local uci = require("luci.model.uci").cursor()
local i18n = luci.i18n.translate
local has_wifi = nixio.fs.stat("/etc/config/wireless")
+ local has_switch = false
+
+ uci:foreach("network", "switch",
+ function(s)
+ has_switch = true
+ return false
+ end
+ )
local page = node("admin", "network")
page.target = alias("admin", "network", "network")
page.order = 50
page.index = true
- local page = node("admin", "network", "vlan")
- page.target = cbi("admin_network/vlan")
- page.title = i18n("Switch")
- page.order = 20
+ if has_switch then
+ local page = node("admin", "network", "vlan")
+ page.target = cbi("admin_network/vlan")
+ page.title = i18n("Switch")
+ page.order = 20
+ end
if has_wifi and has_wifi.size > 0 then
local page = entry({"admin", "network", "wireless"}, arcombine(template("admin_network/wifi_overview"), cbi("admin_network/wifi")), i18n("Wifi"), 15)
local page = entry({"admin", "network", "wireless_join"}, call("wifi_join"), nil, 16)
page.leaf = true
+ local page = entry({"admin", "network", "wireless_add"}, call("wifi_add"), nil, 16)
+ page.leaf = true
+
local page = entry({"admin", "network", "wireless_delete"}, call("wifi_delete"), nil, 16)
page.leaf = true
end
end
end
+function wifi_add()
+ local dev = luci.http.formvalue("device")
+ local uci = require "luci.model.uci".cursor()
+ local wlm = require "luci.model.wireless"
+
+ if dev then
+ wlm.init(uci)
+
+ local net = wlm:add_network({
+ device = dev,
+ mode = "ap",
+ ssid = "OpenWrt",
+ encryption = "none"
+ })
+
+ uci:save("wireless")
+ luci.http.redirect(luci.dispatcher.build_url("admin/network/wireless", dev, net:name()))
+ end
+end
+
function wifi_delete(network)
local uci = require "luci.model.uci".cursor()
local wlm = require "luci.model.wireless"