wppaste
WordPress

WP_Recovery_Mode_Cookie_Service

Since
5.2.0
Source
wp-includes/class-wp-recovery-mode-cookie-service.php:14
Core class used to set, validate, and clear cookies that identify a Recovery Mode session.

Compatibility

WordPress
since 5.2.0
  • 6.7.7
  • 6.8.8
  • 6.9.7
  • 7.0.4
  • 7.1.0

Present in every tracked release (6.7.7 to 7.1.0).

Hooks and filters fired · 2

Every hook that fires from inside WP_Recovery_Mode_Cookie_Service, in the order it appears in the class, grouped by the method that fires it.

Methods · 8

Source code

#[AllowDynamicProperties]final class WP_Recovery_Mode_Cookie_Service { 	/**	 * Checks whether the recovery mode cookie is set.	 *	 * @since 5.2.0	 *	 * @return bool True if the cookie is set, false otherwise.	 */	public function is_cookie_set() {		return ! empty( $_COOKIE[ RECOVERY_MODE_COOKIE ] );	} 	/**	 * Sets the recovery mode cookie.	 *	 * This must be immediately followed by exiting the request.	 *	 * @since 5.2.0	 */	public function set_cookie() { 		$value = $this->generate_cookie(); 		/**		 * Filters the length of time a Recovery Mode cookie is valid for.		 *		 * @since 5.2.0		 *		 * @param int $length Length in seconds.		 */		$length = apply_filters( 'recovery_mode_cookie_length', WEEK_IN_SECONDS ); 		$expire = time() + $length; 		setcookie( RECOVERY_MODE_COOKIE, $value, $expire, COOKIEPATH, COOKIE_DOMAIN, is_ssl(), true ); 		if ( COOKIEPATH !== SITECOOKIEPATH ) {			setcookie( RECOVERY_MODE_COOKIE, $value, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, is_ssl(), true );		}	} 	/**	 * Clears the recovery mode cookie.	 *	 * @since 5.2.0	 */	public function clear_cookie() {		setcookie( RECOVERY_MODE_COOKIE, ' ', time() - YEAR_IN_SECONDS, COOKIEPATH, COOKIE_DOMAIN );		setcookie( RECOVERY_MODE_COOKIE, ' ', time() - YEAR_IN_SECONDS, SITECOOKIEPATH, COOKIE_DOMAIN );	} 	/**	 * Validates the recovery mode cookie.	 *	 * @since 5.2.0	 *	 * @param string $cookie Optionally specify the cookie string.	 *                       If omitted, it will be retrieved from the super global.	 * @return true|WP_Error True on success, error object on failure.	 */	public function validate_cookie( $cookie = '' ) { 		if ( ! $cookie ) {			if ( empty( $_COOKIE[ RECOVERY_MODE_COOKIE ] ) ) {				return new WP_Error( 'no_cookie', __( 'No cookie present.' ) );			} 			$cookie = $_COOKIE[ RECOVERY_MODE_COOKIE ];		} 		$parts = $this->parse_cookie( $cookie ); 		if ( is_wp_error( $parts ) ) {			return $parts;		} 		list( , $created_at, $random, $signature ) = $parts;

Changelog

Introduced in 5.2.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 7.1.0

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 7.0.4 tag, from src/wp-includes/class-wp-recovery-mode-cookie-service.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it.
Corrections
Something wrong on this page? Report it and it gets fixed in the next regeneration.