aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_groups.lua
diff options
context:
space:
mode:
authorJeff Mitchell <jeff@jefferai.org>2010-05-28 18:01:53 -0400
committerJeff Mitchell <jeff@jefferai.org>2010-05-28 18:01:53 -0400
commit6c185404754074da74128402803511347bcbc796 (patch)
tree3ed3862ac859d832708a8b8660dfef668810acfa /plugins/mod_groups.lua
parent79df72e1a67a9566c952414a2a1dc9cded7ed625 (diff)
downloadprosody-6c185404754074da74128402803511347bcbc796.tar.gz
prosody-6c185404754074da74128402803511347bcbc796.zip
Add the ability to have names in group files, by putting them with an = sign after the jid:
myname@mydomain.com=My Name This is then passed on to rosters.
Diffstat (limited to 'plugins/mod_groups.lua')
-rw-r--r--plugins/mod_groups.lua10
1 files changed, 8 insertions, 2 deletions
diff --git a/plugins/mod_groups.lua b/plugins/mod_groups.lua
index 5f821cbc..7a876f1d 100644
--- a/plugins/mod_groups.lua
+++ b/plugins/mod_groups.lua
@@ -29,6 +29,9 @@ function inject_roster_contacts(username, host, roster)
if jid ~= bare_jid then
if not roster[jid] then roster[jid] = {}; end
roster[jid].subscription = "both";
+ if groups[group_name][jid] then
+ roster[jid].name = groups[group_name][jid];
+ end
if not roster[jid].groups then
roster[jid].groups = { [group_name] = true };
end
@@ -100,10 +103,13 @@ function module.load()
groups[curr_group] = groups[curr_group] or {};
else
-- Add JID
- local jid = jid_prep(line:match("%S+"));
+ local entryjid, name = line:match("([^=]*)=?(.*)");
+ module:log("debug", "entryjid = '%s', name = '%s'", entryjid, name);
+ local jid;
+ jid = jid_prep(entryjid:match("%S+"));
if jid then
module:log("debug", "New member of %s: %s", tostring(curr_group), tostring(jid));
- groups[curr_group][jid] = true;
+ groups[curr_group][jid] = name or false;
members[jid] = members[jid] or {};
members[jid][#members[jid]+1] = curr_group;
end