<?php
// $Id$

/**
 * Implements hook_install().
 */
function iran_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' => 364,
      'country_name' => 'Iran, Islamic Republic of',
      'country_iso_code_2' => 'IR',
      'country_iso_code_3' => 'IRN',
      'version' => 3,
    ))
    ->execute();

  // Make the entries in the zones table.
  $zones = array(
    array(364, 'AS', 'آذربایجان شرقی'),
    array(364, 'AG', 'آذربایجان غربی'),
    array(364, 'AR', 'اردبیل'),
    array(364, 'ES', 'اصفهان'),
    array(364, 'AL', 'البرز'),
    array(364, 'IL', 'ایلام'),
    array(364, 'BU', 'بوشهر'),
    array(364, 'TH', 'تهران'),
    array(364, 'CB', 'چهار محال بختیاری'),
    array(364, 'KH', 'خراسان جنوبی'),
    array(364, 'KH', 'خراسان رضوی'),
    array(364, 'KH', 'خراسان شمالی'),
    array(364, 'KZ', 'خوزستان'),
    array(364, 'ZN', 'زنجان'),
    array(364, 'SB', 'سیستان و بلوچستان'),
    array(364, 'SM', 'سمنان'),
    array(364, 'FR', 'فارس'),
    array(364, 'QZ', 'قزوین'),
    array(364, 'QM', 'قم'),
    array(364, 'KD', 'کردستان'),
    array(364, 'KR', 'کرمان'),
    array(364, 'KS', 'کرمانشاه'),
    array(364, 'KB', 'کهگیلویه و بویر احمد'),
    array(364, 'GL', 'گیلان'),
    array(364, 'GS', 'گلستان'),
    array(364, 'LR', 'لرستان'),
    array(364, 'MZ', 'مازندران'),
    array(364, 'MR', 'مرکزی'),
    array(364, 'HR', 'هرمزگان'),
    array(364, 'HM', 'همدان'),
    array(364, 'YZ', 'یزد'),
  );

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

function iran_update($version) {
  switch ($version) {
    case 2:
      // Correct ISO-3166-1 country name
      db_update('uc_countries')
        ->fields(array(
            'country_name' => 'Iran, Islamic Republic of',
            'country_iso_code_3' => 'IRN',
          ))
        ->condition('country_id', 364)
        ->execute();

      break;
    case 3:
      // Add the Alborz zone
      db_insert('uc_zones')
        ->fields(array(
          'zone_country_id' => 364,
          'zone_code' => 'AL',
          'zone_name' => 'البرز',
        ))
        ->execute();

      break;
  }
}
