X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodes%2Fcmode_s.cpp;h=800f9f6cb0e093aa9e1e9b9516cf3517f6f4259e;hb=812dcf79f6ccea65a616f4aecb5701e1846e8aea;hp=16c446eec874525520618dad2de77e0b3ffe06e4;hpb=4cb72aee7374889ce3f11a0ff516ac716c16b5b7;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modes/cmode_s.cpp b/src/modes/cmode_s.cpp index 16c446eec..800f9f6cb 100644 --- a/src/modes/cmode_s.cpp +++ b/src/modes/cmode_s.cpp @@ -2,18 +2,21 @@ #include "mode.h" #include "channels.h" #include "users.h" +#include "modes/cmode_s.h" -class ModeChannelSecret : public ModeHandler +ModeChannelSecret::ModeChannelSecret(InspIRCd* Instance) : ModeHandler(Instance, 's', 0, 0, false, MODETYPE_CHANNEL, false) { - public: - ModeChannelSecret() : ModeHandler('s', 0, 0, 0, MODETYPE_CHANNEL, false) - { - } +} - ModeAction OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding) +ModeAction ModeChannelSecret::OnModeChange(userrec* source, userrec* dest, chanrec* channel, std::string ¶meter, bool adding) +{ + if (channel->modes[CM_SECRET] != adding) { channel->modes[CM_SECRET] = adding; return MODEACTION_ALLOW; } -}; - + else + { + return MODEACTION_DENY; + } +}