summaryrefslogtreecommitdiff
path: root/src/mod_pres_counter.erl
diff options
context:
space:
mode:
authorEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-09 17:02:17 +0300
committerEvgeniy Khramtsov <ekhramtsov@process-one.net>2017-01-09 17:02:17 +0300
commit1e55e018e534aa82541c5f460063a237192b768c (patch)
tree9584ed46fe2b18770343399254b0ba15ff591e51 /src/mod_pres_counter.erl
parentGet rid of "jlib.hrl" header in some files (diff)
Adopt remaining code to support new hooks
Diffstat (limited to 'src/mod_pres_counter.erl')
-rw-r--r--src/mod_pres_counter.erl18
1 files changed, 10 insertions, 8 deletions
diff --git a/src/mod_pres_counter.erl b/src/mod_pres_counter.erl
index 955e53f6..8da4f7b2 100644
--- a/src/mod_pres_counter.erl
+++ b/src/mod_pres_counter.erl
@@ -27,7 +27,7 @@
-behavior(gen_mod).
--export([start/2, stop/1, check_packet/6,
+-export([start/2, stop/1, check_packet/4,
mod_opt_type/1, depends/2]).
-include("ejabberd.hrl").
@@ -51,10 +51,12 @@ stop(Host) ->
depends(_Host, _Opts) ->
[].
--spec check_packet(allow | deny, binary(), binary(), _,
- {jid(), jid(), stanza()}, in | out) -> allow | deny.
-check_packet(_, _User, Server, _PrivacyList,
- {From, To, #presence{type = Type}}, Dir) ->
+-spec check_packet(allow | deny, ejabberd_c2s:state() | jid(),
+ stanza(), in | out) -> allow | deny.
+check_packet(Acc, #{jid := JID}, Packet, Dir) ->
+ check_packet(Acc, JID, Packet, Dir);
+check_packet(_, #jid{lserver = LServer},
+ #presence{from = From, to = To, type = Type}, Dir) ->
IsSubscription = case Type of
subscribe -> true;
subscribed -> true;
@@ -67,11 +69,11 @@ check_packet(_, _User, Server, _PrivacyList,
in -> To;
out -> From
end,
- update(Server, JID, Dir);
+ update(LServer, JID, Dir);
true -> allow
end;
-check_packet(_, _User, _Server, _PrivacyList, _Pkt, _Dir) ->
- allow.
+check_packet(Acc, _, _, _) ->
+ Acc.
update(Server, JID, Dir) ->
StormCount = gen_mod:get_module_opt(Server, ?MODULE, count,