applications/initmgr: Add subpage for editing /etc/rc.local
authorManuel Munz <freifunk@somakoma.de>
Fri, 14 Jan 2011 19:44:03 +0000 (19:44 +0000)
committerManuel Munz <freifunk@somakoma.de>
Fri, 14 Jan 2011 19:44:03 +0000 (19:44 +0000)
applications/luci-initmgr/luasrc/controller/init.lua
applications/luci-initmgr/luasrc/model/cbi/startup.lua [new file with mode: 0644]

index 277e95c..f3fa7ef 100644 (file)
@@ -26,4 +26,8 @@ function index()
                {"admin", "services", "init"}, form("init/init"),
                luci.i18n.translate("Initscripts"), 0
        ).i18n = "initmgr"
+
+       entry(
+               {"admin", "services", "init", "startup" },form("init/startup"),
+               luci.i18n.translate("Local Startup"), 10).i18n = "initmgr"
 end
diff --git a/applications/luci-initmgr/luasrc/model/cbi/startup.lua b/applications/luci-initmgr/luasrc/model/cbi/startup.lua
new file mode 100644 (file)
index 0000000..800da11
--- /dev/null
@@ -0,0 +1,37 @@
+--[[
+LuCI - Lua Configuration Interface
+
+Copyright 2008 Steven Barth <steven@midlink.org>
+Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net>
+Copyright 2010 Manuel Munz <freifunk at somakoma dot de>
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+       http://www.apache.org/licenses/LICENSE-2.0
+]]--
+
+local fs = require "nixio.fs"
+local rc = "/etc/rc.local" 
+
+f = SimpleForm("rc", translate("Startup"), translate([[This is the content of /etc/rc.local. Insert your own commands here
+        (in front of 'exit 0') to execute them at the end of the boot process.]]))
+
+t = f:field(TextValue, "rcs")
+t.rmempty = true
+t.rows = 20
+function t.cfgvalue()
+       return fs.readfile(rc) or ""
+end
+
+function f.handle(self, state, data)
+       if state == FORM_VALID then
+               if data.rcs then
+                       fs.writefile(rc, data.rcs:gsub("\r\n", "\n"))
+               end
+       end
+       return true
+end
+
+return f