HEX
Server: Apache/2.4.54 (Debian)
System: Linux a5825d2beacc 4.15.0-197-generic #208-Ubuntu SMP Tue Nov 1 17:23:37 UTC 2022 x86_64
User: root (0)
PHP: 8.1.14
Disabled: NONE
Upload Files
File: /var/www/html/wp-content/plugins/wordpress-seo/inc/indexables/validators/class-robots-validator.php
<?php
/**
 * WPSEO plugin file.
 *
 * @package WPSEO\Indexables
 */

/**
 * Class WPSEO_Robots_Validator
 */
class WPSEO_Robots_Validator implements WPSEO_Endpoint_Validator {

	/**
	 * @var array The robots keys to validate.
	 */
	private $robots_to_validate = array(
		'is_robots_nofollow',
		'is_robots_noarchive',
		'is_robots_noimageindex',
		'is_robots_nosnippet',
		'is_robots_noindex',
	);

	/**
	 * Validates the passed request data.
	 *
	 * @param array $request_data The request data to validate.
	 *
	 * @return void
	 *
	 * @throws WPSEO_Invalid_Argument_Exception Thrown if the robots values are not a boolean type.
	 */
	public function validate( $request_data ) {
		foreach ( $this->robots_to_validate as $item ) {
			if ( ! WPSEO_Validator::key_exists( $request_data, $item ) ) {
				continue;
			}

			if ( ! is_null( $request_data[ $item ] ) && ! WPSEO_Validator::is_boolean( $request_data[ $item ] ) ) {
				throw WPSEO_Invalid_Argument_Exception::invalid_boolean_parameter( $request_data[ $item ], $item );
			}
		}
	}
}