Initial Commit
This commit is contained in:
66
inc/helpers/validation-rules/class-products.php
Normal file
66
inc/helpers/validation-rules/class-products.php
Normal file
@ -0,0 +1,66 @@
|
||||
<?php
|
||||
/**
|
||||
* Adds a validation rule for products.
|
||||
*
|
||||
* @package WP_Ultimo
|
||||
* @subpackage Helpers/Validation_Rules
|
||||
* @since 2.0.4
|
||||
*/
|
||||
|
||||
namespace WP_Ultimo\Helpers\Validation_Rules;
|
||||
|
||||
use WP_Ultimo\Dependencies\Rakit\Validation\Rule;
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
/**
|
||||
* Validates products.
|
||||
*
|
||||
* @since 2.0.4
|
||||
*/
|
||||
class Products extends Rule {
|
||||
|
||||
/**
|
||||
* Error message to be returned when this value has been used.
|
||||
*
|
||||
* @since 2.0.4
|
||||
* @var string
|
||||
*/
|
||||
protected $message = '';
|
||||
|
||||
/**
|
||||
* Parameters that this rule accepts.
|
||||
*
|
||||
* @since 2.0.4
|
||||
* @var array
|
||||
*/
|
||||
protected $fillableParams = array(); // phpcs:ignore
|
||||
/**
|
||||
* Performs the actual check.
|
||||
*
|
||||
* @since 2.0.4
|
||||
*
|
||||
* @param mixed $products Value being checked.
|
||||
*/
|
||||
public function check($products) : bool { // phpcs:ignore
|
||||
|
||||
$products = (array) $products;
|
||||
|
||||
$product_objects = array_map('wu_get_product', $products);
|
||||
|
||||
list($plan, $additional_products) = wu_segregate_products($product_objects);
|
||||
|
||||
if ($plan) {
|
||||
|
||||
return true;
|
||||
|
||||
} // end if;
|
||||
|
||||
$this->message = __('A plan is required.', 'wp-ultimo');
|
||||
|
||||
return false;
|
||||
|
||||
} // end check;
|
||||
|
||||
} // end class Products;
|
Reference in New Issue
Block a user