WP_Recovery_Mode_Link_Service::handle_begin_link( int $ttl )

In this article

Enters recovery mode when the user hits wp-login.php with a valid recovery mode link.

Parameters

$ttlintrequired
Number of seconds the link should be valid for.

Source

public function handle_begin_link( $ttl ) {
	if ( ! isset( $GLOBALS['pagenow'] ) || 'wp-login.php' !== $GLOBALS['pagenow'] ) {
		return;
	}

	if ( ! isset( $_GET['action'], $_GET['rm_token'], $_GET['rm_key'] ) || self::LOGIN_ACTION_ENTER !== $_GET['action'] ) {
		return;
	}

	if ( ! function_exists( 'wp_generate_password' ) ) {
		require_once ABSPATH . WPINC . '/pluggable.php';
	}

	$validated = $this->key_service->validate_recovery_mode_key( $_GET['rm_token'], $_GET['rm_key'], $ttl );

	if ( is_wp_error( $validated ) ) {
		wp_die( $validated, '' );
	}

	$this->cookie_service->set_cookie();

	$url = add_query_arg( 'action', self::LOGIN_ACTION_ENTERED, wp_login_url() );
	wp_redirect( $url );
	die;
}

Changelog

VersionDescription
5.2.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.