bahrain_48_3.cif 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132
  1. <?php
  2. /**
  3. * Implements hook_install() using the name of the country as the base of
  4. * the function name.
  5. */
  6. function bahrain_install() {
  7. // Make the entry in the country table.
  8. // VALUES = Country ID, Country Name, 2-digit Code, 3-digit Code, File Version
  9. db_insert('uc_countries')
  10. ->fields(array(
  11. 'country_id' => 48,
  12. 'country_name' => 'Bahrain',
  13. 'country_iso_code_2' => 'BH',
  14. 'country_iso_code_3' => 'BHR',
  15. 'version' => 3,
  16. ))
  17. ->execute();
  18. // Make the entries in the zones table.
  19. $zones = array(
  20. array(48, 'BH-13', 'Al Manamah'),
  21. array(48, 'BH-14', 'Al Janubiyah'),
  22. array(48, 'BH-15', 'Al Muharraq'),
  23. array(48, 'BH-16', 'Al Wusta'),
  24. array(48, 'BH-17', 'Ash Shamaliyah'),
  25. );
  26. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  27. foreach ($zones as $zone) {
  28. $query->values($zone);
  29. }
  30. $query->execute();
  31. // Set address format
  32. uc_set_address_format(
  33. 48,
  34. "!company\r\n".
  35. "!first_name !last_name\r\n".
  36. "!street1 !street2\r\n".
  37. "!zone_name !postal_code\r\n".
  38. "!country_name_if"
  39. );
  40. }
  41. function bahrain_update($version) {
  42. switch ($version) {
  43. case 3:
  44. // Correct ISO-3166-2 and ISO-3166-3 codes
  45. db_update('uc_countries')
  46. ->fields(array('country_iso_code_2' => 'BH', 'country_iso_code_3' => 'BHR'))
  47. ->condition('country_id', 48)
  48. ->execute();
  49. // Remove old obsolete zones
  50. db_delete('uc_zones')
  51. ->condition(db_and()
  52. ->condition('zone_country_id', 48)
  53. ->condition('zone_code', 'AHD'))
  54. ->execute();
  55. db_delete('uc_zones')
  56. ->condition(db_and()
  57. ->condition('zone_country_id', 48)
  58. ->condition('zone_code', 'AMG'))
  59. ->execute();
  60. db_delete('uc_zones')
  61. ->condition(db_and()
  62. ->condition('zone_country_id', 48)
  63. ->condition('zone_code', 'JHA'))
  64. ->execute();
  65. db_delete('uc_zones')
  66. ->condition(db_and()
  67. ->condition('zone_country_id', 48)
  68. ->condition('zone_code', 'STH'))
  69. ->execute();
  70. db_delete('uc_zones')
  71. ->condition(db_and()
  72. ->condition('zone_country_id', 48)
  73. ->condition('zone_code', 'MAT'))
  74. ->execute();
  75. db_delete('uc_zones')
  76. ->condition(db_and()
  77. ->condition('zone_country_id', 48)
  78. ->condition('zone_code', 'ARR'))
  79. ->execute();
  80. db_delete('uc_zones')
  81. ->condition(db_and()
  82. ->condition('zone_country_id', 48)
  83. ->condition('zone_code', 'AMJ'))
  84. ->execute();
  85. db_delete('uc_zones')
  86. ->condition(db_and()
  87. ->condition('zone_country_id', 48)
  88. ->condition('zone_code', 'MAH'))
  89. ->execute();
  90. // Add some new zones
  91. $zones = array(
  92. array(48, 'BH-14', 'Al Janubiyah'),
  93. );
  94. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  95. foreach ($zones as $zone) {
  96. $query->values($zone);
  97. }
  98. $query->execute();
  99. // Rename remaining zones
  100. db_update('uc_zones')
  101. ->fields(array('zone_name' => 'Al Manamah', 'zone_code' => 'BH-13'))
  102. ->condition('zone_country_id', 48)
  103. ->condition('zone_code', 'AMH')
  104. ->execute();
  105. db_update('uc_zones')
  106. ->fields(array('zone_name' => 'Al Muharraq', 'zone_code' => 'BH-15'))
  107. ->condition('zone_country_id', 48)
  108. ->condition('zone_code', 'AMQ')
  109. ->execute();
  110. db_update('uc_zones')
  111. ->fields(array('zone_name' => 'Al Wusta', 'zone_code' => 'BH-16'))
  112. ->condition('zone_country_id', 48)
  113. ->condition('zone_code', 'AMW')
  114. ->execute();
  115. db_update('uc_zones')
  116. ->fields(array('zone_name' => 'Ash Shamaliyah', 'zone_code' => 'BH-17'))
  117. ->condition('zone_country_id', 48)
  118. ->condition('zone_code', 'AMS')
  119. ->execute();
  120. break;
  121. }
  122. }