]> git.netwichtig.de Git - user/henk/code/inspircd.git/blobdiff - src/modules/m_namedmodes.cpp
m_chanfilter: Apply filters to part messages (#1702)
[user/henk/code/inspircd.git] / src / modules / m_namedmodes.cpp
index 73c5cb521fdc919572e5576ca2a474b8fef6a3da..2fbdca26561856ca5ecc29ac6ae66b12a73d9248 100644 (file)
@@ -38,10 +38,11 @@ static void DisplayList(LocalUser* user, Channel* channel)
                if (!channel->IsModeSet(mh))
                        continue;
                numeric.Add("+" + mh->name);
-               if (mh->NeedsParam(true))
+               ParamModeBase* pm = mh->IsParameterMode();
+               if (pm)
                {
-                       if ((mh->name == "key") && (!channel->HasUser(user)) && (!user->HasPrivPermission("channels/auspex")))
-                               numeric.Add("<key>");
+                       if ((pm->IsParameterSecret()) && (!channel->HasUser(user)) && (!user->HasPrivPermission("channels/auspex")))
+                               numeric.Add("<" + mh->name + ">");
                        else
                                numeric.Add(channel->GetModeParameter(mh));
                }
@@ -56,10 +57,10 @@ class CommandProp : public SplitCommand
        CommandProp(Module* parent)
                : SplitCommand(parent, "PROP", 1)
        {
-               syntax = "<user|channel> {[+-]<mode> [<value>]}*";
+               syntax = "<channel> [[(+|-)]<mode> [<value>]]";
        }
 
-       CmdResult HandleLocal(const std::vector<std::string>& parameters, LocalUser* src) CXX11_OVERRIDE
+       CmdResult HandleLocal(LocalUser* src, const Params& parameters) CXX11_OVERRIDE
        {
                Channel* const chan = ServerInstance->FindChan(parameters[0]);
                if (!chan)
@@ -128,7 +129,7 @@ class ModuleNamedModes : public Module
 
        Version GetVersion() CXX11_OVERRIDE
        {
-               return Version("Provides the ability to manipulate modes via long names.",VF_VENDOR);
+               return Version("Provides the ability to manipulate modes via long names", VF_VENDOR);
        }
 
        void Prioritize() CXX11_OVERRIDE