Annotate

plugins/mod_watchregistrations.lua @ 4933:630cb694b364

util.sasl: Make registerMechanism a public function
author Matthew Wild <mwild1@gmail.com>
date Mon, 18 Jun 2012 16:57:46 +0100
parent 4909:01bfb9a76660
child 5014:b2006c1cfa85
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1522
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
1 -- Prosody IM
2923
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 1654
diff changeset
2 -- Copyright (C) 2008-2010 Matthew Wild
b7049746bd29 Update copyright headers for 2010
Matthew Wild <mwild1@gmail.com>
parents: 1654
diff changeset
3 -- Copyright (C) 2008-2010 Waqas Hussain
1522
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
4 --
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
5 -- This project is MIT/X11 licensed. Please see the
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
6 -- COPYING file in the source package for more information.
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
7 --
569d58d21612 Add copyright header to those files missing one
Matthew Wild <mwild1@gmail.com>
parents: 1251
diff changeset
8
1201
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 local host = module:get_host();
4909
01bfb9a76660 mod_watchregistrations: Convert JID list to a set, and prep before use to fix traceback on invalid JIDs (thanks sMi)
Matthew Wild <mwild1@gmail.com>
parents: 4453
diff changeset
11 local jid_prep = require "util.jid".prep;
1201
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12
4909
01bfb9a76660 mod_watchregistrations: Convert JID list to a set, and prep before use to fix traceback on invalid JIDs (thanks sMi)
Matthew Wild <mwild1@gmail.com>
parents: 4453
diff changeset
13 local registration_watchers = module:get_option_set("registration_watchers", module:get_option("admins", {})) / jid_prep;
4391
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
14 local registration_notification = module:get_option("registration_notification", "User $username just registered on $host from $ip");
1201
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
15
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
16 local st = require "util.stanza";
9d5c1b2cf89c mod_watchregistrations: New plugin to send a message to admins when a new user registers
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
17
4391
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
18 module:hook("user-registered", function (user)
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
19 module:log("debug", "Notifying of new registration");
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
20 local message = st.message{ type = "chat", from = host }
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
21 :tag("body")
4453
7dc743378e1e mod_watchregistrations: Fixed an undefined global access (thanks Medics).
Waqas Hussain <waqas20@gmail.com>
parents: 4391
diff changeset
22 :text(registration_notification:gsub("%$(%w+)", function (v)
4391
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
23 return user[v] or user.session and user.session[v] or nil;
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
24 end));
4909
01bfb9a76660 mod_watchregistrations: Convert JID list to a set, and prep before use to fix traceback on invalid JIDs (thanks sMi)
Matthew Wild <mwild1@gmail.com>
parents: 4453
diff changeset
25 for jid in registration_watchers do
4391
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
26 module:log("debug", "Notifying %s", jid);
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
27 message.attr.to = jid;
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
28 core_route_stanza(hosts[host], message);
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
29 end
71083327f608 mod_watchregistrations: Update to pass default options to module:get_option(), and reformat the code a little
Matthew Wild <mwild1@gmail.com>
parents: 3540
diff changeset
30 end);