Software / code / prosody
Comparison
plugins/mod_presence.lua @ 1463:4ad920999cfa
mod_presence: Removed dead code
| author | Waqas Hussain <waqas20@gmail.com> |
|---|---|
| date | Thu, 02 Jul 2009 23:46:27 +0500 |
| parent | 1418:d14de6cb8b5b |
| child | 1470:af4b918e3432 |
comparison
equal
deleted
inserted
replaced
| 1462:44780b856ce7 | 1463:4ad920999cfa |
|---|---|
| 33 handle_inbound_presence_subscriptions_and_probes(origin, stanza, jid_bare(stanza.attr.from), jid_bare(stanza.attr.to), core_route_stanza); | 33 handle_inbound_presence_subscriptions_and_probes(origin, stanza, jid_bare(stanza.attr.from), jid_bare(stanza.attr.to), core_route_stanza); |
| 34 return; | 34 return; |
| 35 end | 35 end |
| 36 end | 36 end |
| 37 _core_route_stanza(origin, stanza); | 37 _core_route_stanza(origin, stanza); |
| 38 end | |
| 39 | |
| 40 function handle_presence(origin, stanza, from_bare, to_bare, core_route_stanza, inbound) | |
| 41 local type = stanza.attr.type; | |
| 42 if type and type ~= "unavailable" and type ~= "error" then | |
| 43 if inbound then | |
| 44 handle_inbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); | |
| 45 else | |
| 46 handle_outbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); | |
| 47 end | |
| 48 elseif not inbound and not stanza.attr.to then | |
| 49 handle_normal_presence(origin, stanza, core_route_stanza); | |
| 50 else | |
| 51 core_route_stanza(origin, stanza); | |
| 52 end | |
| 53 end | 38 end |
| 54 | 39 |
| 55 local function select_top_resources(user) | 40 local function select_top_resources(user) |
| 56 local priority = 0; | 41 local priority = 0; |
| 57 local recipients = {}; | 42 local recipients = {}; |
| 266 end | 251 end |
| 267 end -- discard any other type | 252 end -- discard any other type |
| 268 stanza.attr.from, stanza.attr.to = st_from, st_to; | 253 stanza.attr.from, stanza.attr.to = st_from, st_to; |
| 269 end | 254 end |
| 270 | 255 |
| 271 local function presence_handler(data) | |
| 272 local origin, stanza = data.origin, data.stanza; | |
| 273 local to = stanza.attr.to; | |
| 274 local node, host = jid_split(to); | |
| 275 local to_bare = jid_bare(to); | |
| 276 local from_bare = jid_bare(stanza.attr.from); | |
| 277 if origin.type == "c2s" then | |
| 278 if to ~= nil and not(origin.roster[to_bare] and (origin.roster[to_bare].subscription == "both" or origin.roster[to_bare].subscription == "from")) then -- directed presence | |
| 279 origin.directed = origin.directed or {}; | |
| 280 origin.directed[to] = true; -- FIXME does it make more sense to add to_bare rather than to? | |
| 281 end | |
| 282 if stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" and stanza.attr.type ~= "error" then | |
| 283 handle_outbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); | |
| 284 elseif not to then | |
| 285 handle_normal_presence(origin, stanza, core_route_stanza); | |
| 286 else | |
| 287 core_route_stanza(origin, stanza); | |
| 288 end | |
| 289 elseif (origin.type == "s2sin" or origin.type == "component") and hosts[host] then | |
| 290 if stanza.attr.type ~= nil and stanza.attr.type ~= "unavailable" and stanza.attr.type ~= "error" then | |
| 291 handle_inbound_presence_subscriptions_and_probes(origin, stanza, from_bare, to_bare, core_route_stanza); | |
| 292 else | |
| 293 core_route_stanza(origin, stanza); | |
| 294 end | |
| 295 end | |
| 296 return true; | |
| 297 end | |
| 298 | |
| 299 prosody.events.add_handler(module:get_host().."/presence", presence_handler); | |
| 300 module.unload = function() | |
| 301 prosody.events.remove_handler(module:get_host().."/presence", presence_handler); | |
| 302 end | |
| 303 | |
| 304 local outbound_presence_handler = function(data) | 256 local outbound_presence_handler = function(data) |
| 305 -- outbound presence recieved | 257 -- outbound presence recieved |
| 306 local origin, stanza = data.origin, data.stanza; | 258 local origin, stanza = data.origin, data.stanza; |
| 307 | 259 |
| 308 local to = stanza.attr.to; | 260 local to = stanza.attr.to; |