]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_operprefix.cpp
Introduce ModeProcessFlags, can be passed to ModeParser::Process() to indicate local...
[user/henk/code/inspircd.git] / src / modules / m_operprefix.cpp
index fbb7e8b50b291c8d67d7665c4fbf1cb3f51f3c63..0f4cdbea1d34596cdec1e59d3d6ba2aaf73ac34c 100644 (file)
@@ -38,11 +38,7 @@ class OperPrefixMode : public ModeHandler
                        prefix = pfx.empty() ? '!' : pfx[0];
                        levelrequired = OPERPREFIX_VALUE;
                        m_paramtype = TR_NICK;
-               }
-
-               unsigned int GetPrefixRank()
-               {
-                       return OPERPREFIX_VALUE;
+                       prefixrank = OPERPREFIX_VALUE;
                }
 
                ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string &parameter, bool adding)
@@ -51,7 +47,7 @@ class OperPrefixMode : public ModeHandler
                                return MODEACTION_ALLOW;
                        else
                        {
-                               if (source && channel)
+                               if (channel)
                                        source->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :Only servers are permitted to change channel mode '%c'", source->nick.c_str(), channel->name.c_str(), 'y');
                                return MODEACTION_DENY;
                        }
@@ -112,7 +108,7 @@ class ModuleOperPrefixMode : public Module
                for (UCListIter v = user->chans.begin(); v != user->chans.end(); v++)
                {
                        modechange[0] = (*v)->name;
-                       ServerInstance->SendGlobalMode(modechange, ServerInstance->FakeClient);
+                       ServerInstance->Modes->Process(modechange, ServerInstance->FakeClient);
                }
        }