depage-forms
v2.0.0
html forms made easy
Toggle main menu visibility
Loading...
Searching...
No Matches
State.php
Go to the documentation of this file.
1
<?php
2
9
10
namespace
Depage\HtmlForm\Elements;
11
36
class
State
extends
Single
37
{
41
protected
$list
= [];
42
48
public
static
function
getStates
(?array $iso =
null
): array
49
{
50
$country_states = [
51
// http://en.wikipedia.org/wiki/ISO_3166-2:DE
52
'de'
=> [
53
'de-bw'
=> _(
"Baden-Württemberg"
),
54
'de-by'
=> _(
"Bayern"
),
55
'de-be'
=> _(
"Berlin"
),
56
'de-bb'
=> _(
"Brandenburg"
),
57
'de-hb'
=> _(
"Bremen"
),
58
'de-hh'
=> _(
"Hamburg"
),
59
'de-he'
=> _(
"Hessen"
),
60
'de-mv'
=> _(
"Mecklenburg-Vorpommern"
),
61
'de-ni'
=> _(
"Niedersachsen"
),
62
'de-nw'
=> _(
"Nordrhein-Westfalen"
),
63
'de-rp'
=> _(
"Rheinland-Pfalz"
),
64
'de-sl'
=> _(
"Saarland"
),
65
'de-sn'
=> _(
"Sachsen"
),
66
'de-st'
=> _(
"Sachsen-Anhalt"
),
67
'de-sh'
=> _(
"Schleswig-Holstein"
),
68
'de-th'
=> _(
"Thüringen"
),
69
],
70
// http://en.wikipedia.org/wiki/ISO_3166-2:US
71
'us'
=> [
72
'us-al'
=> _(
"Alabama"
),
73
'us-ak'
=> _(
"Alaska"
),
74
'us-az'
=> _(
"Arizona"
),
75
'us-ar'
=> _(
"Arkansas"
),
76
'us-ca'
=> _(
"California"
),
77
'us-co'
=> _(
"Colorado"
),
78
'us-ct'
=> _(
"Connecticut"
),
79
'us-de'
=> _(
"Delaware"
),
80
'us-fl'
=> _(
"Florida"
),
81
'us-ga'
=> _(
"Georgia"
),
82
'us-hi'
=> _(
"Hawaii"
),
83
'us-id'
=> _(
"Idaho"
),
84
'us-il'
=> _(
"Illinois"
),
85
'us-in'
=> _(
"Indiana"
),
86
'us-ia'
=> _(
"Iowa"
),
87
'us-ks'
=> _(
"Kansas"
),
88
'us-ky'
=> _(
"Kentucky"
),
89
'us-la'
=> _(
"Louisiana"
),
90
'us-me'
=> _(
"Maine"
),
91
'us-md'
=> _(
"Maryland"
),
92
'us-ma'
=> _(
"Massachusetts"
),
93
'us-mi'
=> _(
"Michigan"
),
94
'us-mn'
=> _(
"Minnesota"
),
95
'us-ms'
=> _(
"Mississippi"
),
96
'us-mo'
=> _(
"Missouri"
),
97
'us-mt'
=> _(
"Montana"
),
98
'us-ne'
=> _(
"Nebraska"
),
99
'us-nv'
=> _(
"Nevada"
),
100
'us-nh'
=> _(
"New Hampshire"
),
101
'us-nj'
=> _(
"New Jersey"
),
102
'us-nm'
=> _(
"New Mexico"
),
103
'us-ny'
=> _(
"New York"
),
104
'us-nc'
=> _(
"North Carolina"
),
105
'us-nd'
=> _(
"North Dakota"
),
106
'us-oh'
=> _(
"Ohio"
),
107
'us-ok'
=> _(
"Oklahoma"
),
108
'us-or'
=> _(
"Oregon"
),
109
'us-pa'
=> _(
"Pennsylvania"
),
110
'us-ri'
=> _(
"Rhode Island"
),
111
'us-sc'
=> _(
"South Carolina"
),
112
'us-sd'
=> _(
"South Dakota"
),
113
'us-tn'
=> _(
"Tennessee"
),
114
'us-tx'
=> _(
"Texas"
),
115
'us-ut'
=> _(
"Utah"
),
116
'us-vt'
=> _(
"Vermont"
),
117
'us-va'
=> _(
"Virginia"
),
118
'us-wa'
=> _(
"Washington"
),
119
'us-wv'
=> _(
"West Virginia"
),
120
'us-wi'
=> _(
"Wisconsin"
),
121
'us-wy'
=> _(
"Wyoming"
),
122
'us-dc'
=> _(
"District of Columbia"
),
123
'us-as'
=> _(
"American Samoa"
),
124
'us-gu'
=> _(
"Guam"
),
125
'us-mp'
=> _(
"Northern Mariana Islands"
),
126
'us-pr'
=> _(
"Puerto Rico"
),
127
'us-um'
=> _(
"United States Minor Outlying Islands"
),
128
'us-vi'
=> _(
"Virgin Islands, U.S.)"
),
129
],
130
'ca'
=> [
131
'ca-ab'
=> _(
"Alberta"
),
132
'ca-bc'
=> _(
"British Columbia"
),
133
'ca-mb'
=> _(
"Manitoba"
),
134
'ca-nb'
=> _(
"New Brunswick"
),
135
'ca-nl'
=> _(
"Newfoundland and Labrador"
),
136
'ca-nt'
=> _(
"Northwest Territories"
),
137
'ca-ns'
=> _(
"Nova Scotia"
),
138
'ca-nu'
=> _(
"Nunavut"
),
139
'ca-on'
=> _(
"Ontario"
),
140
'ca-pe'
=> _(
"Prince Edward Island"
),
141
'ca-qc'
=> _(
"Quebec"
),
142
'ca-sk'
=> _(
"Saskatchewan"
),
143
'ca-yt'
=> _(
"Yukon"
),
144
],
145
'it'
=> [
146
'it-ag'
=> _(
"Agrigento"
),
147
'it-al'
=> _(
"Alessandria"
),
148
'it-an'
=> _(
"Ancona"
),
149
'it-ao'
=> _(
"Aosta"
),
150
'it-ar'
=> _(
"Arezzo"
),
151
'it-ap'
=> _(
"Ascoli Piceno"
),
152
'it-at'
=> _(
"Asti"
),
153
'it-av'
=> _(
"Avellino"
),
154
'it-ba'
=> _(
"Bari"
),
155
'it-bt'
=> _(
"Barletta-Andria-Trani"
),
156
'it-bl'
=> _(
"Belluno"
),
157
'it-bn'
=> _(
"Benevento"
),
158
'it-bg'
=> _(
"Bergamo"
),
159
'it-bi'
=> _(
"Biella"
),
160
'it-bo'
=> _(
"Bologna"
),
161
'it-bz'
=> _(
"Bolzano"
),
162
'it-bs'
=> _(
"Brescia"
),
163
'it-br'
=> _(
"Brindisi"
),
164
'it-ca'
=> _(
"Cagliari"
),
165
'it-cl'
=> _(
"Caltanissetta"
),
166
'it-cb'
=> _(
"Campobasso"
),
167
'it-ci'
=> _(
"Carbonia-Iglesias"
),
168
'it-ce'
=> _(
"Caserta"
),
169
'it-ct'
=> _(
"Catania"
),
170
'it-cz'
=> _(
"Catanzaro"
),
171
'it-ch'
=> _(
"Chieti"
),
172
'it-co'
=> _(
"Como"
),
173
'it-cs'
=> _(
"Cosenza"
),
174
'it-cr'
=> _(
"Cremona"
),
175
'it-kr'
=> _(
"Crotone"
),
176
'it-cn'
=> _(
"Cuneo"
),
177
'it-en'
=> _(
"Enna"
),
178
'it-fm'
=> _(
"Fermo"
),
179
'it-fe'
=> _(
"Ferrara"
),
180
'it-fi'
=> _(
"Firenze"
),
181
'it-fg'
=> _(
"Foggia"
),
182
'it-fc'
=> _(
"Forlì-Cesena"
),
183
'it-fr'
=> _(
"Frosinone"
),
184
'it-ge'
=> _(
"Genova"
),
185
'it-go'
=> _(
"Gorizia"
),
186
'it-gr'
=> _(
"Grosseto"
),
187
'it-im'
=> _(
"Imperia"
),
188
'it-is'
=> _(
"Isernia"
),
189
'it-aq'
=> _(
"L'Aquila"
),
190
'it-sp'
=> _(
"La Spezia"
),
191
'it-lt'
=> _(
"Latina"
),
192
'it-le'
=> _(
"Lecce"
),
193
'it-lc'
=> _(
"Lecco"
),
194
'it-li'
=> _(
"Livorno"
),
195
'it-lo'
=> _(
"Lodi"
),
196
'it-lu'
=> _(
"Lucca"
),
197
'it-mc'
=> _(
"Macerata"
),
198
'it-mn'
=> _(
"Mantova"
),
199
'it-ms'
=> _(
"Massa-Carrara"
),
200
'it-mt'
=> _(
"Matera"
),
201
'it-vs'
=> _(
"Medio Campidano"
),
202
'it-me'
=> _(
"Messina"
),
203
'it-mi'
=> _(
"Milano"
),
204
'it-mo'
=> _(
"Modena"
),
205
'it-mb'
=> _(
"Monza e della Brianza"
),
206
'it-na'
=> _(
"Napoli"
),
207
'it-no'
=> _(
"Novara"
),
208
'it-nu'
=> _(
"Nuoro"
),
209
'it-og'
=> _(
"Ogliastra"
),
210
'it-ot'
=> _(
"Olbia-Tempio"
),
211
'it-or'
=> _(
"Oristano"
),
212
'it-pd'
=> _(
"Padova"
),
213
'it-pa'
=> _(
"Palermo"
),
214
'it-pr'
=> _(
"Parma"
),
215
'it-pv'
=> _(
"Pavia"
),
216
'it-pg'
=> _(
"Perugia"
),
217
'it-pu'
=> _(
"Pesaro e Urbino"
),
218
'it-pe'
=> _(
"Pescara"
),
219
'it-pc'
=> _(
"Piacenza"
),
220
'it-pi'
=> _(
"Pisa"
),
221
'it-pt'
=> _(
"Pistoia"
),
222
'it-pn'
=> _(
"Pordenone"
),
223
'it-pz'
=> _(
"Potenza"
),
224
'it-po'
=> _(
"Prato"
),
225
'it-rg'
=> _(
"Ragusa"
),
226
'it-ra'
=> _(
"Ravenna"
),
227
'it-rc'
=> _(
"Reggio Calabria"
),
228
'it-re'
=> _(
"Reggio Emilia"
),
229
'it-ri'
=> _(
"Rieti"
),
230
'it-rn'
=> _(
"Rimini"
),
231
'it-rm'
=> _(
"Roma"
),
232
'it-ro'
=> _(
"Rovigo"
),
233
'it-sa'
=> _(
"Salerno"
),
234
'it-ss'
=> _(
"Sassari"
),
235
'it-sv'
=> _(
"Savona"
),
236
'it-si'
=> _(
"Siena"
),
237
'it-sr'
=> _(
"Siracusa"
),
238
'it-so'
=> _(
"Sondrio"
),
239
'it-ta'
=> _(
"Taranto"
),
240
'it-te'
=> _(
"Teramo"
),
241
'it-tr'
=> _(
"Terni"
),
242
'it-to'
=> _(
"Torino"
),
243
'it-tp'
=> _(
"Trapani"
),
244
'it-tn'
=> _(
"Trento"
),
245
'it-tv'
=> _(
"Treviso"
),
246
'it-ts'
=> _(
"Trieste"
),
247
'it-ud'
=> _(
"Udine"
),
248
'it-va'
=> _(
"Varese"
),
249
'it-ve'
=> _(
"Venezia"
),
250
'it-vb'
=> _(
"Verbano-Cusio-Ossola"
),
251
'it-vc'
=> _(
"Vercelli"
),
252
'it-vr'
=> _(
"Verona"
),
253
'it-vv'
=> _(
"Vibo Valentia"
),
254
'it-vi'
=> _(
"Vicenza"
),
255
'it-vt'
=> _(
"Viterbo"
),
256
],
257
];
258
259
// return a subset
260
if
($iso !==
null
) {
261
// search for iso state codes
262
if
(is_string($iso) && isset($country_states[$iso])) {
263
return
$country_states[$iso];
264
} elseif (is_array($iso)) {
265
$toDelete = array_diff(array_keys($country_states), $iso);
266
foreach
($toDelete as $country) {
267
unset($country_states[$country]);
268
}
269
return
$country_states;
270
}
271
272
return
''
;
273
}
274
275
return
$country_states;
276
}
277
285
public
function
__construct
(
string
$name
, array $parameters,
object
$form)
286
{
287
parent::__construct(
$name
, $parameters, $form);
288
289
if
(isset($parameters[
'defaultValue'
])) {
290
$this->defaults[
'defaultValue'
] = $parameters[
'defaultValue'
];
291
}
292
293
$this->list = isset($parameters[
'states'
])
294
? $parameters[
'states'
]
295
:
self::getStates
();
296
297
// make sure all keys are lower case
298
$this->list = array_change_key_case($this->list, CASE_LOWER);
299
300
// sort alphabetically
301
asort($this->list);
302
303
$this->list = [
''
=> _(
"Please Select"
)] +
$this->list
;
304
}
305
315
protected
function
setDefaults
(): void
316
{
317
parent::setDefaults();
318
319
$this->defaults[
'skin'
] =
'select'
;
320
}
321
}
322
323
/* vim:set ft=php sw=4 sts=4 fdm=marker et : */
Depage\HtmlForm\Abstracts\Element\$name
$name
Element name.
Definition
Element.php:36
Depage\HtmlForm\Elements\Single
HTML-single-choice input type i.e.
Definition
Single.php:57
Depage\HtmlForm\Elements\State
HTML-multiple-choice States input select .
Definition
State.php:37
Depage\HtmlForm\Elements\State\getStates
static getStates(?array $iso=null)
Gets the Default States list.
Definition
State.php:48
Depage\HtmlForm\Elements\State\$list
$list
Contains list of ISO countries.
Definition
State.php:41
Depage\HtmlForm\Elements\State\__construct
__construct(string $name, array $parameters, object $form)
multiple class constructor
Definition
State.php:285
Depage\HtmlForm\Elements\State\setDefaults
setDefaults()
collects initial values across subclasses.
Definition
State.php:315
Elements
State.php
Generated on
for depage-forms by
doxygen
1.18.0
For an overview of all docs, go to
docs.depage.net