* Merged Luci to use native UCI-library
[project/luci.git] / applications / luci-splash / root / usr / lib / luci-splash / htdocs / cgi-bin / index.cgi
index 341aaa4..22cab67 100644 (file)
@@ -1,52 +1,52 @@
 #!/usr/bin/haserl --shell=luac
-package.path  = "/usr/lib/lua/?.lua;/usr/lib/lua/?/init.lua;" .. package.path
-package.cpath = "/usr/lib/lua/?.so;" .. package.cpath
 
-require("ffluci.http")
-require("ffluci.sys")
-require("ffluci.model.uci")
+require("luci.http")
+require("luci.sys")
+require("luci.model.uci")
+
+luci.model.uci.set_savedir(luci.model.uci.savedir_state)
 
 local srv
 local net
-local ip = ffluci.http.env.REMOTE_ADDR
-for k, v in pairs(ffluci.model.uci.sections("network")) do
-       if v[".type"] == "interface" and v.ipaddr then
-               local p = ffluci.sys.net.mask4prefix(v.netmask)
-               if ffluci.sys.net.belongs(ip, v.ipaddr, p) then
-                       net = k
-                       srv = v.ipaddr
-                       break
+local ip = luci.http.env.REMOTE_ADDR
+luci.model.uci.foreach("network", "interface",
+       function (section)
+               if section.ipaddr then
+                       local p = luci.sys.net.mask4prefix(section.netmask)
+                       if luci.sys.net.belongs(ip, section.ipaddr, p) then
+                               net = section[".name"]
+                               srv = section.ipaddr
+                               return
+                       end
                end
-       end
-end
+       end)
 
 local stat = false
-for k, v in pairs(ffluci.model.uci.sections("luci_splash")) do
-       if v[".type"] == "iface" and v.network == net then
-               stat = true
-       end 
-end
+luci.model.uci.foreach("luci_splash", "iface",
+       function (section)
+               if section.network == net then
+                       stat = true
+               end
+       end)
 
 if not srv then
-       ffluci.http.prepare_content("text/plain")
-       return print("Unable to detect network settings!")
-end
-
-if not stat then
-       ffluci.http.redirect("http://" .. srv)
-end
-
-local action = "splash"
-
-local mac = ffluci.sys.net.ip4mac(ip)
-if not mac then
-       action = "unknown"
-end
-
-local status = ffluci.sys.execl("luci-splash status "..mac)[1]
-
-if status == "whitelisted" or status == "lease" then
-       action = "allowed"
-end
-
-ffluci.http.redirect("http://" .. srv .. "/cgi-bin/luci-splash/" .. action)
\ No newline at end of file
+       luci.http.prepare_content("text/plain")
+       print("Unable to detect network settings!")
+elseif not stat then
+       luci.http.redirect("http://" .. srv)
+else
+       local action = "splash"
+       
+       local mac = luci.sys.net.ip4mac(ip)
+       if not mac then
+               action = "unknown"
+       end
+       
+       local status = luci.sys.execl("luci-splash status "..mac)[1]
+       
+       if status == "whitelisted" or status == "lease" then
+               action = "allowed"
+       end
+       
+       luci.http.redirect("http://" .. srv .. "/cgi-bin/luci-splash/" .. action)
+end
\ No newline at end of file