12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- <?php
- /**
- * WPSEO plugin file.
- *
- * @package WPSEO\Indexables
- */
- /**
- * Class WPSEO_Robots_Validator.
- */
- class WPSEO_Robots_Validator implements WPSEO_Endpoint_Validator {
- /**
- * The robots keys to validate.
- *
- * @var array
- */
- private $robots_to_validate = [
- '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 );
- }
- }
- }
- }
|