- ret = true;
- break;
- end
- end
- end
- return ret;
-end
-
-function sendUnavailable(origin, to, from)
---[[ example unavailable presence stanza
-<presence from="node@host/resource" type="unavailable" to="node@host" >
- <status>Logged out</status>
-</presence>
-]]--
- local presence = st.presence({from=from, type="unavailable"})
- presence:tag("status"):text("Logged out");
-
- local node, host = jid_bare(to);
- local bare = node .. "@" .. host;
-
- if bare_sessions[bare].sessions ~= nil then
- for resource, session in pairs(bare_sessions[bare].sessions) do
- presence.attr.to = session.full_jid;
- module:log("debug", "send unavailable to: %s; from: %s", tostring(presence.attr.to), tostring(presence.attr.from));
- origin.send(presence);
- end
- end
-end
-
-function sendNeededUnavailablePersences(origin, listnameOrItem) -- TODO implement it correctly!
- if type(listnameOrItem) == "string" then
- local listname = listnameOrItem;
- for _,list in ipairs(privacy_lists.lists) do
- if list.name == listname then
- for _,item in ipairs(list.items) do
- sendNeededUnavailablePersences(origin, item);
- end
- end
- end
- elseif type(listnameOrItem) == "table" then
- module:log("debug", "got an item, check wether to send unavailable presence stanza or not");
- local item = listnameOrItem;
- local serialize = require "util.serialization".serialize;
-
-
- if item["presence-out"] == true then
- if item.type == "jid" then
- sendUnavailable(origin, item.value, origin.full_jid);
- elseif item.type == "group" then
- elseif item.type == "subscription" then
- elseif item.type == nil then