c25489908fa8385298f6f7aeef64e2e18d047ad6
[feed/routing.git] / luci-app-bmx6 / files / usr / lib / lua / luci / model / cbi / bmx6 / advanced.lua
1 --[[
2 Copyright (C) 2011 Pau Escrich <pau@dabax.net>
3
4 This program is free software; you can redistribute it and/or modify
5 it under the terms of the GNU General Public License as published by
6 the Free Software Foundation; either version 2 of the License, or
7 (at your option) any later version.
8
9 This program is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 GNU General Public License for more details.
13
14 You should have received a copy of the GNU General Public License along
15 with this program; if not, write to the Free Software Foundation, Inc.,
16 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
17
18 The full GNU General Public License is included in this distribution in
19 the file called "COPYING".
20 --]]
21
22 m = Map("bmx6", "bmx6")
23
24 local bmx6json = require("luci.model.bmx6json")
25 local util = require("luci.util")
26 local http = require("luci.http")
27 local sys = require("luci.sys")
28
29 local options = bmx6json.get("options")
30 if options == nil or options.OPTIONS == nil then
31 m.message = "bmx6-json plugin is not running or some mistake in luci-bmx6 configuration, check /etc/config/luci-bmx6"
32 options = {}
33 else
34 options = options.OPTIONS
35 end
36
37 local general = m:section(NamedSection,"general","bmx6")
38 general.addremove = true
39
40 local name = ""
41 local help = ""
42 local value = nil
43 local _,o
44
45 for _,o in ipairs(options) do
46 if o.name ~= nil and o.CHILD_OPTIONS == nil and o.configurable == 1 then
47 help = ""
48 name = o.name
49
50 if o.help ~= nil then
51 help = bmx6json.text2html(o.help)
52 end
53
54 if o.syntax ~= nil then
55 help = help .. "<br/><strong>Syntax: </strong>" .. bmx6json.text2html(o.syntax)
56 end
57
58 if o.def ~= nil then
59 help = help .. "<strong> Default: </strong>" .. o.def
60 end
61
62 value = general:option(Value,name,name,help)
63
64 end
65 end
66
67 function m.on_commit(self,map)
68 local err = sys.call('bmx6 -c --configReload > /tmp/bmx6-luci.err.tmp')
69 if err ~= 0 then
70 m.message = sys.exec("cat /tmp/bmx6-luci.err.tmp")
71 end
72 end
73
74 return m
75