function pmpro_login_head()
{
    $login_redirect = apply_filters("pmpro_login_redirect", true);
    if ((pmpro_is_login_page() || is_page("login") || class_exists("Theme_My_Login") && defined('Theme_My_Login::version') && version_compare(Theme_My_Login::version, "6.3") >= 0 && (Theme_My_Login::is_tml_page("register") || Theme_My_Login::is_tml_page("login"))) && $login_redirect) {
        //redirect registration page to levels page
        if (isset($_REQUEST['action']) && $_REQUEST['action'] == "register" || isset($_REQUEST['registration']) && $_REQUEST['registration'] == "disabled" || !is_admin() && class_exists("Theme_My_Login") && defined('Theme_My_Login::version') && version_compare(Theme_My_Login::version, "6.3") >= 0 && Theme_My_Login::is_tml_page("register")) {
            //redirect to levels page unless filter is set.
            $link = apply_filters("pmpro_register_redirect", pmpro_url("levels"));
            if (!empty($link)) {
                wp_redirect($link);
                exit;
            } else {
                return;
            }
            //don't redirect if pmpro_register_redirect filter returns false or a blank URL
        }
        //if theme my login is installed, redirect all logins to the login page
        if (pmpro_is_plugin_active("theme-my-login/theme-my-login.php")) {
            //check for the login page id and redirect there if we're not there already
            global $post;
            if (!empty($GLOBALS['theme_my_login']) && is_array($GLOBALS['theme_my_login']->options)) {
                //an older version of TML stores it this way
                if ($GLOBALS['theme_my_login']->options['page_id'] !== $post->ID) {
                    //redirect to the real login page
                    $link = get_permalink($GLOBALS['theme_my_login']->options['page_id']);
                    if ($_SERVER['QUERY_STRING']) {
                        $link .= "?" . $_SERVER['QUERY_STRING'];
                    }
                    wp_redirect($link);
                    exit;
                }
            } elseif (!empty($GLOBALS['theme_my_login']->options)) {
                //another older version of TML stores it this way
                if ($GLOBALS['theme_my_login']->options->options['page_id'] !== $post->ID) {
                    //redirect to the real login page
                    $link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
                    if ($_SERVER['QUERY_STRING']) {
                        $link .= "?" . $_SERVER['QUERY_STRING'];
                    }
                    wp_redirect($link);
                    exit;
                }
            } elseif (class_exists("Theme_My_Login") && defined('Theme_My_Login::version') && version_compare(Theme_My_Login::version, "6.3") >= 0) {
                //TML > 6.3
                $link = Theme_My_Login::get_page_link("login");
                if (!empty($link)) {
                    //redirect if !is_page(), i.e. we're on wp-login.php
                    if (!Theme_My_Login::is_tml_page()) {
                        wp_redirect($link);
                        exit;
                    }
                }
            }
            //make sure users are only getting to the profile when logged in
            global $current_user;
            if (!empty($_REQUEST['action']) && $_REQUEST['action'] == "profile" && !$current_user->ID) {
                $link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
                wp_redirect($link);
                exit;
            }
        }
    }
}
function pmpro_login_head()
{
	$login_redirect = apply_filters("pmpro_login_redirect", true);
	if((pmpro_is_login_page() || is_page("login")) && $login_redirect)
	{
		//redirect registration page to levels page
		if(isset($_REQUEST['action']) && $_REQUEST['action'] == "register" || isset($_REQUEST['registration']) && $_REQUEST['registration'] == "disabled")
		{
			//redirect to levels page unless filter is set.
			$link = apply_filters("pmpro_register_redirect", pmpro_url("levels"));
			if(!empty($link))
			{
				wp_redirect($link);
				exit;
			}
			else
				break;	//don't redirect if pmpro_register_redirect filter returns false or a blank URL
		}

		//if theme my login is installed, redirect all logins to the login page
		if(pmpro_is_plugin_active("theme-my-login/theme-my-login.php"))
		{
			//check for the login page id and redirect there if we're not there already
			global $post;
			if(is_array($GLOBALS['theme_my_login']->options))
			{
				if($GLOBALS['theme_my_login']->options['page_id'] !== $post->ID)
				{
					//redirect to the real login page
					$link = get_permalink($GLOBALS['theme_my_login']->options['page_id']);
					if($_SERVER['QUERY_STRING'])
						$link .= "?" . $_SERVER['QUERY_STRING'];
					wp_redirect($link);
					exit;
				}
			}
			elseif(!empty($GLOBALS['theme_my_login']->options))
			{
				if($GLOBALS['theme_my_login']->options->options['page_id'] !== $post->ID)
				{
					//redirect to the real login page
					$link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
					if($_SERVER['QUERY_STRING'])
						$link .= "?" . $_SERVER['QUERY_STRING'];
					wp_redirect($link);
					exit;
				}
			}

			//make sure users are only getting to the profile when logged in
			global $current_user;
			if(!empty($_REQUEST['action']) && $_REQUEST['action'] == "profile" && !$current_user->ID)
			{
				$link = get_permalink($GLOBALS['theme_my_login']->options->options['page_id']);
				wp_redirect($link);
			}
		}
	}
}