diff options
author | Badlop <badlop@process-one.net> | 2010-04-27 14:33:56 +0400 |
---|---|---|
committer | Badlop <badlop@process-one.net> | 2010-04-27 14:33:56 +0400 |
commit | 1c00a9713d575fc505ef1e89ab76471985bb452a (patch) | |
tree | bccb8458a7e1456f19e159a30a4bd7f343eda588 /src/ejabberd_sm.erl | |
parent | 5e7d8868c0e9c69fde32a53f619a9975f2bfccc5 (diff) |
Automatic vcard avatar addition in presence (thanks to Igor Goryachev)(EJAB-208)
Diffstat (limited to 'src/ejabberd_sm.erl')
-rw-r--r-- | src/ejabberd_sm.erl | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/src/ejabberd_sm.erl b/src/ejabberd_sm.erl index 296400f84..782732603 100644 --- a/src/ejabberd_sm.erl +++ b/src/ejabberd_sm.erl @@ -47,6 +47,7 @@ register_iq_handler/4, register_iq_handler/5, unregister_iq_handler/2, + force_update_presence/1, connected_users/0, connected_users_number/0, user_resources/2, @@ -711,6 +712,16 @@ process_iq(From, To, Packet) -> ok end. +force_update_presence({LUser, _LServer} = US) -> + case catch mnesia:dirty_index_read(session, US, #session.us) of + {'EXIT', _Reason} -> + ok; + Ss -> + lists:foreach(fun(#session{sid = {_, Pid}}) -> + Pid ! {force_update_presence, LUser} + end, Ss) + end. + %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%% ejabberd commands |