summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorgeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2007-08-28 14:54:49 +0000
committergeniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b <geniusdex geniusdex@31f1291d-b8d6-0310-a050-a5561fc1590b@5417fbe8-f217-4b02-8779-1006273d7864>2007-08-28 14:54:49 +0000
commitb89cfa30e80c30cadb9a355f3e550bad89687794 (patch)
treed3fe92ef82debf4516a0deed6fe3d6460460e06e /src
parent405d39fcdc5d68dd584600d2cd808fb037471e72 (diff)
BUILD : 1.7.19 (1284) BUGS : 770 NOTES : SuperAdmins now have a higher channel level than channel founders so they will always win from founders
git-svn-id: svn://svn.anope.org/anope/trunk@1284 31f1291d-b8d6-0310-a050-a5561fc1590b git-svn-id: http://anope.svn.sourceforge.net/svnroot/anope/trunk@1002 5417fbe8-f217-4b02-8779-1006273d7864
Diffstat (limited to 'src')
-rw-r--r--src/chanserv.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/chanserv.c b/src/chanserv.c
index 36faedccb..24fa87ea5 100644
--- a/src/chanserv.c
+++ b/src/chanserv.c
@@ -1889,7 +1889,7 @@ int check_access(User * user, ChannelInfo * ci, int what)
if (level > 0)
ci->last_used = time(NULL);
- if (level == ACCESS_FOUNDER)
+ if (level >= ACCESS_FOUNDER)
return (what == CA_AUTODEOP || what == CA_NOJOIN) ? 0 : 1;
/* Hacks to make flags work */
if (what == CA_AUTODEOP && (ci->flags & CI_SECUREOPS) && level == 0)
@@ -2234,6 +2234,10 @@ int get_access(User * user, ChannelInfo * ci)
if (!ci || !user)
return -1;
+ // SuperAdmin always has highest level
+ if (user->isSuperAdmin)
+ return ACCESS_SUPERADMIN;
+
if (is_founder(user, ci))
return ACCESS_FOUNDER;