diff options
author | Adam <Adam@anope.org> | 2012-02-26 23:23:15 -0500 |
---|---|---|
committer | Adam <Adam@anope.org> | 2012-02-26 23:23:15 -0500 |
commit | a5b9e235ae240439608aa743c9ebb3bf6e7d342a (patch) | |
tree | 9c3040b865ace191c224a94ef525ab60581c6ba5 /modules/commands/cs_drop.cpp | |
parent | a78790eac4da788a8432d0b83fa72de7853dd697 (diff) |
Added chanserv:require config option to set which modes must be on all registered channels. Prevents the core from always enforcing +r on every channel, even if chanserv is not loaded.
Diffstat (limited to 'modules/commands/cs_drop.cpp')
-rw-r--r-- | modules/commands/cs_drop.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/modules/commands/cs_drop.cpp b/modules/commands/cs_drop.cpp index e9736851a..abdbed17e 100644 --- a/modules/commands/cs_drop.cpp +++ b/modules/commands/cs_drop.cpp @@ -53,16 +53,17 @@ class CommandCSDrop : public Command return; } - if (ci->c && ModeManager::FindChannelModeByName(CMODE_REGISTERED)) - ci->c->RemoveMode(NULL, CMODE_REGISTERED, "", false); - bool override = (ci->HasFlag(CI_SECUREFOUNDER) ? !IsFounder(u, ci) : !ci->AccessFor(u).HasPriv("FOUNDER")); Log(override ? LOG_OVERRIDE : LOG_COMMAND, u, this, ci) << "(founder was: " << (ci->GetFounder() ? ci->GetFounder()->display : "none") << ")"; + Channel *c = ci->c; delete ci; source.Reply(_("Channel \002%s\002 has been dropped."), chan.c_str()); + if (c) + c->CheckModes(); + FOREACH_MOD(I_OnChanDrop, OnChanDrop(chan)); return; |