bahrain_48_3.cif 4.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137
  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. /**
  42. * Implements hook_update() with $version being the only argument.
  43. * Add a new case for each version update, and be sure to always include the
  44. * latest changes in the install function.
  45. */
  46. function bahrain_update($version) {
  47. switch ($version) {
  48. case 3:
  49. // Correct ISO-3166-2 and ISO-3166-3 codes
  50. db_update('uc_countries')
  51. ->fields(array('country_iso_code_2' => 'BH', 'country_iso_code_3' => 'BHR'))
  52. ->condition('country_id', 48)
  53. ->execute();
  54. // Remove old obsolete zones
  55. db_delete('uc_zones')
  56. ->condition(db_and()
  57. ->condition('zone_country_id', 48)
  58. ->condition('zone_code', 'AHD'))
  59. ->execute();
  60. db_delete('uc_zones')
  61. ->condition(db_and()
  62. ->condition('zone_country_id', 48)
  63. ->condition('zone_code', 'AMG'))
  64. ->execute();
  65. db_delete('uc_zones')
  66. ->condition(db_and()
  67. ->condition('zone_country_id', 48)
  68. ->condition('zone_code', 'JHA'))
  69. ->execute();
  70. db_delete('uc_zones')
  71. ->condition(db_and()
  72. ->condition('zone_country_id', 48)
  73. ->condition('zone_code', 'STH'))
  74. ->execute();
  75. db_delete('uc_zones')
  76. ->condition(db_and()
  77. ->condition('zone_country_id', 48)
  78. ->condition('zone_code', 'MAT'))
  79. ->execute();
  80. db_delete('uc_zones')
  81. ->condition(db_and()
  82. ->condition('zone_country_id', 48)
  83. ->condition('zone_code', 'ARR'))
  84. ->execute();
  85. db_delete('uc_zones')
  86. ->condition(db_and()
  87. ->condition('zone_country_id', 48)
  88. ->condition('zone_code', 'AMJ'))
  89. ->execute();
  90. db_delete('uc_zones')
  91. ->condition(db_and()
  92. ->condition('zone_country_id', 48)
  93. ->condition('zone_code', 'MAH'))
  94. ->execute();
  95. // Add some new zones
  96. $zones = array(
  97. array(48, 'BH-14', 'Al Janubiyah'),
  98. );
  99. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  100. foreach ($zones as $zone) {
  101. $query->values($zone);
  102. }
  103. $query->execute();
  104. // Rename remaining zones
  105. db_update('uc_zones')
  106. ->fields(array('zone_name' => 'Al Manamah', 'zone_code' => 'BH-13'))
  107. ->condition('zone_country_id', 48)
  108. ->condition('zone_code', 'AMH')
  109. ->execute();
  110. db_update('uc_zones')
  111. ->fields(array('zone_name' => 'Al Muharraq', 'zone_code' => 'BH-15'))
  112. ->condition('zone_country_id', 48)
  113. ->condition('zone_code', 'AMQ')
  114. ->execute();
  115. db_update('uc_zones')
  116. ->fields(array('zone_name' => 'Al Wusta', 'zone_code' => 'BH-16'))
  117. ->condition('zone_country_id', 48)
  118. ->condition('zone_code', 'AMW')
  119. ->execute();
  120. db_update('uc_zones')
  121. ->fields(array('zone_name' => 'Ash Shamaliyah', 'zone_code' => 'BH-17'))
  122. ->condition('zone_country_id', 48)
  123. ->condition('zone_code', 'AMS')
  124. ->execute();
  125. break;
  126. }
  127. }