X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_autoop.cpp;h=b1b08228c50a71a8a4c3d9786bf2ad5814204543;hb=da53c17315d3eb0d0177608d306d208bdf05786b;hp=2b9c2e1c21c28edfaf62adc6d3513a1ffa0ee08f;hpb=8f5efbc7aa33b792e02d01e3288f553e6e98ccaa;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_autoop.cpp b/src/modules/m_autoop.cpp index 2b9c2e1c2..b1b08228c 100644 --- a/src/modules/m_autoop.cpp +++ b/src/modules/m_autoop.cpp @@ -26,9 +26,10 @@ class AutoOpList : public ListModeBase { public: - AutoOpList(Module* Creator) : ListModeBase(Creator, "autoop", 'w', "End of Channel Access List", 910, 911, true) + AutoOpList(Module* Creator) + : ListModeBase(Creator, "autoop", 'w', "End of Channel Access List", 910, 911, true) { - levelrequired = OP_VALUE; + ranktoset = ranktounset = OP_VALUE; tidy = false; } @@ -41,7 +42,7 @@ class AutoOpList : public ListModeBase return mh ? mh->IsPrefixMode() : NULL; } - ModResult AccessCheck(User* source, Channel* channel, std::string ¶meter, bool adding) + ModResult AccessCheck(User* source, Channel* channel, std::string ¶meter, bool adding) CXX11_OVERRIDE { std::string::size_type pos = parameter.find(':'); if (pos == 0 || pos == std::string::npos) @@ -52,8 +53,7 @@ class AutoOpList : public ListModeBase if (adding && !mh) { - source->WriteNumeric(415, "%s :Cannot find prefix mode '%s' for autoop", - mid.c_str(), mid.c_str()); + source->WriteNumeric(ERR_UNKNOWNMODE, mid, InspIRCd::Format("Cannot find prefix mode '%s' for autoop", mid.c_str())); return MOD_RES_DENY; } else if (!mh) @@ -62,10 +62,10 @@ class AutoOpList : public ListModeBase std::string dummy; if (mh->AccessCheck(source, channel, dummy, true) == MOD_RES_DENY) return MOD_RES_DENY; - if (mh->GetLevelRequired() > mylevel) + if (mh->GetLevelRequired(adding) > mylevel) { - source->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s :You must be able to set mode '%s' to include it in an autoop", - channel->name.c_str(), mid.c_str()); + source->WriteNumeric(ERR_CHANOPRIVSNEEDED, channel->name, InspIRCd::Format("You must be able to %s mode %c (%s) to %s an autoop containing it", + adding ? "set" : "unset", mh->GetModeChar(), mh->name.c_str(), adding ? "add" : "remove")); return MOD_RES_DENY; } return MOD_RES_PASSTHRU; @@ -113,7 +113,7 @@ class ModuleAutoOp : public Module Version GetVersion() CXX11_OVERRIDE { - return Version("Provides support for the +w channel mode", VF_VENDOR); + return Version("Provides channel mode +w, basic channel access controls", VF_VENDOR); } };