diff options
author | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-01-09 17:02:17 +0300 |
---|---|---|
committer | Evgeniy Khramtsov <ekhramtsov@process-one.net> | 2017-01-09 17:02:17 +0300 |
commit | 1e55e018e534aa82541c5f460063a237192b768c (patch) | |
tree | 9584ed46fe2b18770343399254b0ba15ff591e51 /src/mod_pres_counter.erl | |
parent | Get 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.erl | 18 |
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, |