function commerce_vat_countries in Commerce VAT 7
Returns an array of vat country objects keyed by name.
5 calls to commerce_vat_countries()
- commerce_vat_calculate_place_of_supply in ./
commerce_vat.module - Calculates the Country.
- commerce_vat_default_rules_configuration in ./
commerce_vat.rules_defaults.inc - Implements hook_default_rules_configuration().
- commerce_vat_field_commerce_product_type_insert in commerce_vat_field/
commerce_vat_field.module - Implements hook_commerce_product_type_insert().
- commerce_vat_field_flush_caches in commerce_vat_field/
commerce_vat_field.module - Implements hook_flush_caches().
- commerce_vat_reference_field_settings_form in commerce_vat_reference/
commerce_vat_reference.module - Implements hook_field_settings_form().
1 string reference to 'commerce_vat_countries'
- commerce_vat_countries_reset in ./
commerce_vat.module - Resets the cached list of vat rates.
File
- ./
commerce_vat.module, line 86 - Defines VAT rates and Rules integration for configuring vat rules for applicability and display.
Code
function commerce_vat_countries() {
// First check the static cache for a vat rates array.
$vat_countries =& drupal_static(__FUNCTION__);
// If it did not exist, fetch the types now.
if (!isset($vat_countries)) {
// Necessary for country_get_list().
require_once DRUPAL_ROOT . '/includes/locale.inc';
$countries = country_get_list();
$vat_countries = array();
// Find vat rates defined by hook_commerce_vat_rate_info().
foreach (module_implements('commerce_vat_country_info') as $module) {
foreach (module_invoke($module, 'commerce_vat_country_info') as $iso2 => $vat_country) {
// Initialize vat rate properties if necessary.
$defaults = array(
'title' => $countries[drupal_strtoupper($iso2)],
'iso2' => drupal_strtoupper($iso2),
'rules_component_profile' => 'commerce_vat_profile_address_' . drupal_strtolower($iso2),
'rules_component_place' => 'commerce_vat_place_of_supply_' . drupal_strtolower($iso2),
'rules_component' => 'commerce_vat_' . drupal_strtolower($iso2),
'default_profile_rules_component' => TRUE,
'default_place_rules_component' => TRUE,
'default_rules_component' => TRUE,
'default_field' => TRUE,
'module' => $module,
);
$vat_countries[$iso2] = array_merge($defaults, $vat_country);
}
}
// Last allow the info to be altered by other modules.
drupal_alter('commerce_vat_country_info', $vat_countries);
}
return $vat_countries;
}