india_356_2.cif 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  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' => 2,
  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', 'Orissa'),
  46. array(356, 'PY', 'Puducherry'),
  47. array(356, 'PB', 'Punjab'),
  48. array(356, 'RJ', 'Rajasthan'),
  49. array(356, 'SK', 'Sikkim'),
  50. array(356, 'TN', 'Tamil Nadu'),
  51. array(356, 'TR', 'Tripura'),
  52. array(356, 'UL', 'Uttarakhand'),
  53. array(356, 'UP', 'Uttar Pradesh'),
  54. array(356, 'WB', 'West Bengal'),
  55. );
  56. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  57. foreach ($zones as $zone) {
  58. $query->values($zone);
  59. }
  60. $query->execute();
  61. // Set address format
  62. uc_set_address_format(
  63. 356,
  64. "!company\r\n".
  65. "!first_name !last_name\r\n".
  66. "!street1\r\n".
  67. "!street2\r\n".
  68. "!city - !postal_code\r\n".
  69. "!zone_code\r\n".
  70. "!country_name_if"
  71. );
  72. }
  73. function india_update($version) {
  74. switch ($version) {
  75. case 2:
  76. // Add some missing zones
  77. $zones = array(
  78. array(356, 'LD', 'Lakshadweep'),
  79. array(356, 'PY', 'Puducherry'),
  80. );
  81. $query = db_insert('uc_zones')->fields(array('zone_country_id', 'zone_code', 'zone_name'));
  82. foreach ($zones as $zone) {
  83. $query->values($zone);
  84. }
  85. $query->execute();
  86. // Correct zone name misspelling and ISO-3166-2 code
  87. db_update('uc_zones')
  88. ->fields(array('zone_name' => 'Chhattisgarh', 'zone_code' => 'CT'))
  89. ->condition('zone_country_id', 356)
  90. ->condition('zone_code', 'CG')
  91. ->execute();
  92. // Replace ampersand with 'and' for consistency within .cif
  93. // and for agreement with ISO-3166-2
  94. db_update('uc_zones')
  95. ->fields(array('zone_name' => 'Jammu and Kashmir', 'zone_code' => 'JK'))
  96. ->condition('zone_country_id', 356)
  97. ->condition('zone_code', 'JK')
  98. ->execute();
  99. db_update('uc_zones')
  100. ->fields(array('zone_name' => 'Andaman and Nicobar', 'zone_code' => 'AN'))
  101. ->condition('zone_country_id', 356)
  102. ->condition('zone_code', 'AN')
  103. ->execute();
  104. db_update('uc_zones')
  105. ->fields(array('zone_name' => 'Daman and Diu', 'zone_code' => 'DD'))
  106. ->condition('zone_country_id', 356)
  107. ->condition('zone_code', 'DD')
  108. ->execute();
  109. // Correct ISO-3166-2 code
  110. db_update('uc_zones')
  111. ->fields(array('zone_name' => 'Uttarakhand', 'zone_code' => 'UL'))
  112. ->condition('zone_country_id', 356)
  113. ->condition('zone_code', 'UA')
  114. ->execute();
  115. break;
  116. }
  117. }