diff options
author | Jo-Philipp Wich <jow@openwrt.org> | 2009-07-10 22:45:50 +0000 |
---|---|---|
committer | Jo-Philipp Wich <jow@openwrt.org> | 2009-07-10 22:45:50 +0000 |
commit | a29c4ce658fbdcc1d507646b14b22de0cf4890fc (patch) | |
tree | 62864fa86a7bdf2f05bb9b0bac6dda6b460f8968 /applications/luci-splash/luasrc | |
parent | c5e52b76437355f833b03be7167234d29236a85f (diff) |
applications/luci-splash: speedup splash dispatching
Diffstat (limited to 'applications/luci-splash/luasrc')
-rw-r--r-- | applications/luci-splash/luasrc/controller/splash/splash.lua | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/applications/luci-splash/luasrc/controller/splash/splash.lua b/applications/luci-splash/luasrc/controller/splash/splash.lua index 2906298f1d..362ad9def4 100644 --- a/applications/luci-splash/luasrc/controller/splash/splash.lua +++ b/applications/luci-splash/luasrc/controller/splash/splash.lua @@ -11,12 +11,21 @@ function index() end function action_dispatch() + local uci = luci.model.uci.cursor_state() local mac = luci.sys.net.ip4mac(luci.http.getenv("REMOTE_ADDR")) or "" - local status = luci.util.execl("luci-splash status " .. mac)[1] - if #mac > 0 and status == "new" then - luci.http.redirect(luci.dispatcher.build_url("splash", "splash")) - else + local access = false + + uci:foreach("luci_splash", "lease", function(s) + if s.mac and s.mac:lower() == mac then access = true end + end) + uci:foreach("luci_splash", "whitelist", function(s) + if s.mac and s.mac:lower() == mac then access = true end + end) + + if #mac > 0 and access then luci.http.redirect(luci.dispatcher.build_url()) + else + luci.http.redirect(luci.dispatcher.build_url("splash", "splash")) end end |