diff options
author | Adam <Adam@anope.org> | 2010-11-15 23:07:13 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2010-12-12 19:33:59 -0500 |
commit | a85112172d842aa74aa5531788d383328d153e74 (patch) | |
tree | 7c2b02feb21f64b0b039992b92b86a09920a1eb5 /modules/core/os_clearmodes.cpp | |
parent | 5f18cb018dee9ff71efbfdd247a8dc4ca472b16b (diff) |
Removed and deprecated /cs set mlock, removed /cs clear, removed /os clearmodes, removed /cs akick (un)stick, added /cs clearusers
Diffstat (limited to 'modules/core/os_clearmodes.cpp')
-rw-r--r-- | modules/core/os_clearmodes.cpp | 189 |
1 files changed, 0 insertions, 189 deletions
diff --git a/modules/core/os_clearmodes.cpp b/modules/core/os_clearmodes.cpp deleted file mode 100644 index 0042ac58f..000000000 --- a/modules/core/os_clearmodes.cpp +++ /dev/null @@ -1,189 +0,0 @@ -/* OperServ core functions - * - * (C) 2003-2010 Anope Team - * Contact us at team@anope.org - * - * Please read COPYING and README for further details. - * - * Based on the original code of Epona by Lara. - * Based on the original code of Services by Andy Church. - */ - -/*************************************************************************/ - -#include "module.h" - -class CommandOSClearModes : public Command -{ - public: - CommandOSClearModes() : Command("CLEARMODES", 1, 2, "operserv/clearmodes") - { - } - - CommandReturn Execute(User *u, const std::vector<Anope::string> ¶ms) - { - Anope::string chan = params[0]; - Channel *c; - int all = 0; - ChannelMode *cm; - Anope::string buf; - - if (!(c = findchan(chan))) - { - u->SendMessage(OperServ, CHAN_X_NOT_IN_USE, chan.c_str()); - return MOD_CONT; - } - else if (c->bouncy_modes) - { - u->SendMessage(OperServ, OPER_BOUNCY_MODES_U_LINE); - return MOD_CONT; - } - else - { - Anope::string s = params.size() > 1 ? params[1] : ""; - if (!s.empty()) - { - if (s.equals_ci("ALL")) - all = 1; - else - { - this->OnSyntaxError(u, ""); - return MOD_CONT; - } - } - - if (Config->WallOSClearmodes) - ircdproto->SendGlobops(OperServ, "%s used CLEARMODES%s on %s", u->nick.c_str(), all ? " ALL" : "", chan.c_str()); - if (all) - { - /* Clear mode +o */ - if (ircd->svsmode_ucmode) - ircdproto->SendSVSModeChan(c, "-o", ""); - else - { - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - if (uc->Status->HasFlag(CMODE_OP)) - c->RemoveMode(NULL, CMODE_OP, uc->user->nick); - } - } - - /* Clear mode +v */ - if (ircd->svsmode_ucmode) - ircdproto->SendSVSModeChan(c, "-v", ""); - else - { - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - if (uc->Status->HasFlag(CMODE_VOICE)) - c->RemoveMode(NULL, CMODE_VOICE, uc->user->nick); - } - } - - /* Clear mode +h */ - if (ModeManager::FindChannelModeByName(CMODE_HALFOP)) - { - if (ircd->svsmode_ucmode) - ircdproto->SendSVSModeChan(c, "-h", ""); - else - { - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - if (uc->Status->HasFlag(CMODE_HALFOP)) - c->RemoveMode(NULL, CMODE_HALFOP, uc->user->nick); - } - } - } - - /* Clear mode Owners */ - if ((cm = ModeManager::FindChannelModeByName(CMODE_OWNER))) - { - buf = "-" + cm->ModeChar; - - if (ircd->svsmode_ucmode) - ircdproto->SendSVSModeChan(c, buf, ""); - else - { - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - if (uc->Status->HasFlag(CMODE_OWNER)) - c->RemoveMode(NULL, CMODE_OWNER, uc->user->nick); - } - } - } - - /* Clear mode protected or admins */ - if ((cm = ModeManager::FindChannelModeByName(CMODE_PROTECT))) - { - buf = "-" + cm->ModeChar; - - if (ircd->svsmode_ucmode) - ircdproto->SendSVSModeChan(c, buf, ""); - else - { - for (CUserList::iterator it = c->users.begin(), it_end = c->users.end(); it != it_end; ++it) - { - UserContainer *uc = *it; - - if (uc->Status->HasFlag(CMODE_PROTECT)) - c->RemoveMode(NULL, CMODE_PROTECT, uc->user->nick); - } - } - } - } - - - c->ClearModes(); - c->ClearBans(); - c->ClearExcepts(); - c->ClearInvites(); - } - - if (all) - u->SendMessage(OperServ, OPER_CLEARMODES_ALL_DONE, chan.c_str()); - else - u->SendMessage(OperServ, OPER_CLEARMODES_DONE, chan.c_str()); - - return MOD_CONT; - } - - bool OnHelp(User *u, const Anope::string &subcommand) - { - u->SendMessage(OperServ, OPER_HELP_CLEARMODES); - return true; - } - - void OnSyntaxError(User *u, const Anope::string &subcommand) - { - SyntaxError(OperServ, u, "CLEARMODES", OPER_CLEARMODES_SYNTAX); - } - - void OnServHelp(User *u) - { - u->SendMessage(OperServ, OPER_HELP_CMD_CLEARMODES); - } -}; - -class OSClearModes : public Module -{ - CommandOSClearModes commandosclearmodes; - - public: - OSClearModes(const Anope::string &modname, const Anope::string &creator) : Module(modname, creator) - { - this->SetAuthor("Anope"); - this->SetType(CORE); - - this->AddCommand(OperServ, &commandosclearmodes); - } -}; - -MODULE_INIT(OSClearModes) |