diff options
author | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-05 20:45:30 +0000 |
---|---|---|
committer | brain <brain@e03df62e-2008-0410-955e-edbf42e46eb7> | 2005-12-05 20:45:30 +0000 |
commit | 6deedb5c08c6a7bcecd227cb12982ddbeb6d354b (patch) | |
tree | 188df5623c9a63afea1cd486edb966dc75b15447 /src | |
parent | 7e0943ed0f790e55c83062402b196af9ecd7d22f (diff) |
Added new OnKick stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@2201 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/inspircd.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/inspircd.cpp b/src/inspircd.cpp index e3425c053..8f3bfbfc3 100644 --- a/src/inspircd.cpp +++ b/src/inspircd.cpp @@ -859,12 +859,12 @@ void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason) int MOD_RESULT = 0; FOREACH_RESULT(OnAccessCheck(src,user,Ptr,AC_KICK)); - if (MOD_RESULT == ACR_DENY) + if ((MOD_RESULT == ACR_DENY) && (!is_uline(src->server))) return; - if (MOD_RESULT == ACR_DEFAULT) + if ((MOD_RESULT == ACR_DEFAULT) || (!is_uline(src->server))) { - if (((cstatus(src,Ptr) < STATUS_HOP) || (cstatus(src,Ptr) < cstatus(user,Ptr))) && (!is_uline(src->server))) + if ((cstatus(src,Ptr) < STATUS_HOP) || (cstatus(src,Ptr) < cstatus(user,Ptr))) { if (cstatus(src,Ptr) == STATUS_HOP) { @@ -879,10 +879,13 @@ void kick_channel(userrec *src,userrec *user, chanrec *Ptr, char* reason) } } - MOD_RESULT = 0; - FOREACH_RESULT(OnUserPreKick(src,user,Ptr,reason)); - if (MOD_RESULT) - return; + if (!is_uline(src->server)) + { + MOD_RESULT = 0; + FOREACH_RESULT(OnUserPreKick(src,user,Ptr,reason)); + if (MOD_RESULT) + return; + } FOREACH_MOD OnUserKick(src,user,Ptr,reason); |