]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_commonchans.cpp
Use SQUERY instead of PRIVMSG in alias/passforward config.
[user/henk/code/inspircd.git] / src / modules / m_commonchans.cpp
index 678be0c4338352ae5df23e271b96d69b8c6adc0a..2cb318a68bc374c6315f92edf88b889266c30726 100644 (file)
@@ -33,12 +33,12 @@ class ModulePrivacyMode : public Module
                return Version("Adds user mode +c, which if set, users must be on a common channel with you to private message you", VF_VENDOR);
        }
 
-       ModResult OnUserPreMessage(User* user, void* dest, int target_type, std::string& text, char status, CUList& exempt_list, MessageType msgtype) CXX11_OVERRIDE
+       ModResult OnUserPreMessage(User* user, const MessageTarget& target, MessageDetails& details) CXX11_OVERRIDE
        {
-               if (target_type == TYPE_USER)
+               if (target.type == MessageTarget::TYPE_USER)
                {
-                       User* t = (User*)dest;
-                       if (!user->IsOper() && (t->IsModeSet(pm)) && (!user->server->IsULine()) && !user->SharesChannelWith(t))
+                       User* t = target.Get<User>();
+                       if (!user->HasPrivPermission("users/ignore-commonchans") && (t->IsModeSet(pm)) && (!user->server->IsULine()) && !user->SharesChannelWith(t))
                        {
                                user->WriteNumeric(ERR_CANTSENDTOUSER, t->nick, "You are not permitted to send private messages to this user (+c set)");
                                return MOD_RES_DENY;