summaryrefslogtreecommitdiff
path: root/modules/core/os_clearmodes.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2010-11-15 23:07:13 -0500
committerAdam <Adam@anope.org>2010-12-12 19:33:59 -0500
commita85112172d842aa74aa5531788d383328d153e74 (patch)
tree7c2b02feb21f64b0b039992b92b86a09920a1eb5 /modules/core/os_clearmodes.cpp
parent5f18cb018dee9ff71efbfdd247a8dc4ca472b16b (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.cpp189
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> &params)
- {
- 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)