Convert ISO country code to MODx country code

Here is a simple function for converting the two character ISO code provided in the Foxycart XML datafeed to the id number of the country used by MODx.

function convert_iso($iso_country_code) {
    if (strlen($iso_country_code) != 2) { return ""; }
    $cc_arr = array('SHIM','AF','AL','DZ','AS','AD','AO','AI','AQ','AG','AR','AM',
            'AW','AU','AT','AZ','BS','BH','BD','BB','BY','BE','BZ','BJ','BM','BT',
            'BO','BA','BW','BV','BR','IO','BN','BG','BF','BI','KH','CM','CA','CV',
            'KY','CF','TD','CL','CN','CX','CC','CO','KM','CD','CK','CR','CI','HR',
            'CU','CY','CZ','DK','DJ','DM','DO','TL','EC','EG','SV','GQ','ER','EE',
            'ET','FK','FO','FJ','FI','FR','FR','GF','PF','TF','GA','GM','GE','DE',
            'GH','GI','GR','GL','GD','GP','GU','GT','GN','GW','GY','HT','HM','HN',
            'HK','HU','IS','IN','ID','IR','IQ','IE','IL','IT','JM','JP','JO','KZ',
            'KE','KI','KP','KR','KW','KG','LA','LV','LB','LS','LR','LY','LI','LT',
            'LU','MO','MK','MG','MW','MY','MV','ML','MT','MH','MQ','MR','MU','YT',
            'MX','FM','MD','MC','MN','MS','MA','MZ','MM','NA','NR','NP','NL','AN',
            'NC','NZ','NI','NE','NG','NU','NF','MP','NO','OM','PK','PW','PA','PG',
            'PY','PE','PH','PN','PL','PT','PR','QA','RE','RO','RU','RW','KN','LC',
            'VC','WS','SM','ST','SA','SN','SC','SL','SG','SK','SI','SB','SO','ZA',
            'GS','ES','LK','SH','PM','SD','SR','SJ','SZ','SE','CH','SY','TW','TJ',
            'TZ','TH','TG','TK','TO','TT','TN','TR','TM','TC','TV','UG','UA','AE',
            'GB','US','UM','UY','UZ','VU','VA','VE','VN','VG','VI','WF','EH','YE',
            'RS','CD','ZM','ZW','RS','ME');

    $id = array_search($iso_country_code,$cc_arr);
    if ($id) {
        return $id;
    }
    return "";
}

In the MODx build, you can find the code for each country in the folder:

manager/includes/lang/country

Site Tools