diff options
author | geniusdex 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 |
---|---|---|
committer | geniusdex 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 |
commit | b89cfa30e80c30cadb9a355f3e550bad89687794 (patch) | |
tree | d3fe92ef82debf4516a0deed6fe3d6460460e06e /src | |
parent | 405d39fcdc5d68dd584600d2cd808fb037471e72 (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.c | 6 |
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; |