Mercurial > prosody-hg
comparison plugins/mod_roster.lua @ 8644:3b28c7728e3f
mod_roster: Iterate over roster group items in more modern manner
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Wed, 21 Mar 2018 23:15:30 +0100 |
| parents | f54c960240da |
| children | a267dfa9d81d |
comparison
equal
deleted
inserted
replaced
| 8643:11b6aa30b3e0 | 8644:3b28c7728e3f |
|---|---|
| 9 | 9 |
| 10 local st = require "util.stanza" | 10 local st = require "util.stanza" |
| 11 | 11 |
| 12 local jid_split = require "util.jid".split; | 12 local jid_split = require "util.jid".split; |
| 13 local jid_prep = require "util.jid".prep; | 13 local jid_prep = require "util.jid".prep; |
| 14 local t_concat = table.concat; | |
| 15 local tonumber = tonumber; | 14 local tonumber = tonumber; |
| 16 local pairs, ipairs = pairs, ipairs; | 15 local pairs = pairs; |
| 17 | 16 |
| 18 local rm_load_roster = require "core.rostermanager".load_roster; | 17 local rm_load_roster = require "core.rostermanager".load_roster; |
| 19 local rm_remove_from_roster = require "core.rostermanager".remove_from_roster; | 18 local rm_remove_from_roster = require "core.rostermanager".remove_from_roster; |
| 20 local rm_add_to_roster = require "core.rostermanager".add_to_roster; | 19 local rm_add_to_roster = require "core.rostermanager".add_to_roster; |
| 21 local rm_roster_push = require "core.rostermanager".roster_push; | 20 local rm_roster_push = require "core.rostermanager".roster_push; |
| 94 r_item.subscription = session.roster[jid].subscription; | 93 r_item.subscription = session.roster[jid].subscription; |
| 95 r_item.ask = session.roster[jid].ask; | 94 r_item.ask = session.roster[jid].ask; |
| 96 else | 95 else |
| 97 r_item.subscription = "none"; | 96 r_item.subscription = "none"; |
| 98 end | 97 end |
| 99 for _, child in ipairs(item) do | 98 for group in item:childtags("group") do |
| 100 if child.name == "group" then | 99 local text = group:get_text(); |
| 101 local text = t_concat(child); | 100 if text then |
| 102 if text and text ~= "" then | 101 r_item.groups[text] = true; |
| 103 r_item.groups[text] = true; | |
| 104 end | |
| 105 end | 102 end |
| 106 end | 103 end |
| 107 local success, err_type, err_cond, err_msg = rm_add_to_roster(session, jid, r_item); | 104 local success, err_type, err_cond, err_msg = rm_add_to_roster(session, jid, r_item); |
| 108 if success then | 105 if success then |
| 109 -- Ok, send success | 106 -- Ok, send success |
