summaryrefslogtreecommitdiff
path: root/modules/core/cs_suspend.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2011-05-06 18:02:53 -0400
committerAdam <Adam@anope.org>2011-05-16 04:10:18 -0400
commitfd4b52ec385167794eaadb18ee635bef757728ee (patch)
tree49d3e835b072a10887309d8d9155982a5aa61ed0 /modules/core/cs_suspend.cpp
parentb59602abf85d522bb2f188be70b6cb7c9556a856 (diff)
Added os_forbid
Diffstat (limited to 'modules/core/cs_suspend.cpp')
-rw-r--r--modules/core/cs_suspend.cpp20
1 files changed, 8 insertions, 12 deletions
diff --git a/modules/core/cs_suspend.cpp b/modules/core/cs_suspend.cpp
index 374e44bc2..1836da858 100644
--- a/modules/core/cs_suspend.cpp
+++ b/modules/core/cs_suspend.cpp
@@ -37,20 +37,13 @@ class CommandCSSuspend : public Command
return MOD_CONT;
}
- /* You should not SUSPEND a FORBIDEN channel */
- if (ci->HasFlag(CI_FORBIDDEN))
- {
- source.Reply(_("Channel \002%s\002 may not be registered."), ci->name.c_str());
- return MOD_CONT;
- }
-
if (readonly)
source.Reply(_(READ_ONLY_MODE));
ci->SetFlag(CI_SUSPENDED);
- ci->forbidby = u->nick;
+ ci->Extend("suspend_by", new ExtensibleItemRegular<Anope::string>(u->nick));
if (!reason.empty())
- ci->forbidreason = reason;
+ ci->Extend("suspend_reason", new ExtensibleItemRegular<Anope::string>(u->nick));
if (c)
{
@@ -115,11 +108,14 @@ class CommandCSUnSuspend : public Command
return MOD_CONT;
}
- Log(LOG_ADMIN, u, this, ci) << " was suspended for: " << (!ci->forbidreason.empty() ? ci->forbidreason : "No reason");
+ Anope::string by, reason;
+ ci->GetExtRegular("suspend_by", by);
+ ci->GetExtRegular("suspend_reason", reason);
+ Log(LOG_ADMIN, u, this, ci) << " which was suspended by " << by << " for: " << (!reason.empty() ? reason : "No reason");
ci->UnsetFlag(CI_SUSPENDED);
- ci->forbidreason.clear();
- ci->forbidby.clear();
+ ci->Shrink("suspend_by");
+ ci->Shrink("suspend_reason");
source.Reply(_("Channel \002%s\002 is now released."), ci->name.c_str());