X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_samode.cpp;h=b1642e47085b9ce4b3a61b096ce9a37460a7b556;hb=e59cb85871f75b7603c63c6cd274d57536cf6794;hp=8f28a7e9cbee8825e7952973415e4f56beb01bad;hpb=c6e40d36b42a7ebf832c3a57d2816a47ee9c9a76;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_samode.cpp b/src/modules/m_samode.cpp index 8f28a7e9c..b1642e470 100644 --- a/src/modules/m_samode.cpp +++ b/src/modules/m_samode.cpp @@ -33,7 +33,7 @@ class CommandSamode : public Command CommandSamode(Module* Creator) : Command(Creator,"SAMODE", 2) { allow_empty_last_param = false; - flags_needed = 'o'; syntax = " {}"; + flags_needed = 'o'; syntax = " (+|-) []"; active = false; } @@ -49,8 +49,11 @@ class CommandSamode : public Command } // Changing the modes of another user requires a special permission - if ((target != user) && (!user->HasPrivPermission("users/samode-usermodes", true))) + if ((target != user) && (!user->HasPrivPermission("users/samode-usermodes"))) + { + user->WriteNotice("*** You are not allowed to /SAMODE other users (the privilege users/samode-usermodes is needed to /SAMODE others)."); return CMD_FAILURE; + } } // XXX: Make ModeParser clear LastParse @@ -93,7 +96,7 @@ class ModuleSaMode : public Module Version GetVersion() CXX11_OVERRIDE { - return Version("Provides command SAMODE to allow opers to change modes on channels and users", VF_VENDOR); + return Version("Provides the SAMODE command, allows opers to change modes on channels and users", VF_VENDOR); } ModResult OnPreMode(User* source, User* dest, Channel* channel, Modes::ChangeList& modes) CXX11_OVERRIDE @@ -124,6 +127,9 @@ class ModuleSaMode : public Module void Prioritize() CXX11_OVERRIDE { + Module* disable = ServerInstance->Modules->Find("m_disable.so"); + ServerInstance->Modules->SetPriority(this, I_OnRawMode, PRIORITY_BEFORE, disable); + Module *override = ServerInstance->Modules->Find("m_override.so"); ServerInstance->Modules->SetPriority(this, I_OnPreMode, PRIORITY_BEFORE, override); }