static function logout_redirect() { $rul_local_only = rulRedirectFunctionCollection::get_settings('rul_local_only'); $rul_allow_post_redirect_override_logout = rulRedirectFunctionCollection::get_settings('rul_allow_post_redirect_override_logout'); $requested_redirect_to = !empty($_REQUEST['redirect_to']) ? $_REQUEST['redirect_to'] : false; if (is_user_logged_in() && (!$requested_redirect_to || !$rul_allow_post_redirect_override_logout)) { $current_user = wp_get_current_user(); $rul_url = rulLogoutFunctionCollection::get_redirect_url($current_user, $requested_redirect_to); if ($rul_url) { if (1 == $rul_local_only) { rulRedirectFunctionCollection::rul_trigger_allowed_host($rul_url); wp_safe_redirect($rul_url); die; } elseif (2 == $rul_local_only) { wp_redirect($rul_url); die; } else { wp_safe_redirect($rul_url); die; } } } return false; }
function redirect_wrapper($redirect_to, $requested_redirect_to, $user) { global $rul_local_only, $rul_allow_post_redirect_override; // If they're on the login page, don't do anything if (!isset($user->user_login)) { return $redirect_to; } if (admin_url() == $redirect_to && $rul_allow_post_redirect_override || !$rul_allow_post_redirect_override) { $rul_url = redirect_to_front_page($redirect_to, $requested_redirect_to, $user); if (1 == $rul_local_only) { rulRedirectFunctionCollection::rul_trigger_allowed_host($rul_url); return $rul_url; } elseif (2 == $rul_local_only) { wp_redirect($rul_url); die; } else { return $rul_url; } } else { return $redirect_to; } }