From 89f72a4d63c6868ac3c191197f37e08341b8bc16 Mon Sep 17 00:00:00 2001 From: Daniel De Graaf Date: Tue, 2 Mar 2010 12:04:53 -0600 Subject: Create OnChannelPermissionCheck hook --- src/modules/m_silence.cpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) (limited to 'src/modules/m_silence.cpp') diff --git a/src/modules/m_silence.cpp b/src/modules/m_silence.cpp index 8c26051db..dc1d1b505 100644 --- a/src/modules/m_silence.cpp +++ b/src/modules/m_silence.cpp @@ -280,7 +280,7 @@ class ModuleSilence : public Module ServerInstance->AddCommand(&cmdsilence); ServerInstance->AddCommand(&cmdsvssilence); - Implementation eventlist[] = { I_OnRehash, I_On005Numeric, I_OnUserPreNotice, I_OnUserPreMessage, I_OnUserPreInvite }; + Implementation eventlist[] = { I_OnRehash, I_On005Numeric, I_OnUserPreNotice, I_OnUserPreMessage, I_OnChannelPermissionCheck }; ServerInstance->Modules->Attach(eventlist, this, 5); } @@ -342,9 +342,11 @@ class ModuleSilence : public Module return PreText(user, dest, target_type, text, status, exempt_list, SILENCE_NOTICE); } - ModResult OnUserPreInvite(User* source,User* dest,Channel* channel, time_t timeout) + void OnChannelPermissionCheck(User* user,Channel* chan, PermissionData& perm) { - return MatchPattern(dest, source, SILENCE_INVITE); + if (perm.name != "invite" || perm.result != MOD_RES_PASSTHRU) + return; + perm.result = MatchPattern(static_cast(perm).target, user, SILENCE_INVITE); } ModResult MatchPattern(User* dest, User* source, int pattern) -- cgit v1.3.1-10-gc9f91