diff options
author | Mickaël Rémond <mickael.remond@process-one.net> | 2007-07-26 09:29:52 +0000 |
---|---|---|
committer | Mickaël Rémond <mickael.remond@process-one.net> | 2007-07-26 09:29:52 +0000 |
commit | df57442d7549e0bfc6012db379cabb359e003938 (patch) | |
tree | c35d8c43eb90016bbf1e091d9f26c61a1f622604 | |
parent | * src/mod_last.erl: Adapted to mod_privacy changes. (diff) |
* src/mod_last.erl: Adapted to mod_privacy changes.
SVN Revision: 826
-rw-r--r-- | src/mod_last.erl | 32 |
1 files changed, 16 insertions, 16 deletions
diff --git a/src/mod_last.erl b/src/mod_last.erl index 34ab81c6f..4a61f3b53 100644 --- a/src/mod_last.erl +++ b/src/mod_last.erl @@ -22,6 +22,7 @@ -include("ejabberd.hrl"). -include("jlib.hrl"). +-include("mod_privacy.hrl"). -record(last_activity, {us, timestamp, status}). @@ -76,23 +77,22 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) -> {none, []}, [User, Server, From]), if (Subscription == both) or (Subscription == from) -> - case catch mod_privacy:get_user_list(User, Server) of - {'EXIT', _Reason} -> + UserListRecord = ejabberd_hooks:run_fold( + privacy_get_user_list, Server, + #userlist{}, + [User, Server]), + case ejabberd_hooks:run_fold( + privacy_check_packet, Server, + allow, + [User, Server, UserListRecord, + {From, To, + {xmlelement, "presence", [], []}}, + out]) of + allow -> get_last(IQ, SubEl, User, Server); - List -> - case catch mod_privacy:check_packet( - User, Server, List, - {From, To, - {xmlelement, "presence", [], []}}, - out) of - {'EXIT', _Reason} -> - get_last(IQ, SubEl, User, Server); - allow -> - get_last(IQ, SubEl, User, Server); - deny -> - IQ#iq{type = error, - sub_el = [SubEl, ?ERR_NOT_ALLOWED]} - end + deny -> + IQ#iq{type = error, + sub_el = [SubEl, ?ERR_NOT_ALLOWED]} end; true -> IQ#iq{type = error, |