india_356_3.cif 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <?php
  2. /**
  3. * Implements hook_install() using the name of the country as the base of
  4. * the function name.
  5. */
  6. function india_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' => 356,
  12. 'country_name' => 'India',
  13. 'country_iso_code_2' => 'IN',
  14. 'country_iso_code_3' => 'IND',
  15. 'version' => 3,
  16. ))
  17. ->execute();
  18. // Make the entries in the zones table.
  19. $zones = array(
  20. array(356, 'AN', 'Andaman and Nicobar'),
  21. array(356, 'AP', 'Andhra Pradesh'),
  22. array(356, 'AR', 'Arunachal Pradesh'),
  23. array(356, 'AS', 'Assam'),
  24. array(356, 'BR', 'Bihar'),
  25. array(356, 'CH', 'Chandigarh'),
  26. array(356, 'CT', 'Chhattisgarh'),
  27. array(356, 'DN', 'Dadra and Nagar Haveli'),
  28. array(356, 'DD', 'Daman and Diu'),
  29. array(356, 'DL', 'Delhi'),
  30. array(356, 'GA', 'Goa'),
  31. array(356, 'GJ', 'Gujarat'),
  32. array(356, 'HR', 'Haryana'),
  33. array(356, 'HP', 'Himachal Pradesh'),
  34. array(356, 'JK', 'Jammu and Kashmir'),
  35. array(356, 'JH', 'Jharkhand'),
  36. array(356, 'KA', 'Karnataka'),
  37. array(356, 'KL', 'Kerala'),
  38. array(356, 'LD', 'Lakshadweep'),
  39. array(356, 'MP', 'Madhya Pradesh'),
  40. array(356, 'MH', 'Maharashtra'),
  41. array(356, 'MN', 'Manipur'),
  42. array(356, 'ML', 'Meghalaya'),
  43. array(356, 'MZ', 'Mizoram'),
  44. array(356, 'NL', 'Nagaland'),
  45. array(356, 'OR', 'Odisha'),
  46. array(356, 'PY', 'Puducherry'),
  47. array(356, 'PB', 'Punjab'),
  48. array(356, 'RJ', 'Rajasthan'),
  49. array(356, 'SK', 'Sikkim'),
  50. array(356, 'TG', 'Telangana'),
  51. array(356, 'TN', 'Tamil Nadu'),
  52. array(356, 'TR', 'Tripura'),
  53. array(356, 'UT', 'Uttarakhand'),
  54. array(356, 'UP', 'Uttar Pradesh'),
  55. array(356, 'WB', 'West Bengal'),
  56. );
  57. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  58. foreach ($zones as $zone) {
  59. $query->values($zone);
  60. }
  61. $query->execute();
  62. // Set address format
  63. uc_set_address_format(
  64. 356,
  65. "!company\r\n" .
  66. "!first_name !last_name\r\n" .
  67. "!street1\r\n" .
  68. "!street2\r\n" .
  69. "!city - !postal_code\r\n" .
  70. "!zone_code\r\n" .
  71. "!country_name_if"
  72. );
  73. }
  74. /**
  75. * Implements hook_update() with $version being the only argument.
  76. * Add a new case for each version update, and be sure to always include the
  77. * latest changes in the install function.
  78. */
  79. function india_update($version) {
  80. switch ($version) {
  81. case 2:
  82. // Add some missing zones
  83. $zones = array(
  84. array(356, 'LD', 'Lakshadweep'),
  85. array(356, 'PY', 'Puducherry'),
  86. );
  87. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  88. foreach ($zones as $zone) {
  89. $query->values($zone);
  90. }
  91. $query->execute();
  92. // Correct zone name misspelling and ISO-3166-2 code
  93. db_update('uc_zones')
  94. ->fields(array('zone_name' => 'Chhattisgarh', 'zone_code' => 'CT'))
  95. ->condition('zone_country_id', 356)
  96. ->condition('zone_code', 'CG')
  97. ->execute();
  98. // Replace ampersand with 'and' for consistency within .cif
  99. // and for agreement with ISO-3166-2
  100. db_update('uc_zones')
  101. ->fields(array('zone_name' => 'Jammu and Kashmir', 'zone_code' => 'JK'))
  102. ->condition('zone_country_id', 356)
  103. ->condition('zone_code', 'JK')
  104. ->execute();
  105. db_update('uc_zones')
  106. ->fields(array('zone_name' => 'Andaman and Nicobar', 'zone_code' => 'AN'))
  107. ->condition('zone_country_id', 356)
  108. ->condition('zone_code', 'AN')
  109. ->execute();
  110. db_update('uc_zones')
  111. ->fields(array('zone_name' => 'Daman and Diu', 'zone_code' => 'DD'))
  112. ->condition('zone_country_id', 356)
  113. ->condition('zone_code', 'DD')
  114. ->execute();
  115. // Correct ISO-3166-2 code
  116. db_update('uc_zones')
  117. ->fields(array('zone_name' => 'Uttarakhand', 'zone_code' => 'UL'))
  118. ->condition('zone_country_id', 356)
  119. ->condition('zone_code', 'UA')
  120. ->execute();
  121. break;
  122. case 3:
  123. // Add some missing zones
  124. $zones = array(
  125. array(356, 'TG', 'Telangana'),
  126. );
  127. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  128. foreach ($zones as $zone) {
  129. $query->values($zone);
  130. }
  131. $query->execute();
  132. // Correct zone name
  133. db_update('uc_zones')
  134. ->fields(array('zone_name' => 'Odisha', 'zone_code' => 'OR'))
  135. ->condition('zone_country_id', 356)
  136. ->condition('zone_code', 'OR')
  137. ->execute();
  138. // Correct ISO-3166-2 code
  139. db_update('uc_zones')
  140. ->fields(array('zone_name' => 'Uttarakhand', 'zone_code' => 'UT'))
  141. ->condition('zone_country_id', 356)
  142. ->condition('zone_code', 'UL')
  143. ->execute();
  144. break;
  145. }
  146. }