Initial Commit
This commit is contained in:
64
inc/helpers/validation-rules/class-city.php
Normal file
64
inc/helpers/validation-rules/class-city.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
/**
|
||||
* Adds a validation rules for cities
|
||||
*
|
||||
* @package WP_Ultimo
|
||||
* @subpackage Helpers/Validation_Rules
|
||||
* @since 2.0.11
|
||||
*/
|
||||
|
||||
namespace WP_Ultimo\Helpers\Validation_Rules;
|
||||
|
||||
// Exit if accessed directly
|
||||
defined('ABSPATH') || exit;
|
||||
|
||||
use WP_Ultimo\Dependencies\Rakit\Validation\Rule;
|
||||
|
||||
/**
|
||||
* Validates template sites.
|
||||
*
|
||||
* @since 2.0.4
|
||||
*/
|
||||
class City extends Rule {
|
||||
|
||||
/**
|
||||
* Parameters that this rule accepts.
|
||||
*
|
||||
* @since 2.0.4
|
||||
* @var array
|
||||
*/
|
||||
protected $fillableParams = array('country', 'state'); // phpcs:ignore
|
||||
/**
|
||||
* Performs the actual check.
|
||||
*
|
||||
* @since 2.0.11
|
||||
*
|
||||
* @param mixed $city The city value detected.
|
||||
*/
|
||||
public function check($city) : bool { // phpcs:ignore
|
||||
|
||||
$check = true;
|
||||
|
||||
$country = $this->parameter('country') ?? wu_request('billing_country');
|
||||
|
||||
$state = $this->parameter('state') ?? wu_request('billing_state');
|
||||
|
||||
if ($country && $state && $city) {
|
||||
|
||||
$state = strtoupper((string) $state);
|
||||
|
||||
$allowed_cities = wu_get_country_cities(strtoupper((string) $country), $state, false);
|
||||
|
||||
if (!empty($allowed_cities)) {
|
||||
|
||||
$check = in_array($city, $allowed_cities, true);
|
||||
|
||||
} // end if;
|
||||
|
||||
} // end if;
|
||||
|
||||
return $check;
|
||||
|
||||
} // end check;
|
||||
|
||||
} // end class City;
|
Reference in New Issue
Block a user