summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua26
1 files changed, 22 insertions, 4 deletions
diff --git a/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua b/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua
index 57fa1ae4c..1aa616178 100644
--- a/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua
+++ b/applications/luci-upnp/luasrc/model/cbi/upnp/upnp.lua
@@ -2,7 +2,7 @@
LuCI - Lua Configuration Interface
Copyright 2008 Steven Barth <steven@midlink.org>
-Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2008-2010 Jo-Philipp Wich <xm@subsignal.org>
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
@@ -12,13 +12,31 @@ You may obtain a copy of the License at
$Id$
]]--
-m = Map("upnpd", translate("Universal Plug & Play"), translate("UPNP allows clients in the local network to automatically configure the router."))
+
+m = Map("upnpd", translate("Universal Plug & Play"),
+ translate("UPnP allows clients in the local network to automatically configure the router."))
+
+m:section(SimpleSection).template = "upnp_status"
s = m:section(NamedSection, "config", "upnpd", "")
s.addremove = false
-e = s:option(Flag, "enabled", translate("enable"))
-e.rmempty = false
+e = s:option(Flag, "enabled", translate("Enable UPnP Service"))
+e.rmempty = false
+e.enabled = "1"
+e.disabled = "0"
+
+function e.write(self, section, value)
+ if value == "1" then
+ luci.sys.call("/etc/init.d/miniupnpd enable")
+ luci.sys.call("/etc/init.d/miniupnpd start")
+ else
+ luci.sys.call("/etc/init.d/miniupnpd stop")
+ luci.sys.call("/etc/init.d/miniupnpd disable")
+ end
+
+ Value.write(self, section, value)
+end
s:option(Flag, "secure_mode", translate("Enable secure mode")).rmempty = true
s:option(Flag, "log_output", translate("Log output")).rmempty = true