* luci/libs/cbi: implement commit hooks in cbi maps
[project/luci.git] / modules / admin-full / luasrc / model / cbi / admin_index / luci.lua
1 --[[
2 LuCI - Lua Configuration Interface
3
4 Copyright 2008 Steven Barth <steven@midlink.org>
5
6 Licensed under the Apache License, Version 2.0 (the "License");
7 you may not use this file except in compliance with the License.
8 You may obtain a copy of the License at
9
10         http://www.apache.org/licenses/LICENSE-2.0
11
12 $Id$
13 ]]--
14 require("luci.config")
15 m = Map("luci", translate("webui"), translate("a_i_luci1",
16  "Hier können Eigenschaften und die Funktionalität der Oberfläche angepasst werden."))
17
18 -- force reload of global luci config namespace to reflect the changes
19 function m.commit_handler(self)
20         package.loaded["luci.config"] = nil
21         require("luci.config")
22 end
23
24
25 c = m:section(NamedSection, "main", "core", translate("general"))
26
27 l = c:option(ListValue, "lang", translate("language"))
28
29 local i18ndir = luci.i18n.i18ndir .. "default."
30 for k, v in pairs(luci.config.languages) do
31         if k:sub(1, 1) ~= "." and luci.fs.isfile(i18ndir .. k .. ".lua") then
32                 l:value(k, v)
33         end
34 end
35
36 t = c:option(ListValue, "mediaurlbase", translate("design"))
37 for k, v in pairs(luci.config.themes) do
38         if k:sub(1, 1) ~= "." then
39                 t:value(v, k)
40         end
41 end
42
43 u = m:section(NamedSection, "uci_oncommit", "event", translate("a_i_ucicommit"),
44  translate("a_i_ucicommit1"))
45 u.dynamic = true
46
47 f = m:section(NamedSection, "flash_keep", "extern", translate("a_i_keepflash"),
48  translate("a_i_keepflash1"))
49 f.dynamic = true
50
51 return m