| Total Complexity | 5 |
| Total Lines | 296 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | <?php |
||
| 12 | class DBCountry extends DBVarchar |
||
| 13 | { |
||
| 14 | /** |
||
| 15 | * @link http://country.io/phone.json |
||
| 16 | * @var array<string,string> |
||
| 17 | */ |
||
| 18 | protected static $prefixes = [ |
||
| 19 | "BD" => "880", |
||
| 20 | "BE" => "32", |
||
| 21 | "BF" => "226", |
||
| 22 | "BG" => "359", |
||
| 23 | "BA" => "387", |
||
| 24 | "BB" => "1-246", |
||
| 25 | "WF" => "681", |
||
| 26 | "BL" => "590", |
||
| 27 | "BM" => "1-441", |
||
| 28 | "BN" => "673", |
||
| 29 | "BO" => "591", |
||
| 30 | "BH" => "973", |
||
| 31 | "BI" => "257", |
||
| 32 | "BJ" => "229", |
||
| 33 | "BT" => "975", |
||
| 34 | "JM" => "1-876", |
||
| 35 | "BV" => "", |
||
| 36 | "BW" => "267", |
||
| 37 | "WS" => "685", |
||
| 38 | "BQ" => "599", |
||
| 39 | "BR" => "55", |
||
| 40 | "BS" => "1-242", |
||
| 41 | "JE" => "44-1534", |
||
| 42 | "BY" => "375", |
||
| 43 | "BZ" => "501", |
||
| 44 | "RU" => "7", |
||
| 45 | "RW" => "250", |
||
| 46 | "RS" => "381", |
||
| 47 | "TL" => "670", |
||
| 48 | "RE" => "262", |
||
| 49 | "TM" => "993", |
||
| 50 | "TJ" => "992", |
||
| 51 | "RO" => "40", |
||
| 52 | "TK" => "690", |
||
| 53 | "GW" => "245", |
||
| 54 | "GU" => "1-671", |
||
| 55 | "GT" => "502", |
||
| 56 | "GS" => "", |
||
| 57 | "GR" => "30", |
||
| 58 | "GQ" => "240", |
||
| 59 | "GP" => "590", |
||
| 60 | "JP" => "81", |
||
| 61 | "GY" => "592", |
||
| 62 | "GG" => "44-1481", |
||
| 63 | "GF" => "594", |
||
| 64 | "GE" => "995", |
||
| 65 | "GD" => "1-473", |
||
| 66 | "GB" => "44", |
||
| 67 | "GA" => "241", |
||
| 68 | "SV" => "503", |
||
| 69 | "GN" => "224", |
||
| 70 | "GM" => "220", |
||
| 71 | "GL" => "299", |
||
| 72 | "GI" => "350", |
||
| 73 | "GH" => "233", |
||
| 74 | "OM" => "968", |
||
| 75 | "TN" => "216", |
||
| 76 | "JO" => "962", |
||
| 77 | "HR" => "385", |
||
| 78 | "HT" => "509", |
||
| 79 | "HU" => "36", |
||
| 80 | "HK" => "852", |
||
| 81 | "HN" => "504", |
||
| 82 | "HM" => "", |
||
| 83 | "VE" => "58", |
||
| 84 | "PR" => "1-787", |
||
| 85 | "PS" => "970", |
||
| 86 | "PW" => "680", |
||
| 87 | "PT" => "351", |
||
| 88 | "SJ" => "47", |
||
| 89 | "PY" => "595", |
||
| 90 | "IQ" => "964", |
||
| 91 | "PA" => "507", |
||
| 92 | "PF" => "689", |
||
| 93 | "PG" => "675", |
||
| 94 | "PE" => "51", |
||
| 95 | "PK" => "92", |
||
| 96 | "PH" => "63", |
||
| 97 | "PN" => "870", |
||
| 98 | "PL" => "48", |
||
| 99 | "PM" => "508", |
||
| 100 | "ZM" => "260", |
||
| 101 | "EH" => "212", |
||
| 102 | "EE" => "372", |
||
| 103 | "EG" => "20", |
||
| 104 | "ZA" => "27", |
||
| 105 | "EC" => "593", |
||
| 106 | "IT" => "39", |
||
| 107 | "VN" => "84", |
||
| 108 | "SB" => "677", |
||
| 109 | "ET" => "251", |
||
| 110 | "SO" => "252", |
||
| 111 | "ZW" => "263", |
||
| 112 | "SA" => "966", |
||
| 113 | "ES" => "34", |
||
| 114 | "ER" => "291", |
||
| 115 | "ME" => "382", |
||
| 116 | "MD" => "373", |
||
| 117 | "MG" => "261", |
||
| 118 | "MF" => "590", |
||
| 119 | "MA" => "212", |
||
| 120 | "MC" => "377", |
||
| 121 | "UZ" => "998", |
||
| 122 | "MM" => "95", |
||
| 123 | "ML" => "223", |
||
| 124 | "MO" => "853", |
||
| 125 | "MN" => "976", |
||
| 126 | "MH" => "692", |
||
| 127 | "MK" => "389", |
||
| 128 | "MU" => "230", |
||
| 129 | "MT" => "356", |
||
| 130 | "MW" => "265", |
||
| 131 | "MV" => "960", |
||
| 132 | "MQ" => "596", |
||
| 133 | "MP" => "1-670", |
||
| 134 | "MS" => "1-664", |
||
| 135 | "MR" => "222", |
||
| 136 | "IM" => "44-1624", |
||
| 137 | "UG" => "256", |
||
| 138 | "TZ" => "255", |
||
| 139 | "MY" => "60", |
||
| 140 | "MX" => "52", |
||
| 141 | "IL" => "972", |
||
| 142 | "FR" => "33", |
||
| 143 | "IO" => "246", |
||
| 144 | "SH" => "290", |
||
| 145 | "FI" => "358", |
||
| 146 | "FJ" => "679", |
||
| 147 | "FK" => "500", |
||
| 148 | "FM" => "691", |
||
| 149 | "FO" => "298", |
||
| 150 | "NI" => "505", |
||
| 151 | "NL" => "31", |
||
| 152 | "NO" => "47", |
||
| 153 | "NA" => "264", |
||
| 154 | "VU" => "678", |
||
| 155 | "NC" => "687", |
||
| 156 | "NE" => "227", |
||
| 157 | "NF" => "672", |
||
| 158 | "NG" => "234", |
||
| 159 | "NZ" => "64", |
||
| 160 | "NP" => "977", |
||
| 161 | "NR" => "674", |
||
| 162 | "NU" => "683", |
||
| 163 | "CK" => "682", |
||
| 164 | "XK" => "", |
||
| 165 | "CI" => "225", |
||
| 166 | "CH" => "41", |
||
| 167 | "CO" => "57", |
||
| 168 | "CN" => "86", |
||
| 169 | "CM" => "237", |
||
| 170 | "CL" => "56", |
||
| 171 | "CC" => "61", |
||
| 172 | "CA" => "1", |
||
| 173 | "CG" => "242", |
||
| 174 | "CF" => "236", |
||
| 175 | "CD" => "243", |
||
| 176 | "CZ" => "420", |
||
| 177 | "CY" => "357", |
||
| 178 | "CX" => "61", |
||
| 179 | "CR" => "506", |
||
| 180 | "CW" => "599", |
||
| 181 | "CV" => "238", |
||
| 182 | "CU" => "53", |
||
| 183 | "SZ" => "268", |
||
| 184 | "SY" => "963", |
||
| 185 | "SX" => "599", |
||
| 186 | "KG" => "996", |
||
| 187 | "KE" => "254", |
||
| 188 | "SS" => "211", |
||
| 189 | "SR" => "597", |
||
| 190 | "KI" => "686", |
||
| 191 | "KH" => "855", |
||
| 192 | "KN" => "1-869", |
||
| 193 | "KM" => "269", |
||
| 194 | "ST" => "239", |
||
| 195 | "SK" => "421", |
||
| 196 | "KR" => "82", |
||
| 197 | "SI" => "386", |
||
| 198 | "KP" => "850", |
||
| 199 | "KW" => "965", |
||
| 200 | "SN" => "221", |
||
| 201 | "SM" => "378", |
||
| 202 | "SL" => "232", |
||
| 203 | "SC" => "248", |
||
| 204 | "KZ" => "7", |
||
| 205 | "KY" => "1-345", |
||
| 206 | "SG" => "65", |
||
| 207 | "SE" => "46", |
||
| 208 | "SD" => "249", |
||
| 209 | "DO" => "1-809", |
||
| 210 | "DM" => "1-767", |
||
| 211 | "DJ" => "253", |
||
| 212 | "DK" => "45", |
||
| 213 | "VG" => "1-284", |
||
| 214 | "DE" => "49", |
||
| 215 | "YE" => "967", |
||
| 216 | "DZ" => "213", |
||
| 217 | "US" => "1", |
||
| 218 | "UY" => "598", |
||
| 219 | "YT" => "262", |
||
| 220 | "UM" => "1", |
||
| 221 | "LB" => "961", |
||
| 222 | "LC" => "1-758", |
||
| 223 | "LA" => "856", |
||
| 224 | "TV" => "688", |
||
| 225 | "TW" => "886", |
||
| 226 | "TT" => "1-868", |
||
| 227 | "TR" => "90", |
||
| 228 | "LK" => "94", |
||
| 229 | "LI" => "423", |
||
| 230 | "LV" => "371", |
||
| 231 | "TO" => "676", |
||
| 232 | "LT" => "370", |
||
| 233 | "LU" => "352", |
||
| 234 | "LR" => "231", |
||
| 235 | "LS" => "266", |
||
| 236 | "TH" => "66", |
||
| 237 | "TF" => "", |
||
| 238 | "TG" => "228", |
||
| 239 | "TD" => "235", |
||
| 240 | "TC" => "1-649", |
||
| 241 | "LY" => "218", |
||
| 242 | "VA" => "379", |
||
| 243 | "VC" => "1-784", |
||
| 244 | "AE" => "971", |
||
| 245 | "AD" => "376", |
||
| 246 | "AG" => "1-268", |
||
| 247 | "AF" => "93", |
||
| 248 | "AI" => "1-264", |
||
| 249 | "VI" => "1-340", |
||
| 250 | "IS" => "354", |
||
| 251 | "IR" => "98", |
||
| 252 | "AM" => "374", |
||
| 253 | "AL" => "355", |
||
| 254 | "AO" => "244", |
||
| 255 | "AQ" => "", |
||
| 256 | "AS" => "1-684", |
||
| 257 | "AR" => "54", |
||
| 258 | "AU" => "61", |
||
| 259 | "AT" => "43", |
||
| 260 | "AW" => "297", |
||
| 261 | "IN" => "91", |
||
| 262 | "AX" => "358-18", |
||
| 263 | "AZ" => "994", |
||
| 264 | "IE" => "353", |
||
| 265 | "ID" => "62", |
||
| 266 | "UA" => "380", |
||
| 267 | "QA" => "974", |
||
| 268 | "MZ" => "258" |
||
| 269 | ]; |
||
| 270 | |||
| 271 | /** |
||
| 272 | * @param string $name |
||
| 273 | * @param array<mixed> $options |
||
| 274 | */ |
||
| 275 | public function __construct($name = null, $options = []) |
||
| 276 | { |
||
| 277 | parent::__construct($name, 2, $options); |
||
| 278 | } |
||
| 279 | |||
| 280 | /** |
||
| 281 | * @param string $title |
||
| 282 | * @param array<mixed> $params |
||
| 283 | * @return CountryDropdownField |
||
| 284 | */ |
||
| 285 | public function scaffoldFormField($title = null, $params = null) |
||
| 286 | { |
||
| 287 | $field = CountryDropdownField::create($this->name, $title); |
||
| 288 | return $field; |
||
| 289 | } |
||
| 290 | |||
| 291 | /** |
||
| 292 | * @return string |
||
| 293 | */ |
||
| 294 | public function getCountryName() |
||
| 297 | } |
||
| 298 | |||
| 299 | /** |
||
| 300 | * @return string the prefix, without + |
||
| 301 | */ |
||
| 302 | public function getCountryPhonePrefix() |
||
| 308 | } |
||
| 309 | } |
||
| 310 |