The ip banning check is done in verify_ip_ban() which is in includes/functions.php. Unfortunately there's no hook in that function. But maybe you could modify the source code of that function, or if you want to use plugins you might be able to work out something else. If a user is banned it calls standard_error() to show an error message, and that has an "error _generic" hook. So you could check the message to see if it's the "you are banned" message, or maybe look at the call stack to see if verify_ip_ban() called standard_error, and do something there.
Also, verify_ip_ban is called just before the "global_state_check" hook (and before the "archive_global" hook if you have the archive enabled), so maybe you could do something like disable the ip banning option and do your own check in a plugin on those hooks (maybe copy the code from verify_ip_ban).
|