<?php

function canada_install() {
  // Make the entry in the country table.
  // VALUES = Country ID, Country Name, 2-digit Code, 3-digit Code, File Version
  db_insert('uc_countries')
    ->fields(array(
      'country_id' => 124,
      'country_name' => 'Canada',
      'country_iso_code_2' => 'CA',
      'country_iso_code_3' => 'CAN',
      'version' => 2,
    ))
    ->execute();

  // Make the entries in the zones table.
  $zones = array(
    array(124, 'AB', 'Alberta'),
    array(124, 'BC', 'British Columbia'),
    array(124, 'MB', 'Manitoba'),
    array(124, 'NL', 'Newfoundland and Labrador'),
    array(124, 'NB', 'New Brunswick'),
    array(124, 'NS', 'Nova Scotia'),
    array(124, 'NT', 'Northwest Territories'),
    array(124, 'NU', 'Nunavut'),
    array(124, 'ON', 'Ontario'),
    array(124, 'PE', 'Prince Edward Island'),
    array(124, 'QC', 'Quebec'),
    array(124, 'SK', 'Saskatchewan'),
    array(124, 'YT', 'Yukon Territory'),
  );

  $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  foreach ($zones as $zone) {
    $query->values($zone);
  }
  $query->execute();

  // Set address format
  // Have to call variable_set() instead of uc_set_address_format()
  // because the Canada .cif file is loaded during the installation
  // of the uc_store module, before uc_set_address_format() is available
  // to use.
  variable_set(
    'uc_address_format_124',
    "!company\r\n".
    "!first_name !last_name\r\n".
    "!street1\r\n".
    "!street2\r\n".
    "!city, !postal_code\r\n".
    "!zone_name, !country_name"
  );
}

function canada_update($version) {
  switch ($version) {
    case 2:

      // Rename zone
      db_update('uc_zones')
        ->fields(array('zone_name' => 'Newfoundland and Labrador', 'zone_code' => 'NL'))
        ->condition('zone_country_id', 124)
        ->condition('zone_code', 'NF')
        ->execute();

      break;
  }
}
