laipower/wp-content/plugins/easy-digital-downloads/includes/country-functions.php

421 lines
9.1 KiB
PHP

<?php
/**
* Country Functions
*
* @package EDD
* @subpackage Functions
* @copyright Copyright (c) 2018, Easy Digital Downloads, LLC
* @license http://opensource.org/licenses/gpl-2.0.php GNU Public License
* @since 1.6
*/
// Exit if accessed directly
defined( 'ABSPATH' ) || exit;
/**
* Get Shop Base Country
*
* @since 1.6
* @return string $country The two letter country code for the shop's base country
*/
function edd_get_shop_country() {
$country = edd_get_option( 'base_country', 'US' );
return apply_filters( 'edd_shop_country', $country );
}
/**
* Get Shop Base State
*
* @since 1.6
* @return string $state The shop's base state name
*/
function edd_get_shop_state() {
$state = edd_get_option( 'base_state', false );
return apply_filters( 'edd_shop_state', $state );
}
/**
* Get Shop States
*
* @since 1.6
*
* @param string $country
* @return array A list of states for the selected country
*/
function edd_get_shop_states( $country = null ) {
if ( empty( $country ) ) {
$country = edd_get_shop_country();
}
$countries = new EDD\Utils\Countries();
$states = $countries->get_states( $country );
return apply_filters( 'edd_shop_states', $states, $country );
}
/**
* Get Country List
*
* @since 1.0
* @return array $countries A list of the available countries
*/
function edd_get_country_list() {
return apply_filters( 'edd_countries', include EDD_PLUGIN_DIR . 'i18n/countries.php' );
}
/**
* Get States List
*
* @since 1.2
* @return array
*/
function edd_get_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_us_states', $countries->get_states( 'US' ) );
}
/**
* Get Angola States
*
* @since 2.8.5
* @return array $states A list of states
*/
function edd_get_angola_provinces_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_angola_provinces', $countries->get_states( 'AO' ) );
}
/**
* Get Provinces List
*
* @since 1.2
* @return array
*/
function edd_get_provinces_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_canada_provinces', $countries->get_states( 'CA' ) );
}
/**
* Get Australian States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_australian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_australian_states', $countries->get_states( 'AU' ) );
}
/**
* Get Bangladeshi States (districts)
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_bangladeshi_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_bangladeshi_states', $countries->get_states( 'BD' ) );
}
/**
* Get Brazil States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_brazil_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_brazil_states', $countries->get_states( 'BR' ) );
}
/**
* Get Bulgarian States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_bulgarian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_bulgarian_states', $countries->get_states( 'BG' ) );
}
/**
* Get Hong Kong States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_hong_kong_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_hong_kong_states', $countries->get_states( 'HK' ) );
}
/**
* Get Hungary States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_hungary_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_hungary_states', $countries->get_states( 'HU' ) );
}
/**
* Get Japanese States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_japanese_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_japanese_states', $countries->get_states( 'JP' ) );
}
/**
* Get Chinese States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_chinese_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_chinese_states', $countries->get_states( 'CN' ) );
}
/**
* Get United Kingdom States
*
* @since 2.9
* @return array $states A list of states
*/
function edd_get_united_kingdom_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_united_kingdom_states', $countries->get_states( 'GB' ) );
}
/**
* Get New Zealand States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_new_zealand_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_new_zealand_states', $countries->get_states( 'NZ' ) );
}
/**
* Get Peruvian States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_peruvian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_peruvian_states', $countries->get_states( 'PE' ) );
}
/**
* Get Indonesian States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_indonesian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_indonesia_states', $countries->get_states( 'ID' ) );
}
/**
* Get Indian States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_indian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_indian_states', $countries->get_states( 'IN' ) );
}
/**
* Get Iranian States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_iranian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_iranian_states', $countries->get_states( 'IR' ) );
}
/**
* Get Italian Provinces
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_italian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_italian_states', $countries->get_states( 'IT' ) );
}
/**
* Get Malaysian States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_malaysian_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_malaysian_states', $countries->get_states( 'MY' ) );
}
/**
* Get Mexican States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_mexican_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_mexican_states', $countries->get_states( 'MX' ) );
}
/**
* Get Nepalese States (Districts)
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_nepalese_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_nepalese_states', $countries->get_states( 'NP' ) );
}
/**
* Get South African States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_south_african_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_south_african_states', $countries->get_states( 'ZA' ) );
}
/**
* Get Thailand States
*
* @since 1.6
* @return array $states A list of states
*/
function edd_get_thailand_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_thailand_states', $countries->get_states( 'TH' ) );
}
/**
* Get Turkey States
*
* @since 2.2.3
* @return array $states A list of states
*/
function edd_get_turkey_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_turkey_states', $countries->get_states( 'TR' ) );
}
/**
* Get Spain States
*
* @since 2.2
* @return array $states A list of states
*/
function edd_get_spain_states_list() {
$countries = new EDD\Utils\Countries();
return apply_filters( 'edd_spain_states', $countries->get_states( 'ES' ) );
}
/**
* Returns a list of Netherland's provinces.
*
* @since 3.0
* @return array $states A list of Netherland's provinces.
*/
function edd_get_netherlands_provinces_list() {
$countries = new EDD\Utils\Countries();
/**
* Filters the list of Netherland's provinces.
*
* @since 3.0
*
* @param array $states A list of Netherland's provinces.
*/
return apply_filters( 'edd_netherlands_provinces', $countries->get_states( 'NL' ) );
}
/**
* Given a country code, return the country name
*
* @since 2.8.7
* @param string $country_code The ISO Code for the country
*
* @return string
*/
function edd_get_country_name( $country_code = '' ) {
$country_list = edd_get_country_list();
$country_name = isset( $country_list[ $country_code ] ) ? $country_list[ $country_code ] : $country_code;
return apply_filters( 'edd_get_country_name', $country_name, $country_code );
}
/**
* Given a country and state code, return the state name
*
* @since 2.9
* @param string $country_code The ISO Code for the country
* @param string $state_code The ISO Code for the state
*
* @return string
*/
function edd_get_state_name( $country_code = '', $state_code = '' ) {
if ( empty( $country_code ) ) {
$country_code = edd_get_shop_country();
}
$countries = new EDD\Utils\Countries();
$state_name = $countries->get_state_name( $country_code, $state_code );
return apply_filters( 'edd_get_state_name', $state_name, $state_code );
}