"AF", "Aland Islands" => "AX", "Albania" => "AL", "Algeria" => "DZ", "American Samoa" => "AS", "Andorra" => "AD", "Angola" => "AO", "Anguilla" => "AI", "Antarctica" => "AQ", "Antigua and Barbuda" => "AG", "Argentina" => "AR", "Armenia" => "AM", "Aruba" => "AW", "Ascension Island" => "AC", "Australia" => "AU", "Austria" => "AT", "Azerbaijan" => "AZ", "Bahamas" => "BS", "Bahrain" => "BH", "Bangladesh" => "BD", "Barbados" => "BB", "Belarus" => "BY", "Belgium" => "BE", "Belize" => "BZ", "Benin" => "BJ", "Bermuda" => "BM", "Bhutan" => "BT", "Bolivia" => "BO", "Bosnia and Herzegovina" => "BA", "Botswana" => "BW", "Bouvet Island" => "BV", "Brazil" => "BR", "British Indian Ocean Territory" => "IO", "British Virgin Islands" => "VG", "Brunei" => "BN", "Bulgaria" => "BG", "Burkina Faso" => "BF", "Burundi" => "BI", "Cambodia" => "KH", "Cameroon" => "CM", "Canada" => "CA", "Canary Islands" => "IC", "Cape Verde" => "CV", "Caribbean Netherlands" => "BQ", "Cayman Islands" => "KY", "Central African Republic" => "CF", "Ceuta and Melilla" => "EA", "Chad" => "TD", "Chile" => "CL", "China" => "CN", "Christmas Island" => "CX", "Clipperton Island" => "CP", "Cocos (Keeling) Islands" => "CC", "Colombia" => "CO", "Comoros" => "KM", "Congo (DRC)" => "CD", "Congo (Republic)" => "CG", "Cook Islands" => "CK", "Costa Rica" => "CR", "Côte d’Ivoire" => "CI", "Croatia" => "HR", "Cuba" => "CU", "Curaçao" => "CW", "Cyprus" => "CY", "Czech Republic" => "CZ", "Denmark (Danmark)" => "DK", "Diego Garcia" => "DG", "Djibouti" => "DJ", "Dominica" => "DM", "Dominican Republic" => "DO", "Ecuador" => "EC", "Egypt" => "EG", "El Salvador" => "SV", "Equatorial Guinea" => "GQ", "Eritrea" => "ER", "Estonia" => "EE", "Ethiopia" => "ET", "Falkland Islands" => "FK", "Faroe Islands" => "FO", "Fiji" => "FJ", "Finland" => "FI", "France" => "FR", "French Guiana" => "GF", "French Polynesia" => "PF", "French Southern Territories" => "TF", "Gabon" => "GA", "Gambia" => "GM", "Georgia" => "GE", "Germany" => "DE", "Ghana" => "GH", "Gibraltar" => "GI", "Greece" => "GR", "Greenland" => "GL", "Grenada" => "GD", "Guadeloupe" => "GP", "Guam" => "GU", "Guatemala" => "GT", "Guernsey" => "GG", "Guinea" => "GN", "Guinea-Bissau" => "GW", "Guyana" => "GY", "Haiti" => "HT", "Heard & McDonald Islands" => "HM", "Honduras" => "HN", "Hong Kong" => "HK", "Hungary" => "HU", "Iceland" => "IS", "India" => "IN", "Indonesia" => "ID", "Iran" => "IR", "Iraq" => "IQ", "Ireland" => "IE", "Isle of Man" => "IM", "Israel" => "IL", "Italy" => "IT", "Jamaica" => "JM", "Japan" => "JP", "Jersey" => "JE", "Jordan" => "JO", "Kazakhstan" => "KZ", "Kenya" => "KE", "Kiribati" => "KI", "Kosovo" => "XK", "Kuwait" => "KW", "Kyrgyzstan" => "KG", "Laos" => "LA", "Latvia" => "LV", "Lebanon" => "LB", "Lesotho" => "LS", "Liberia" => "LR", "Libya" => "LY", "Liechtenstein" => "LI", "Lithuania" => "LT", "Luxembourg" => "LU", "Macau" => "MO", "Macedonia (FYROM)" => "MK", "Madagascar" => "MG", "Malawi" => "MW", "Malaysia" => "MY", "Maldives" => "MV", "Mali" => "ML", "Malta" => "MT", "Marshall Islands" => "MH", "Martinique" => "MQ", "Mauritania" => "MR", "Mauritius" => "MU", "Mayotte" => "YT", "Mexico" => "MX", "Micronesia" => "FM", "Moldova" => "MD", "Monaco" => "MC", "Mongolia" => "MN", "Montenegro" => "ME", "Montserrat" => "MS", "Morocco" => "MA", "Mozambique" => "MZ", "Myanmar" => "MM", "Namibia" => "NA", "Nauru" => "NR", "Nepal" => "NP", "Netherlands" => "NL", "New Caledonia" => "NC", "New Zealand" => "NZ", "Nicaragua" => "NI", "Niger" => "NE", "Nigeria" => "NG", "Niue" => "NU", "Norfolk Island" => "NF", "Northern Mariana Islands" => "MP", "North Korea" => "KP", "Norway" => "NO", "Oman" => "OM", "Pakistan" => "PK", "Palau" => "PW", "Palestine" => "PS", "Panama" => "PA", "Papua New Guinea" => "PG", "Paraguay" => "PY", "Peru" => "PE", "Philippines" => "PH", "Pitcairn Islands" => "PN", "Poland" => "PL", "Portugal" => "PT", "Puerto Rico" => "PR", "Qatar" => "QA", "Réunion" => "RE", "Romania" => "RO", "Russia" => "RU", "Rwanda" => "RW", "Saint Barthélemy" => "BL", "Saint Helena" => "SH", "Saint Kitts and Nevis" => "KN", "Saint Lucia" => "LC", "Saint Martin" => "MF", "Saint Pierre and Miquelon" => "PM", "Samoa" => "WS", "San Marino" => "SM", "São Tomé and Príncipe" => "ST", "Saudi Arabia" => "SA", "Senegal" => "SN", "Serbia" => "RS", "Seychelles" => "SC", "Sierra Leone" => "SL", "Singapore" => "SG", "Sint Maarten" => "SX", "Slovakia" => "SK", "Slovenia" => "SI", "Solomon Islands" => "SB", "Somalia" => "SO", "South Africa" => "ZA", "South Georgia & South Sandwich Islands" => "GS", "South Korea" => "KR", "South Sudan" => "SS", "Spain" => "ES", "Sri Lanka" => "LK", "St. Vincent & Grenadines" => "VC", "Sudan" => "SD", "Suriname" => "SR", "Svalbard and Jan Mayen" => "SJ", "Swaziland" => "SZ", "Sweden" => "SE", "Switzerland" => "CH", "Syria" => "SY", "Taiwan" => "TW", "Tajikistan" => "TJ", "Tanzania" => "TZ", "Thailand" => "TH", "Timor-Leste" => "TL", "Togo" => "TG", "Tokelau" => "TK", "Tonga" => "TO", "Trinidad and Tobago" => "TT", "Tristan da Cunha" => "TA", "Tunisia" => "TN", "Turkey" => "TR", "Turkmenistan" => "TM", "Turks and Caicos Islands" => "TC", "Tuvalu" => "TV", "U.S. Outlying Islands" => "UM", "U.S. Virgin Islands" => "VI", "Uganda" => "UG", "Ukraine" => "UA", "United Arab Emirates" => "AE", "United Kingdom" => "GB", "United States" => "US", "Uruguay" => "UY", "Uzbekistan" => "UZ", "Vanuatu" => "VU", "Vatican City" => "VA", "Venezuela" => "VE", "Vietnam" => "VN", "Wallis and Futuna" => "WF", "Western Sahara" => "EH", "Yemen" => "YE", "Zambia" => "ZM", "Zimbabwe" => "ZW" ); public function GetLineItems() { $item = parent::GetLineItems()[0]; $addressParts = array(); $entry = $this->Entry->Value; if($entry->Address1 != '') { $addressParts[] = $entry->Address1; $item->ExValue1 = $entry->Address1; } if($entry->Address2 != '') { $addressParts[] = $entry->Address2; $item->ExValue2 = $entry->Address2; } if($entry->City != '') { $addressParts[] = $entry->City; $item->ExValue3 = $entry->City; } if($entry->State != '') { $addressParts[] = $entry->State; $item->ExValue4 = $entry->State;; } if($entry->Zip != '') { $addressParts[] = $entry->Zip; $item->ExValue5 = $entry->Zip; } if($entry->Country != '') { $addressParts[] = $entry->Country; $item->ExValue6 = $entry->Country; } $value = \implode(', ', $addressParts); $item->Value = $value; return array($item); } public function GetAddress1() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'Address1']); } public function GetAddress2() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'Address2']); } public function GetCity() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'City']); } public function GetState() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'State']); } public function GetZip() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'Zip']); } public function GetCountryCode() { $country = Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'Country']); if(isset($this->CountryCodes[$country])) return $this->CountryCodes[$country]; return ''; } public function GetCountry() { return Sanitizer::GetStringValueFromPath($this->Entry, ['Value', 'Country']); } public function GetSections() { $sections = []; $entry = $this->Entry->Value; if($entry->Address1 != '') { $sections[] = [$entry->Address1]; } if($entry->Address2 != '') { $sections[] = [$entry->Address2]; } $cityAndState = []; if($entry->City != '') { $cityAndState[] = $entry->City; } if($entry->State != '') { $cityAndState[] = $entry->State; } if(count($cityAndState) > 0) $sections[] = $cityAndState; if($entry->Zip != '') { $sections[] = [$entry->Zip]; } if($entry->Country != '') { $sections[] = [$entry->Country]; } return $sections; } public function InternalToText() { $value = ''; $addressParts = array(); $entry = $this->Entry->Value; if($entry->Address1 != '') { $addressParts[] = $entry->Address1; } if($entry->Address2 != '') { $addressParts[] = $entry->Address2; } if($entry->City != '') { $addressParts[] = $entry->City; } if($entry->State != '') { $addressParts[] = $entry->State; } if($entry->Zip != '') { $addressParts[] = $entry->Zip; } if($entry->Country != '') { $addressParts[] = $entry->Country; } return \implode(', ', $addressParts); } public function GetHTMLTemplate($context = null) { return "core/Managers/FormManager/Fields/FBAddressField.twig"; } public function GetSubSections() { return [ (object) ["PathId" => "Address1", "Column" => "exvalue1"], (object) ["PathId" => "Address2", "Column" => "exvalue2"], (object) ["PathId" => "City", "Column" => "exvalue3"], (object) ["PathId" => "State", "Column" => "exvalue4"], (object) ["PathId" => "Zip", "Column" => "exvalue5"], (object) ["PathId" => "Country", "Column" => "exvalue6"], ]; } }