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