<?php

function libya_install() {
  // Make the entry in the country table.
  // VALUES = Country ID, Country Name, 2-digit Code, 3-digit Code, File Version
  db_query("INSERT INTO {uc_countries} (country_id, country_name, country_iso_code_2, country_iso_code_3, version) VALUES ('434', 'Libya', 'LY', 'LBY', 2)");

  // 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ʾ'),
  );

  foreach ($zones as $zone) {
    db_query("INSERT INTO {uc_zones} (zone_country_id, zone_code, zone_name) VALUES (%d, '%s', '%s')", $zone);
  }

  // Use uc_set_address_format() with the country ID as the first argument and
  // an address format string as the second.  Documentation on address formats
  // is available at:
  // http://www.ubercart.org/ubercart_users_guide/country_settings#address_format_docs
  uc_set_address_format(
    434,
    "!company\r\n".
    "!first_name !last_name\r\n".
    "!street1\r\n".
    "!street2\r\n".
    "!city, !zone_code !postal_code\r\n".
    "!country_name_if"
  );

}

function libya_update($version) {
  switch ($version) {
    case 2:
      // Correct ISO-3166-1 country name
      db_query("UPDATE {uc_countries} SET country_name = 'Libya' WHERE country_id = 434");
      break;
  }
}
