<?php

/**
 * Implements hook_install() using the name of the country as the base of
 * the function name.
 */
function libya_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' => 434,
      'country_name' => 'Libya',
      'country_iso_code_2' => 'LY',
      'country_iso_code_3' => 'LBY',
      'version' => 2,
    ))
    ->execute();

  // Make the entries in the zones table.
  $zones = array(
    array(434, 'LY-BU', 'Al Buţnān'),
    array(434, 'LY-JA', 'Al Jabal al Akhḑar'),
    array(434, 'LY-JG', 'Al Jabal al Gharbī'),
    array(434, 'LY-JI', 'Al Jifārah'),
    array(434, 'LY-JU', 'Al Jufrah'),
    array(434, 'LY-KF', 'Al Kufrah'),
    array(434, 'LY-MJ', 'Al Marj'),
    array(434, 'LY-MB', 'Al Marqab'),
    array(434, 'LY-WA', 'Al Wāḩāt'),
    array(434, 'LY-NQ', 'An Nuqaţ al Khams'),
    array(434, 'LY-ZA', 'Az Zāwiyah'),
    array(434, 'LY-BA', 'Banghāzī'),
    array(434, 'LY-DR', 'Darnah'),
    array(434, 'LY-GT', 'Ghāt'),
    array(434, 'LY-MI', 'Mişrātah'),
    array(434, 'LY-MQ', 'Murzuq'),
    array(434, 'LY-NL', 'Nālūt'),
    array(434, 'LY-SB', 'Sabhā'),
    array(434, 'LY-SR', 'Surt'),
    array(434, 'LY-TB', 'Tarābulus'),
    array(434, 'LY-WD', 'Wādī al Ḩayāt'),
    array(434, 'LY-WS', 'Wādī ash Shāţiʾ'),
  );

  $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
  uc_set_address_format(
    434,
    "!company\r\n" .
    "!first_name !last_name\r\n" .
    "!street1\r\n" .
    "!street2\r\n" .
    "!city, !zone_name  !postal_code\r\n" .
    "!country_name_if"
  );
}

/**
 * Implements hook_update() with $version being the only argument.
 * Add a new case for each version update, and be sure to always include the
 * latest changes in the install function.
 */
function libya_update($version) {
  switch ($version) {
    case 2:
      // Correct ISO-3166-1 country name
      db_update('uc_countries')
        ->fields(array('country_name' => 'Libya'))
        ->condition('country_id', 434)
        ->execute();

      break;
  }
}
