diff options
Diffstat (limited to 'src/modules/m_censor.cpp')
-rw-r--r-- | src/modules/m_censor.cpp | 52 |
1 files changed, 4 insertions, 48 deletions
diff --git a/src/modules/m_censor.cpp b/src/modules/m_censor.cpp index b4746d936..93fe3ae3b 100644 --- a/src/modules/m_censor.cpp +++ b/src/modules/m_censor.cpp @@ -22,62 +22,18 @@ typedef std::map<irc::string,irc::string> censor_t; /** Handles usermode +G */ -class CensorUser : public ModeHandler +class CensorUser : public SimpleUserModeHandler { public: - CensorUser(InspIRCd* Instance) : ModeHandler(Instance, 'G', 0, 0, false, MODETYPE_USER, false) { } - - ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding, bool) - { - if (adding) - { - if (!dest->IsModeSet('G')) - { - dest->SetMode('G',true); - return MODEACTION_ALLOW; - } - } - else - { - if (dest->IsModeSet('G')) - { - dest->SetMode('G',false); - return MODEACTION_ALLOW; - } - } - - return MODEACTION_DENY; - } + CensorUser(InspIRCd* Instance) : SimpleUserModeHandler(Instance, 'G') { } }; /** Handles channel mode +G */ -class CensorChannel : public ModeHandler +class CensorChannel : public SimpleChannelModeHandler { public: - CensorChannel(InspIRCd* Instance) : ModeHandler(Instance, 'G', 0, 0, false, MODETYPE_CHANNEL, false) { } - - ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding, bool) - { - if (adding) - { - if (!channel->IsModeSet('G')) - { - channel->SetMode('G',true); - return MODEACTION_ALLOW; - } - } - else - { - if (channel->IsModeSet('G')) - { - channel->SetMode('G',false); - return MODEACTION_ALLOW; - } - } - - return MODEACTION_DENY; - } + CensorChannel(InspIRCd* Instance) : SimpleChannelModeHandler(Instance, 'G') { } }; class ModuleCensor : public Module |