modules/admin-full: implement iptables status page
[project/luci.git] / modules / admin-full / luasrc / controller / admin / status.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 module("luci.controller.admin.status", package.seeall)
15
16 function index()
17         luci.i18n.loadc("admin-core")
18         local i18n = luci.i18n.translate
19
20         entry({"admin", "status"}, template("admin_status/index"), i18n("status", "Status"), 20).index = true
21         entry({"admin", "status", "syslog"}, call("action_syslog"), i18n("syslog", "Systemprotokoll"), 1)
22         entry({"admin", "status", "dmesg"}, call("action_dmesg"), i18n("dmesg", "Kernelprotokoll"), 2)
23         entry({"admin", "status", "iptables"}, call("action_iptables"), i18n("a_s_ipt", "Firewall"), 3)
24 end
25
26 function action_syslog()
27         local syslog = luci.sys.syslog()
28         luci.template.render("admin_status/syslog", {syslog=syslog})
29 end
30
31 function action_dmesg()
32         local dmesg = luci.sys.dmesg()
33         luci.template.render("admin_status/dmesg", {dmesg=dmesg})
34 end
35
36 function action_iptables()
37         if luci.http.formvalue("zero") == "1" then
38                 luci.util.exec("iptables -Z")
39                 luci.http.redirect(
40                         luci.dispatcher.build_url("admin", "status", "iptables")
41                 )
42         elseif luci.http.formvalue("restart") == "1" then
43                 luci.util.exec("/etc/init.d/firewall restart")
44                 luci.http.redirect(
45                         luci.dispatcher.build_url("admin", "status", "iptables")
46                 )
47         else
48                 luci.template.render("admin_status/iptables")
49         end
50 end