]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modes/umode_s.cpp
Merge pull request #569 from ShutterQuick/inspircd+asrootfix
[user/henk/code/inspircd.git] / src / modes / umode_s.cpp
index 1b782ae853dbd74444c61e5a087a71b2823c5b63..f5631c6950561e8317811f64549fac6a85b1dec8 100644 (file)
@@ -23,7 +23,7 @@
 #include "mode.h"
 #include "channels.h"
 #include "users.h"
-#include "modes/umode_s.h"
+#include "builtinmodes.h"
 
 ModeUserServerNoticeMask::ModeUserServerNoticeMask() : ModeHandler(NULL, "snomask", 's', PARAM_SETONLY, MODETYPE_USER)
 {
@@ -36,18 +36,18 @@ ModeAction ModeUserServerNoticeMask::OnModeChange(User* source, User* dest, Chan
        if (adding)
        {
                /* Fix for bug #310 reported by Smartys */
-               if (!dest->modes[UM_SNOMASK])
+               if (!dest->IsModeSet(this))
                        dest->snomasks.reset();
 
-               dest->modes[UM_SNOMASK] = true;
+               dest->SetMode(this, true);
                parameter = dest->ProcessNoticeMasks(parameter.c_str());
                return MODEACTION_ALLOW;
        }
        else
        {
-               if (dest->modes[UM_SNOMASK] != false)
+               if (dest->IsModeSet(this))
                {
-                       dest->modes[UM_SNOMASK] = false;
+                       dest->SetMode(this, false);
                        return MODEACTION_ALLOW;
                }
        }
@@ -66,7 +66,5 @@ std::string ModeUserServerNoticeMask::GetUserParameter(User* user)
 
 void ModeUserServerNoticeMask::OnParameterMissing(User* user, User* dest, Channel* channel)
 {
-       user->WriteServ("NOTICE %s :*** The user mode +s requires a parameter (server notice mask). Please provide a parameter, e.g. '+s +*'.",
-                       user->nick.c_str());
+       user->WriteNotice("*** The user mode +s requires a parameter (server notice mask). Please provide a parameter, e.g. '+s +*'.");
 }
-