diff options
author | Matthew Wild <mwild1@gmail.com> | 2014-04-02 17:41:38 +0100 |
---|---|---|
committer | Matthew Wild <mwild1@gmail.com> | 2014-04-02 17:41:38 +0100 |
commit | 27b4049481f29dcac2d6093c40ad7e8bf1ea8899 (patch) | |
tree | 39ca42dddf3935546a0c3c37b2e2456a554899f1 /plugins/mod_groups.lua | |
parent | ae885de6a2f36eacd6085e7582e5019882208d23 (diff) | |
parent | 8c0d996be4f47b77a02668474d3d8a0a41bd0f98 (diff) | |
download | prosody-27b4049481f29dcac2d6093c40ad7e8bf1ea8899.tar.gz prosody-27b4049481f29dcac2d6093c40ad7e8bf1ea8899.zip |
Merge 0.9->0.10
Diffstat (limited to 'plugins/mod_groups.lua')
-rw-r--r-- | plugins/mod_groups.lua | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/plugins/mod_groups.lua b/plugins/mod_groups.lua index f7f632c2..be1a5508 100644 --- a/plugins/mod_groups.lua +++ b/plugins/mod_groups.lua @@ -1,7 +1,7 @@ -- Prosody IM -- Copyright (C) 2008-2010 Matthew Wild -- Copyright (C) 2008-2010 Waqas Hussain --- +-- -- This project is MIT/X11 licensed. Please see the -- COPYING file in the source package for more information. -- @@ -17,11 +17,13 @@ local jid_prep = jid.prep; local module_host = module:get_host(); -function inject_roster_contacts(username, host, roster) +function inject_roster_contacts(event) + local username, host= event.username, event.host; --module:log("debug", "Injecting group members to roster"); local bare_jid = username.."@"..host; if not members[bare_jid] and not members[false] then return; end -- Not a member of any groups - + + local roster = event.roster; local function import_jids_to_roster(group_name) for jid in pairs(groups[group_name]) do -- Add them to roster @@ -48,7 +50,7 @@ function inject_roster_contacts(username, host, roster) import_jids_to_roster(group_name); end end - + -- Import public groups if members[false] then for _, group_name in ipairs(members[false]) do @@ -56,7 +58,7 @@ function inject_roster_contacts(username, host, roster) import_jids_to_roster(group_name); end end - + if roster[false] then roster[false].version = true; end @@ -82,10 +84,10 @@ end function module.load() groups_file = module:get_option_string("groups_file"); if not groups_file then return; end - + module:hook("roster-load", inject_roster_contacts); datamanager.add_callback(remove_virtual_contacts); - + groups = { default = {} }; members = { }; local curr_group = "default"; |