summaryrefslogtreecommitdiff
path: root/modules/commands/cs_set_successor.cpp
diff options
context:
space:
mode:
authorlethality <lethality@anope.org>2012-10-05 15:15:50 +0100
committerlethality <lethality@anope.org>2012-10-05 15:15:50 +0100
commit94fc2ba9c927f8950d81e38ef6b962ee5af022df (patch)
tree0e2ebe2df3ed41e5c7c10aba46bab236d3e11b75 /modules/commands/cs_set_successor.cpp
parent2f87b8e430f5082708d7229b92c10b20f9e98fdf (diff)
parenteff61c7a9708013f9617282c4f327bbe2b1bfb79 (diff)
Merge branch '1.9' of ssh://anope.git.sf.net/gitroot/anope/anope into 1.9
Diffstat (limited to 'modules/commands/cs_set_successor.cpp')
-rw-r--r--modules/commands/cs_set_successor.cpp22
1 files changed, 15 insertions, 7 deletions
diff --git a/modules/commands/cs_set_successor.cpp b/modules/commands/cs_set_successor.cpp
index 5d3da40f1..64f875dce 100644
--- a/modules/commands/cs_set_successor.cpp
+++ b/modules/commands/cs_set_successor.cpp
@@ -31,16 +31,24 @@ class CommandCSSetSuccessor : public Command
return;
}
- if (source.permission.empty() && !source.AccessFor(ci).HasPriv("SET"))
- {
- source.Reply(ACCESS_DENIED);
+ EventReturn MOD_RESULT;
+ FOREACH_RESULT(I_OnSetChannelOption, OnSetChannelOption(source, this, ci, params[1]));
+ if (MOD_RESULT == EVENT_STOP)
return;
- }
- if (source.permission.empty() && ci->HasFlag(CI_SECUREFOUNDER) ? !source.IsFounder(ci) : !source.AccessFor(ci).HasPriv("FOUNDER"))
+ if (MOD_RESULT != EVENT_ALLOW && source.permission.empty())
{
- source.Reply(ACCESS_DENIED);
- return;
+ if (!source.AccessFor(ci).HasPriv("SET"))
+ {
+ source.Reply(ACCESS_DENIED);
+ return;
+ }
+
+ if (ci->HasFlag(CI_SECUREFOUNDER) ? !source.IsFounder(ci) : !source.AccessFor(ci).HasPriv("FOUNDER"))
+ {
+ source.Reply(ACCESS_DENIED);
+ return;
+ }
}
NickCore *nc;