]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_namedmodes.cpp
Remove spanningtree override of /LUSERS
[user/henk/code/inspircd.git] / src / modules / m_namedmodes.cpp
index 4bf8960e15058321147394a4375a2520f2ccd880..6f6dda491c474c9518feede4ea3bfd2dd6e46790 100644 (file)
@@ -27,6 +27,11 @@ class ModuleNamedModes : public Module
                return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
        }
 
+       void Prioritize()
+       {
+               ServerInstance->Modules->SetPriority(this, I_OnPreMode, PRIORITY_FIRST);
+       }
+
        void On005Numeric(std::string& line)
        {
                std::string::size_type pos = line.find(" CHANMODES=");
@@ -41,6 +46,7 @@ class ModuleNamedModes : public Module
 
        void DisplayList(User* user, Channel* channel)
        {
+               std::stringstream items;
                for(char letter = 'A'; letter <= 'z'; letter++)
                {
                        ModeHandler* mh = ServerInstance->Modes->FindMode(letter, MODETYPE_CHANNEL);
@@ -51,8 +57,11 @@ class ModuleNamedModes : public Module
                        std::string item = mh->name;
                        if (mh->GetNumParams(true))
                                item += "=" + channel->GetModeParameter(letter);
-                       user->WriteNumeric(961, "%s %s %s", user->nick.c_str(), channel->name.c_str(), item.c_str());
+                       items << item << " ";
                }
+               char pfx[MAXBUF];
+               snprintf(pfx, MAXBUF, ":%s 961 %s %s", ServerInstance->Config->ServerName.c_str(), user->nick.c_str(), channel->name.c_str());
+               user->SendText(std::string(pfx), items);
                user->WriteNumeric(960, "%s %s :End of mode list", user->nick.c_str(), channel->name.c_str());
        }