322 if session.presence then |
322 if session.presence then |
323 local pres = st.presence{ type = "unavailable" }; |
323 local pres = st.presence{ type = "unavailable" }; |
324 if not(err) or err == "closed" then err = "connection closed"; end |
324 if not(err) or err == "closed" then err = "connection closed"; end |
325 pres:tag("status"):text("Disconnected: "..err):up(); |
325 pres:tag("status"):text("Disconnected: "..err):up(); |
326 session:dispatch_stanza(pres); |
326 session:dispatch_stanza(pres); |
|
327 elseif session.directed then |
|
328 local pres = st.presence{ type = "unavailable" }; |
|
329 if not(err) or err == "closed" then err = "connection closed"; end |
|
330 pres:tag("status"):text("Disconnected: "..err):up(); |
|
331 for jid in pairs(session.directed) do |
|
332 pres.attr.to = jid; |
|
333 core_route_stanza(session, pres); |
|
334 end |
|
335 session.directed = nil; |
327 end |
336 end |
328 end); |
337 end); |