For a more detailed explanation, view:
http://www.ubercart.org/docs/developer/252/country_import_files#structur...
example_country_999_2.cif:
<?php
// $Id$
/**
* First implement hook_install() using the name of the country as the base of
* the function name.
*/
function example_country_install() {
// Make the entry in the country table.
// VALUES = Country ID, Country Name, 2-digit Code, 3-digit Code, File Version
db_query("INSERT INTO {uc_countries} VALUES (999, 'Example Country', 'EC', 'EXC', 2)");
// Make the entries in the zones table. Use %d for the zone_id and the
// function uc_get_zone_ids($num) as the second argument for db_query() where
// $num is the number of zones in the INSERT query.
// VALUES = %d for ID, Parent Country ID, Zone Abbreviation, Zone Name
db_query("INSERT INTO {uc_zones} VALUES "
."(%d, 999, 'Z1', 'Zone 1'),"
."(%d, 999, 'Z2', 'Zone 2'),"
."(%d, 999, 'Z3', 'Zone 3')",
uc_get_zone_ids(3));
// Use uc_set_address_format() with the country ID as the first argument and
// an address format string as the second.
uc_set_address_format(999,
"!company\r\n!first_name !last_name\r\n!street1\r\n!street2"
."\r\n!city, !zone_code !postal_code\r\n!country_name_if");
}
/**
* If necessary, implement hook_update() with $version being the only argument.
* Add a new case for each version update, and be sure to always include the
* latest changes in the install function.
*/
function example_country_update($version) {
// Use a switch control block for easy file maintenance.
switch ($version) {
case 2:
// Obviously this would be replaced with actual update code.
drupal_set_message('Performing update 2.');
break;
}
}
/**
* If necessary, implement hook_uninstall(). This requires no argument. The
* store module automatically removes rows from the country and zones tables
* related to the country, and it unsets the address format. This function is
* only necessary for other things you may have included in your country's
* installation process.
*/
function example_country_uninstall() {
}
?>

