aboutsummaryrefslogtreecommitdiffstats
path: root/plugins/mod_roster.lua
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/mod_roster.lua')
-rw-r--r--plugins/mod_roster.lua15
1 files changed, 6 insertions, 9 deletions
diff --git a/plugins/mod_roster.lua b/plugins/mod_roster.lua
index 24c50678..39d59cbd 100644
--- a/plugins/mod_roster.lua
+++ b/plugins/mod_roster.lua
@@ -11,9 +11,8 @@ local st = require "util.stanza"
local jid_split = require "util.jid".split;
local jid_prep = require "util.jid".prep;
-local t_concat = table.concat;
local tonumber = tonumber;
-local pairs, ipairs = pairs, ipairs;
+local pairs = pairs;
local rm_load_roster = require "core.rostermanager".load_roster;
local rm_remove_from_roster = require "core.rostermanager".remove_from_roster;
@@ -51,7 +50,7 @@ module:hook("iq/self/jabber:iq:roster:query", function(event)
name = item.name,
});
for group in pairs(item.groups) do
- roster:tag("group"):text(group):up();
+ roster:text_tag("group", group);
end
roster:up(); -- move out from item
end
@@ -96,12 +95,10 @@ module:hook("iq/self/jabber:iq:roster:query", function(event)
else
r_item.subscription = "none";
end
- for _, child in ipairs(item) do
- if child.name == "group" then
- local text = t_concat(child);
- if text and text ~= "" then
- r_item.groups[text] = true;
- end
+ for group in item:childtags("group") do
+ local text = group:get_text();
+ if text then
+ r_item.groups[text] = true;
end
end
local success, err_type, err_cond, err_msg = rm_add_to_roster(session, jid, r_item);