Server IP : 192.64.112.168 / Your IP : 3.140.198.3 Web Server : Apache System : Linux nc-ph-2300-85.bluforrest.com 4.18.0-513.9.1.el8_9.x86_64 #1 SMP Sat Dec 2 05:23:44 EST 2023 x86_64 User : expressoneac ( 1128) PHP Version : 8.0.30 Disable Function : exec,passthru,shell_exec,system MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/expressoneac/www/wp-content/plugins/woocommerce/src/StoreApi/Utilities/ |
Upload File : |
<?php namespace Automattic\WooCommerce\StoreApi\Utilities; /** * ValidationUtils class. * Helper class which validates and update customer info. */ class ValidationUtils { /** * Get list of states for a country. * * @param string $country Country code. * @return array Array of state names indexed by state keys. */ public function get_states_for_country( $country ) { return $country ? array_filter( (array) \wc()->countries->get_states( $country ) ) : []; } /** * Validate provided state against a countries list of defined states. * * If there are no defined states for a country, any given state is valid. * * @param string $state State name or code (sanitized). * @param string $country Country code. * @return boolean Valid or not valid. */ public function validate_state( $state, $country ) { $states = $this->get_states_for_country( $country ); if ( count( $states ) && ! in_array( \wc_strtoupper( $state ), array_map( '\wc_strtoupper', array_keys( $states ) ), true ) ) { return false; } return true; } /** * Format a state based on the country. If country has defined states, will return a valid upper case state code. * * @param string $state State name or code (sanitized). * @param string $country Country code. * @return string */ public function format_state( $state, $country ) { $states = $this->get_states_for_country( $country ); if ( count( $states ) ) { $state = \wc_strtoupper( $state ); $state_values = array_map( '\wc_strtoupper', array_flip( array_map( '\wc_strtoupper', $states ) ) ); if ( isset( $state_values[ $state ] ) ) { // Convert to state code if a state name was provided. return $state_values[ $state ]; } } return $state; } }