Mercurial > prosody-modules
comparison mod_register_url/mod_register_url.lua @ 113:7dff5fa275f4
Renamed mod_regredirect to mod_register_url, thanks MattJ for the suggestion.
| author | Marco Cirillo <maranda@lightwitch.org> |
|---|---|
| date | Wed, 30 Dec 2009 15:49:49 +0000 |
| parents | mod_regredirect/mod_regredirect.lua@d1168a454107 |
| children | 1f55e844efeb |
comparison
equal
deleted
inserted
replaced
| 112:d1168a454107 | 113:7dff5fa275f4 |
|---|---|
| 1 -- Registration Redirect module for Prosody | |
| 2 -- | |
| 3 -- Redirects IP addresses not in the whitelist to a web page to complete the registration. | |
| 4 | |
| 5 local st = require "util.stanza"; | |
| 6 | |
| 7 function reg_redirect(event) | |
| 8 local ip_wl = module:get_option("registration_whitelist") or { "127.0.0.1" }; | |
| 9 local url = module:get_option("registration_url"); | |
| 10 local test_ip; | |
| 11 | |
| 12 for i,ip in ipairs(ip_wl) do | |
| 13 if event.origin.ip == ip then test_ip = true; end | |
| 14 break; | |
| 15 end | |
| 16 | |
| 17 if not test_ip and url ~= nil then | |
| 18 local reply = st.reply(event.stanza); | |
| 19 reply:tag("query", {xmlns = "jabber:iq:register"}) | |
| 20 :tag("instructions"):text("Please visit "..url.." to register an account on this server."):up() | |
| 21 :tag("x", {xmlns = "jabber:x:oob"}):up() | |
| 22 :tag("url"):text(url):up(); | |
| 23 event.origin.send(reply); | |
| 24 return true; | |
| 25 end | |
| 26 end | |
| 27 | |
| 28 module:hook("stanza/iq/jabber:iq:register:query", reg_redirect, 10); |
