summaryrefslogtreecommitdiff
path: root/modules/commands/cs_unban.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/cs_unban.cpp')
-rw-r--r--modules/commands/cs_unban.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/modules/commands/cs_unban.cpp b/modules/commands/cs_unban.cpp
index 59d2dfeaa..333592109 100644
--- a/modules/commands/cs_unban.cpp
+++ b/modules/commands/cs_unban.cpp
@@ -42,6 +42,7 @@ class CommandCSUnban : public Command
++count;
}
+ Log(LOG_COMMAND, source, this, NULL) << "on all channels";
source.Reply(_("You have been unbanned from %d channels."), count);
return;
@@ -60,7 +61,7 @@ class CommandCSUnban : public Command
return;
}
- if (!source.AccessFor(ci).HasPriv("UNBAN"))
+ if (!source.AccessFor(ci).HasPriv("UNBAN") && !source.HasPriv("chanserv/kick"))
{
source.Reply(ACCESS_DENIED);
return;
@@ -76,7 +77,8 @@ class CommandCSUnban : public Command
return;
}
- Log(LOG_COMMAND, source, this, ci) << "to unban " << u2->nick;
+ bool override = !source.AccessFor(ci).HasPriv("UNBAN") && source.HasPriv("chanserv/kick");
+ Log(override ? LOG_OVERRIDE : LOG_COMMAND, source, this, ci) << "to unban " << u2->nick;
ci->c->Unban(u2, source.GetUser() == u2);
if (u2 == source.GetUser())