function commerce_vat_rates in Commerce VAT 7
Returns an array of vat rate objects keyed by name.
10 calls to commerce_vat_rates()
- commerce_vat_calculate_rates in ./
commerce_vat.module - Calculates vates of a particular type by invoking any components that match the vat type.
- commerce_vat_commerce_price_component_type_info in ./
commerce_vat.module - Implements hook_commerce_price_component_type_info().
- commerce_vat_country_rates in ./
commerce_vat.module - Returns vat rates for a country.
- commerce_vat_default_rules_configuration in ./
commerce_vat.rules_defaults.inc - Implements hook_default_rules_configuration().
- commerce_vat_field_default_rules_configuration_alter in commerce_vat_field/
commerce_vat_field.rules_defaults.inc - Implimentation of hook_default_rules_configuration_alter().
1 string reference to 'commerce_vat_rates'
- commerce_vat_rates_reset in ./
commerce_vat.module - Resets the cached list of vat rates.
File
- ./
commerce_vat.module, line 137 - Defines VAT rates and Rules integration for configuring vat rules for applicability and display.
Code
function commerce_vat_rates() {
// First check the static cache for a vat rates array.
$vat_rates =& drupal_static(__FUNCTION__);
// If it did not exist, fetch the types now.
if (!isset($vat_rates)) {
$vat_rates = array();
// Find vat rates defined by hook_commerce_vat_rate_info().
foreach (module_implements('commerce_vat_rate_info') as $module) {
foreach (module_invoke($module, 'commerce_vat_rate_info') as $name => $vat_rate) {
// Initialize vat rate properties if necessary.
$defaults = array(
'title' => $name,
'description' => '',
'rates' => array(),
'country' => '',
'rules_component' => 'commerce_vat_rate_' . $name,
'default_rules_component' => TRUE,
'price_component' => 'vat|' . $name,
'calculation_callback' => 'commerce_vat_rate_calculate',
'module' => $module,
);
$vat_rates[$name] = array_merge($defaults, $vat_rate);
}
}
// Last allow the info to be altered by other modules.
drupal_alter('commerce_vat_rate_info', $vat_rates);
}
return $vat_rates;
}