diff -r 7efedc96352a -r bb5ac5976a97 plugins/mod_roster.lua --- a/plugins/mod_roster.lua Wed Oct 22 21:18:50 2008 +0500 +++ b/plugins/mod_roster.lua Wed Oct 22 21:20:07 2008 +0500 @@ -6,6 +6,7 @@ local t_concat = table.concat; local rm_remove_from_roster = require "core.rostermanager".remove_from_roster; +local rm_add_to_roster = require "core.rostermanager".add_to_roster; local rm_roster_push = require "core.rostermanager".roster_push; add_iq_handler("c2s", "jabber:iq:roster", @@ -15,15 +16,14 @@ local roster = st.reply(stanza) :query("jabber:iq:roster"); for jid in pairs(session.roster) do - local item = st.stanza("item", { + roster:tag("item", { jid = jid, subscription = session.roster[jid].subscription, name = session.roster[jid].name, }); for group in pairs(session.roster[jid].groups) do - item:tag("group"):text(group):up(); + roster:tag("group"):text(group):up(); end - roster:add_child(item); end send(session, roster); return true; @@ -52,7 +52,7 @@ local r_item = {name = item.attr.name, groups = {}}; if r_item.name == "" then r_item.name = nil; end if session.roster[item.attr.jid] then - r_item.subscription = session.roster[item.attr.jid]; + r_item.subscription = session.roster[item.attr.jid].subscription; else r_item.subscription = "none"; end