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