summaryrefslogtreecommitdiff
path: root/modules/commands/cs_set.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'modules/commands/cs_set.cpp')
-rw-r--r--modules/commands/cs_set.cpp8
1 files changed, 4 insertions, 4 deletions
diff --git a/modules/commands/cs_set.cpp b/modules/commands/cs_set.cpp
index bac744b2c..619222ebb 100644
--- a/modules/commands/cs_set.cpp
+++ b/modules/commands/cs_set.cpp
@@ -1,6 +1,6 @@
/* ChanServ core functions
*
- * (C) 2003-2016 Anope Team
+ * (C) 2003-2017 Anope Team
* Contact us at team@anope.org
*
* Please read COPYING and README for further details.
@@ -1299,7 +1299,7 @@ class CSSet : public Module
void OnJoinChannel(User *u, Channel *c) anope_override
{
- if (persist_lower_ts && c->ci && persist.HasExt(c->ci) && c->creation_time > c->ci->time_registered)
+ if (u->server != Me && persist_lower_ts && c->ci && persist.HasExt(c->ci) && c->creation_time > c->ci->time_registered)
{
Log(LOG_DEBUG) << "Changing TS of " << c->name << " from " << c->creation_time << " to " << c->ci->time_registered;
c->creation_time = c->ci->time_registered;
@@ -1312,9 +1312,9 @@ class CSSet : public Module
{
if (chan->ci)
{
- if (noautoop.HasExt(chan->ci))
+ if (noautoop.HasExt(chan->ci))
give_modes = false;
- if (secureops.HasExt(chan->ci))
+ if (secureops.HasExt(chan->ci) && !user->HasPriv("chanserv/administration"))
// This overrides what chanserv does because it is loaded after chanserv
take_modes = true;
}