]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_ojoin.cpp
Fix GetPrefixChar returning empty if a non-prefix mode was used
[user/henk/code/inspircd.git] / src / modules / m_ojoin.cpp
index 8c45c0d506592df4462d06751ea78e1a10cfa59d..a5b4b6ffb4383e3464356dc83ebd8c3fe8283c37 100644 (file)
@@ -67,16 +67,6 @@ class CommandOjoin : public Command
                {
                        ServerInstance->SNO->WriteGlobalSno('a', std::string(user->nick)+" used OJOIN to join "+channel->name);
 
-                       if (!NPrefix)
-                       {
-                               std::vector<std::string> modes;
-                               modes.push_back(parameters[0]);
-                               modes.push_back("+Y");
-                               modes.push_back(user->nick);
-                               ServerInstance->SendMode(modes, ServerInstance->FakeClient);
-                               ServerInstance->PI->SendMode(channel->name, ServerInstance->Modes->GetLastParseParams(), ServerInstance->Modes->GetLastParseTranslate());
-                       }
-
                        if (notice)
                        {
                                channel = ServerInstance->FindChan(parameters[0]);
@@ -105,9 +95,12 @@ class CommandOjoin : public Command
 class NetworkPrefix : public ModeHandler
 {
  public:
-       NetworkPrefix(InspIRCd* Instance, Module* parent)
-               : ModeHandler(Instance, parent, 'Y', 1, 1, true, MODETYPE_CHANNEL, false, NPrefix, 0, TR_NICK)
+       NetworkPrefix(Module* parent) : ModeHandler(parent, 'Y', PARAM_ALWAYS, MODETYPE_CHANNEL)
        {
+               list = true;
+               prefix = NPrefix;
+               levelrequired = 0xFFFFFFFF;
+               m_paramtype = TR_NICK;
        }
 
        ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string &parameter)
@@ -249,7 +242,7 @@ class ModuleOjoin : public Module
                OnRehash(NULL);
 
                /* Initialise module variables */
-               np = new NetworkPrefix(Me, this);
+               np = new NetworkPrefix(this);
 
                if (!ServerInstance->Modes->AddMode(np))
                {