diff options
Diffstat (limited to 'core/sessionmanager.lua')
-rw-r--r-- | core/sessionmanager.lua | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/core/sessionmanager.lua b/core/sessionmanager.lua index a7858d9e..82a001c1 100644 --- a/core/sessionmanager.lua +++ b/core/sessionmanager.lua @@ -115,4 +115,24 @@ function streamopened(session, attr) session.notopen = nil; end +function send_to_available_resources(user, host, stanza) + local count = 0; + local to = stanza.attr.to; + stanza.attr.to = nil; + local h = hosts[host]; + if h and h.type == "local" then + local u = h.sessions[user]; + if u then + for k, session in pairs(u.sessions) do + if session.presence then + session.send(stanza); + count = count + 1; + end + end + end + end + stanza.attr.to = to; + return count; +end + return _M;
\ No newline at end of file |