function login_redirect_rules($redirect_to, $requested_redirect_to, $user)
 {
     // If they're on the login page, don't do anything
     if (!isset($user->user_login)) {
         return $redirect_to;
     }
     //redirect by login/logout redirect table
     $wpc_enable_custom_redirects = get_option('wpc_enable_custom_redirects', 'no');
     if ('yes' == $wpc_enable_custom_redirects) {
         global $wpdb;
         $new_redirect_to = $wpdb->get_var($wpdb->prepare("SELECT rul_url FROM {$wpdb->prefix}wpc_client_login_redirects WHERE rul_value = '%s'", $user->user_login));
         if ($new_redirect_to) {
             return $new_redirect_to;
         }
     }
     //redirect Client and Staff to my-hub page
     if (user_can($user, 'wpc_client') && !user_can($user, 'manage_network_options')) {
         return wpc_client_get_slug('hub_page_id');
     }
     return $redirect_to;
 }
function wpc_client_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;
    }
    //redirection for client staff
    if (user_can($user, 'wpc_client_staff') && !user_can($user, 'manage_network_options')) {
        $client_id = get_user_meta($user->get('ID'), 'parent_client_id', true);
        if (0 < $client_id) {
            $user = get_userdata($client_id);
        }
    }
    if (admin_url() == $redirect_to && $rul_allow_post_redirect_override || !$rul_allow_post_redirect_override) {
        $rul_url = wpc_client_redirect_to_front_page($redirect_to, $requested_redirect_to, $user);
        //redirect Client and Staff to my-hub page
        if ((user_can($user, 'wpc_client') || user_can($user, 'wpc_client_staff')) && !user_can($user, 'manage_network_options')) {
            if (get_option('permalink_structure')) {
                if (is_multisite()) {
                    wp_redirect(wpc_client_get_slug('hub_page_id'));
                    die;
                } else {
                    wp_redirect(wpc_client_get_slug('hub_page_id'));
                    die;
                }
            }
        }
        if (1 === $rul_local_only) {
            wpc_rulRedirectFunctionCollection::wpc_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;
    }
}