mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-24 16:23:40 +01:00
*** empty log message ***
SVN Revision: 22
This commit is contained in:
parent
6cf63ab17f
commit
8e2a94b71d
@ -181,10 +181,9 @@ session_established({xmlstreamelement, El}, StateData) ->
|
||||
[FromJID, El, StateData]),
|
||||
presence_update(FromJID, El, StateData);
|
||||
_ ->
|
||||
ejabberd_router:route({StateData#state.user,
|
||||
Server, ""},
|
||||
ToJID, El),
|
||||
presence_track(FromJID, ToJID, El, StateData)
|
||||
%ejabberd_router:route(FrJID, ToJID, El),
|
||||
%NewSt
|
||||
end;
|
||||
_ ->
|
||||
ejabberd_router:route(FromJID, ToJID, El),
|
||||
@ -490,30 +489,38 @@ presence_track(From, To, Packet, StateData) ->
|
||||
User = StateData#state.user,
|
||||
case xml:get_attr_s("type", Attrs) of
|
||||
"unavailable" ->
|
||||
ejabberd_router:route(From, To, Packet),
|
||||
I = remove_element(LTo, StateData#state.pres_i),
|
||||
A = remove_element(LTo, StateData#state.pres_a),
|
||||
StateData#state{pres_i = I,
|
||||
pres_a = A};
|
||||
"invisible" ->
|
||||
ejabberd_router:route(From, To, Packet),
|
||||
I = ?SETS:add_element(LTo, StateData#state.pres_i),
|
||||
A = remove_element(LTo, StateData#state.pres_a),
|
||||
StateData#state{pres_i = I,
|
||||
pres_a = A};
|
||||
"subscribe" ->
|
||||
ejabberd_router:route(jlib:jid_remove_resource(From), To, Packet),
|
||||
mod_roster:out_subscription(User, To, subscribe),
|
||||
StateData;
|
||||
"subscribed" ->
|
||||
ejabberd_router:route(jlib:jid_remove_resource(From), To, Packet),
|
||||
mod_roster:out_subscription(User, To, subscribed),
|
||||
StateData;
|
||||
"unsubscribe" ->
|
||||
ejabberd_router:route(jlib:jid_remove_resource(From), To, Packet),
|
||||
mod_roster:out_subscription(User, To, unsubscribe),
|
||||
StateData;
|
||||
"unsubscribed" ->
|
||||
ejabberd_router:route(jlib:jid_remove_resource(From), To, Packet),
|
||||
mod_roster:out_subscription(User, To, unsubscribed),
|
||||
StateData;
|
||||
"error" ->
|
||||
ejabberd_router:route(From, To, Packet),
|
||||
StateData;
|
||||
_ ->
|
||||
ejabberd_router:route(From, To, Packet),
|
||||
I = remove_element(LTo, StateData#state.pres_i),
|
||||
A = ?SETS:add_element(LTo, StateData#state.pres_a),
|
||||
StateData#state{pres_i = I,
|
||||
|
@ -21,6 +21,7 @@
|
||||
jid_to_string/1,
|
||||
tolower/1,
|
||||
jid_tolower/1,
|
||||
jid_remove_resource/1,
|
||||
get_iq_namespace/1,
|
||||
iq_query_info/1,
|
||||
is_iq_request_type/1,
|
||||
@ -183,6 +184,9 @@ tolower(S) ->
|
||||
jid_tolower({U, S, R}) ->
|
||||
{tolower(U), tolower(S), R}.
|
||||
|
||||
jid_remove_resource({U, S, R}) ->
|
||||
{U, S, ""}.
|
||||
|
||||
get_iq_namespace({xmlelement, Name, Attrs, Els}) when Name == "iq" ->
|
||||
case xml:remove_cdata(Els) of
|
||||
[{xmlelement, Name2, Attrs2, Els2}] ->
|
||||
|
Loading…
Reference in New Issue
Block a user