aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMickaël Rémond <mickael.remond@process-one.net>2007-07-26 09:29:52 +0000
committerMickaël Rémond <mickael.remond@process-one.net>2007-07-26 09:29:52 +0000
commitdf57442d7549e0bfc6012db379cabb359e003938 (patch)
treec35d8c43eb90016bbf1e091d9f26c61a1f622604
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.erl32
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,