diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2008-10-03 17:33:29 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2008-10-03 17:33:29 +0000 |
commit | 021a3fcb837b2e6c680e40e96163759c970cfc29 (patch) | |
tree | a895581850da8c4a2ffd2aeabe06deac2cdb46bb /applications/luci-initmgr | |
parent | 77159d8b66bcf4b6290fc8d046bf85d8a69f7bac (diff) |
* luci/applications: add init manager
Diffstat (limited to 'applications/luci-initmgr')
7 files changed, 117 insertions, 0 deletions
diff --git a/applications/luci-initmgr/Makefile b/applications/luci-initmgr/Makefile new file mode 100644 index 000000000..81a96f6a8 --- /dev/null +++ b/applications/luci-initmgr/Makefile @@ -0,0 +1,2 @@ +include ../../build/config.mk +include ../../build/module.mk
\ No newline at end of file diff --git a/applications/luci-initmgr/luasrc/controller/init.lua b/applications/luci-initmgr/luasrc/controller/init.lua new file mode 100644 index 000000000..b9a80d450 --- /dev/null +++ b/applications/luci-initmgr/luasrc/controller/init.lua @@ -0,0 +1,25 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +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 + +$Id$ +]]-- +module("luci.controller.init", package.seeall) + +function index() + if not luci.fs.isfile("/etc/rc.common") then + return + end + + local page = entry({"admin", "system", "init"}, form("init/init"), translate("initmgr", "Init Scripts")) + page.i18n = "initmgr" + page.dependent = true +end diff --git a/applications/luci-initmgr/luasrc/i18n/initmgr.de.lua b/applications/luci-initmgr/luasrc/i18n/initmgr.de.lua new file mode 100644 index 000000000..13b6a4a8c --- /dev/null +++ b/applications/luci-initmgr/luasrc/i18n/initmgr.de.lua @@ -0,0 +1,5 @@ +initmgr = 'Startscripte' +initmgr_desc = 'Hier können installierte Startscripte aktiviert oder deaktiviert werden. Änderungen werden erst mit einem Geräteneustart angewendet.<br /><strong>Warnung: Wenn essentialle Startscripte wie "network" deaktiviert werden könnte das Gerät unerreichbar werden!</strong>' +initmgr_index = 'Startpriorität' +initmgr_name = 'Startscript' +initmgr_enabled = 'Aktivieren/Deaktivieren' diff --git a/applications/luci-initmgr/luasrc/i18n/initmgr.de.xml b/applications/luci-initmgr/luasrc/i18n/initmgr.de.xml new file mode 100644 index 000000000..955ec11de --- /dev/null +++ b/applications/luci-initmgr/luasrc/i18n/initmgr.de.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="initmgr">Startscripte</i18n:msg> +<i18n:msg xml:id="initmgr_desc">Hier können installierte Startscripte aktiviert oder deaktiviert werden. Änderungen werden erst mit einem Geräteneustart angewendet.<br /><strong>Warnung: Wenn essentialle Startscripte wie "network" deaktiviert werden könnte das Gerät unerreichbar werden!</strong></i18n:msg> +<i18n:msg xml:id="initmgr_index">Startpriorität</i18n:msg> +<i18n:msg xml:id="initmgr_name">Startscript</i18n:msg> +<i18n:msg xml:id="initmgr_enabled">Aktivieren/Deaktivieren</i18n:msg> + +</i18n:msgs> diff --git a/applications/luci-initmgr/luasrc/i18n/initmgr.en.lua b/applications/luci-initmgr/luasrc/i18n/initmgr.en.lua new file mode 100644 index 000000000..6e6da7b81 --- /dev/null +++ b/applications/luci-initmgr/luasrc/i18n/initmgr.en.lua @@ -0,0 +1,5 @@ +initmgr = 'Initscripts' +initmgr_desc = 'You can enable or disable installed init scripts here. Changes will applied after a device reboot.<br /><strong>Warning: If you disable essential init scripts like "network", your device might become inaccesable!</strong>' +initmgr_index = 'Start priority' +initmgr_name = 'Initscript' +initmgr_enabled = 'Enable/Disable' diff --git a/applications/luci-initmgr/luasrc/i18n/initmgr.en.xml b/applications/luci-initmgr/luasrc/i18n/initmgr.en.xml new file mode 100644 index 000000000..49a0d7b5a --- /dev/null +++ b/applications/luci-initmgr/luasrc/i18n/initmgr.en.xml @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="utf-8"?> + +<i18n:msgs xmlns:i18n="http://luci.freifunk-halle.net/2008/i18n#" xmlns="http://www.w3.org/1999/xhtml"> + +<i18n:msg xml:id="initmgr">Initscripts</i18n:msg> +<i18n:msg xml:id="initmgr_desc">You can enable or disable installed init scripts here. Changes will applied after a device reboot.<br /><strong>Warning: If you disable essential init scripts like "network", your device might become inaccesable!</strong></i18n:msg> +<i18n:msg xml:id="initmgr_index">Start priority</i18n:msg> +<i18n:msg xml:id="initmgr_name">Initscript</i18n:msg> +<i18n:msg xml:id="initmgr_enabled">Enable/Disable</i18n:msg> + +</i18n:msgs> diff --git a/applications/luci-initmgr/luasrc/model/cbi/init/init.lua b/applications/luci-initmgr/luasrc/model/cbi/init/init.lua new file mode 100644 index 000000000..1fdc32bca --- /dev/null +++ b/applications/luci-initmgr/luasrc/model/cbi/init/init.lua @@ -0,0 +1,58 @@ +--[[ +LuCI - Lua Configuration Interface + +Copyright 2008 Steven Barth <steven@midlink.org> +Copyright 2008 Jo-Philipp Wich <xm@leipzig.freifunk.net> + +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 + +$Id$ +]]-- + +require("luci.sys") +require("luci.util") + +local inits = { } + +for _, name in ipairs(luci.sys.init.names()) do + local index = luci.sys.init.index(name) + local enabled = luci.sys.init.enabled(name) + + inits["%02i.%s" % { index, name }] = { + name = name, + index = tostring(index), + enabled = enabled + } +end + + +m = SimpleForm("initmgr", translate("initmgr"), translate("initmgr_desc")) +m.reset = false + +s = m:section(Table, inits) + +i = s:option(DummyValue, "index", translate("initmgr_index")) +n = s:option(DummyValue, "name", translate("initmgr_name")) + +e = s:option(Flag, "enabled", translate("initmgr_enabled")) + +e.cfgvalue = function(self, section) + return inits[section].enabled and "1" or "0" +end + +e.write = function(self, section, value) + if value == "1" and not inits[section].enabled then + inits[section].enabled = true + return luci.sys.init.enable(inits[section].name) + elseif value == "0" and inits[section].enabled then + inits[section].enabled = false + return luci.sys.init.disable(inits[section].name) + end + return true +end + +return m |