You are here

commerce_eu_vat.module in Commerce European Union VAT 7.2

Same filename and directory in other branches
  1. 7 commerce_eu_vat.module

Code for the Commerce EU VAT.

File

commerce_eu_vat.module
View source
<?php

/**
 * @file
 * Code for the Commerce EU VAT.
 */

/**
 * Impliments hook_views_api()
 */
function commerce_eu_vat_views_api() {
  return array(
    'api' => 3,
    'template path' => drupal_get_path('module', 'commerce_eu_vat') . '/themes',
  );
}

/**
 * Impliments hook_commerce_vat_country_info()
 */
function commerce_eu_vat_commerce_vat_country_info() {
  $default_settings = array(
    'default_field' => FALSE,
    'eu' => TRUE,
  );
  $countries = array();
  $countries['AT'] = $default_settings;
  $countries['BE'] = $default_settings;
  $countries['BG'] = $default_settings;
  $countries['CY'] = $default_settings;
  $countries['CZ'] = $default_settings;
  $countries['DE'] = $default_settings;
  $countries['DK'] = $default_settings;
  $countries['EE'] = $default_settings;
  $countries['ES'] = $default_settings;
  $countries['FI'] = $default_settings;

  // FR & GB need custom rules to include MC and IM.
  $countries['FR'] = array(
    'default_field' => FALSE,
    'default_profile_rules_component' => FALSE,
    'eu' => TRUE,
  );
  $countries['GB'] = array(
    'default_field' => FALSE,
    'default_profile_rules_component' => FALSE,
    'eu' => TRUE,
  );
  $countries['GR'] = $default_settings;
  $countries['HU'] = $default_settings;
  $countries['HR'] = $default_settings;
  $countries['IE'] = $default_settings;
  $countries['IT'] = $default_settings;
  $countries['LT'] = $default_settings;
  $countries['LU'] = $default_settings;
  $countries['LV'] = $default_settings;
  $countries['MT'] = $default_settings;
  $countries['NL'] = $default_settings;
  $countries['PL'] = $default_settings;
  $countries['PT'] = $default_settings;
  $countries['RO'] = $default_settings;
  $countries['SE'] = $default_settings;
  $countries['SI'] = $default_settings;
  $countries['AT'] = $default_settings;
  $countries['SK'] = $default_settings;
  return $countries;
}

/**
 * Returns list of EU countries.
 *
 * @param $iso2
 *   The ISO2 code of the country to load.
 *
 * @return
 *   The specified vat rate object or FALSE if it did not exist.
 */
function commerce_eu_vat_countries() {
  $vat_countries = commerce_vat_countries();
  foreach ($vat_countries as $iso2 => $vat_country) {
    if (isset($vat_country['eu']) && $vat_country['eu']) {
      $eu_countries[$iso2] = $vat_country;
    }
  }
  return count($eu_countries) > 0 ? $eu_countries : FALSE;
}