1: <?php
2: 3: 4: 5: 6: 7: 8: 9:
10:
11: namespace Kotchasan;
12:
13: 14: 15: 16: 17: 18: 19:
20: class Province
21: {
22: 23: 24: 25: 26: 27: 28: 29:
30: private static function init($country)
31: {
32: if (method_exists('Kotchasan\Province', $country)) {
33: return \Kotchasan\Province::$country();
34: } else {
35: return array();
36: }
37: }
38:
39: 40: 41: 42: 43: 44: 45: 46:
47: public static function all($country = 'TH')
48: {
49: $datas = self::init($country);
50: $result = array();
51: if (!empty($datas)) {
52: $language = Language::name();
53: $language = in_array($language, array_keys(reset($datas))) ? $language : 'en';
54: $result = array();
55: foreach ($datas as $iso => $values) {
56: $result[$iso] = $values[$language];
57: }
58: if ($language == 'en') {
59: asort($result);
60: }
61: }
62: return $result;
63: }
64:
65: 66: 67: 68: 69:
70: public static function countries()
71: {
72: return array('TH', 'LA');
73: }
74:
75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85:
86: public static function get($iso, $lang = '', $country = 'TH')
87: {
88: $datas = self::init($country);
89: if (empty($lang)) {
90: $lang = Language::name();
91: }
92: $lang = in_array($lang, array_keys(reset($datas))) ? $lang : 'en';
93: return isset($datas[$iso]) ? $datas[$iso][$lang] : '';
94: }
95:
96: 97: 98: 99: 100:
101: private static function TH()
102: {
103: return array(
104: '81' => array('th' => 'กระบี่', 'en' => 'Krabi'),
105: '10' => array('th' => 'กรุงเทพมหานคร', 'en' => 'Bangkok'),
106: '71' => array('th' => 'กาญจนบุรี', 'en' => 'Kanchanaburi'),
107: '46' => array('th' => 'กาฬสินธุ์', 'en' => 'Kalasin'),
108: '62' => array('th' => 'กำแพงเพชร', 'en' => 'KamphaengPhet'),
109: '40' => array('th' => 'ขอนแก่น', 'en' => 'KhonKaen'),
110: '22' => array('th' => 'จันทบุรี', 'en' => 'Chanthaburi'),
111: '24' => array('th' => 'ฉะเชิงเทรา', 'en' => 'Chachoengsao'),
112: '20' => array('th' => 'ชลบุรี', 'en' => 'ChonBuri'),
113: '18' => array('th' => 'ชัยนาท', 'en' => 'ChaiNat'),
114: '36' => array('th' => 'ชัยภูมิ', 'en' => 'Chaiyaphum'),
115: '86' => array('th' => 'ชุมพร', 'en' => 'Chumphon'),
116: '57' => array('th' => 'เชียงราย', 'en' => 'ChiangRai'),
117: '50' => array('th' => 'เชียงใหม่', 'en' => 'ChiangMai'),
118: '92' => array('th' => 'ตรัง', 'en' => 'Trang'),
119: '23' => array('th' => 'ตราด', 'en' => 'Trat'),
120: '63' => array('th' => 'ตาก', 'en' => 'Tak'),
121: '26' => array('th' => 'นครนายก', 'en' => 'NakhonNayok'),
122: '73' => array('th' => 'นครปฐม', 'en' => 'NakhonPathom'),
123: '48' => array('th' => 'นครพนม', 'en' => 'NakhonPhanom'),
124: '30' => array('th' => 'นครราชสีมา', 'en' => 'NakhonRatchasima'),
125: '80' => array('th' => 'นครศรีธรรมราช', 'en' => 'NakhonSiThammarat'),
126: '60' => array('th' => 'นครสวรรค์', 'en' => 'NakhonSawan'),
127: '12' => array('th' => 'นนทบุรี', 'en' => 'Nonthaburi'),
128: '96' => array('th' => 'นราธิวาส', 'en' => 'Narathiwat'),
129: '55' => array('th' => 'น่าน', 'en' => 'Nan'),
130: '97' => array('th' => 'บึงกาฬ', 'en' => 'buogkan'),
131: '31' => array('th' => 'บุรีรัมย์', 'en' => 'BuriRam'),
132: '13' => array('th' => 'ปทุมธานี', 'en' => 'PathumThani'),
133: '77' => array('th' => 'ประจวบคีรีขันธ์', 'en' => 'PrachuapKhiriKhan'),
134: '25' => array('th' => 'ปราจีนบุรี', 'en' => 'PrachinBuri'),
135: '94' => array('th' => 'ปัตตานี', 'en' => 'Pattani'),
136: '14' => array('th' => 'พระนครศรีอยุธยา', 'en' => 'PhraNakhonSiAyutthaya'),
137: '56' => array('th' => 'พะเยา', 'en' => 'Phayao'),
138: '82' => array('th' => 'พังงา', 'en' => 'Phangnga'),
139: '93' => array('th' => 'พัทลุง', 'en' => 'Phatthalung'),
140: '66' => array('th' => 'พิจิตร', 'en' => 'Phichit'),
141: '65' => array('th' => 'พิษณุโลก', 'en' => 'Phitsanulok'),
142: '76' => array('th' => 'เพชรบุรี', 'en' => 'Phetchaburi'),
143: '67' => array('th' => 'เพชรบูรณ์', 'en' => 'Phetchabun'),
144: '54' => array('th' => 'แพร่', 'en' => 'Phrae'),
145: '83' => array('th' => 'ภูเก็ต', 'en' => 'Phuket'),
146: '44' => array('th' => 'มหาสารคาม', 'en' => 'MahaSarakham'),
147: '49' => array('th' => 'มุกดาหาร', 'en' => 'Mukdahan'),
148: '58' => array('th' => 'แม่ฮ่องสอน', 'en' => 'MaeHongSon'),
149: '35' => array('th' => 'ยโสธร', 'en' => 'Yasothon'),
150: '95' => array('th' => 'ยะลา', 'en' => 'Yala'),
151: '45' => array('th' => 'ร้อยเอ็ด', 'en' => 'RoiEt'),
152: '85' => array('th' => 'ระนอง', 'en' => 'Ranong'),
153: '21' => array('th' => 'ระยอง', 'en' => 'Rayong'),
154: '70' => array('th' => 'ราชบุรี', 'en' => 'Ratchaburi'),
155: '16' => array('th' => 'ลพบุรี', 'en' => 'Loburi'),
156: '52' => array('th' => 'ลำปาง', 'en' => 'Lampang'),
157: '51' => array('th' => 'ลำพูน', 'en' => 'Lamphun'),
158: '42' => array('th' => 'เลย', 'en' => 'Loei'),
159: '33' => array('th' => 'ศรีสะเกษ', 'en' => 'SiSaKet'),
160: '47' => array('th' => 'สกลนคร', 'en' => 'SakonNakhon'),
161: '90' => array('th' => 'สงขลา', 'en' => 'Songkhla'),
162: '91' => array('th' => 'สตูล', 'en' => 'Satun'),
163: '11' => array('th' => 'สมุทรปราการ', 'en' => 'SamutPrakan'),
164: '75' => array('th' => 'สมุทรสงคราม', 'en' => 'SamutSongkhram'),
165: '74' => array('th' => 'สมุทรสาคร', 'en' => 'SamutSakhon'),
166: '27' => array('th' => 'สระแก้ว', 'en' => 'SaKaeo'),
167: '19' => array('th' => 'สระบุรี', 'en' => 'Saraburi'),
168: '17' => array('th' => 'สิงห์บุรี', 'en' => 'SingBuri'),
169: '64' => array('th' => 'สุโขทัย', 'en' => 'Sukhothai'),
170: '72' => array('th' => 'สุพรรณบุรี', 'en' => 'SuphanBuri'),
171: '84' => array('th' => 'สุราษฎร์ธานี', 'en' => 'SuratThani'),
172: '32' => array('th' => 'สุรินทร์', 'en' => 'Surin'),
173: '43' => array('th' => 'หนองคาย', 'en' => 'NongKhai'),
174: '39' => array('th' => 'หนองบัวลำภู', 'en' => 'NongBuaLamPhu'),
175: '15' => array('th' => 'อ่างทอง', 'en' => 'AngThong'),
176: '37' => array('th' => 'อำนาจเจริญ', 'en' => 'AmnatCharoen'),
177: '41' => array('th' => 'อุดรธานี', 'en' => 'UdonThani'),
178: '53' => array('th' => 'อุตรดิตถ์', 'en' => 'Uttaradit'),
179: '61' => array('th' => 'อุทัยธานี', 'en' => 'UthaiThani'),
180: '34' => array('th' => 'อุบลราชธานี', 'en' => 'UbonRatchathani'),
181: );
182: }
183:
184: 185: 186: 187: 188:
189: private static function LA()
190: {
191: return array(
192: '12' => array('th' => 'คำม่วน', 'la' => 'ຄໍາມ່ວນ', 'en' => 'Khammouane'),
193: '16' => array('th' => 'จำปาศักดิ์', 'la' => 'ຈຳປາສັກ', 'en' => 'Champasak'),
194: '09' => array('th' => 'เชียงขวาง', 'la' => 'ຊຽງຂວາງ', 'en' => 'Xiangkhouang'),
195: '08' => array('th' => 'ไชยบุรี', 'la' => 'ໄຊຍະບູລີ', 'en' => 'Sainyabuli'),
196: '18' => array('th' => 'ไชยสมบูรณ์', 'la' => 'ໄຊສົມບູນ', 'en' => 'Xaisomboun'),
197: '15' => array('th' => 'เซกอง', 'la' => 'ເຊກອງ', 'en' => 'Sekong'),
198: '11' => array('th' => 'บอลิคำไซ', 'la' => 'ບໍລິຄໍາໄຊ', 'en' => 'Bolikhamsai'),
199: '05' => array('th' => 'บ่อแก้ว', 'la' => 'ບໍ່ແກ້ວ', 'en' => 'Bokeo'),
200: '02' => array('th' => 'พงสาลี', 'la' => 'ຜົ້ງສາລີ', 'en' => 'Phongsaly'),
201: '10' => array('th' => 'เวียงจันทน์', 'la' => 'ວຽງຈັນ', 'en' => 'Vientiane'),
202: '14' => array('th' => 'สาละวัน', 'la' => 'ສາລະວັນ', 'en' => 'Salavan'),
203: '13' => array('th' => 'สุวรรณเขต', 'la' => 'ສະຫວັນນະເຂດ', 'en' => 'Savannakhet'),
204: '03' => array('th' => 'หลวงน้ำทา', 'la' => 'ຫລວງນໍ້າທາ', 'en' => 'Luang Namtha'),
205: '06' => array('th' => 'หลวงพระบาง', 'la' => 'ຫລວງພະບາງ', 'en' => 'Luang Prabang'),
206: '07' => array('th' => 'หัวพัน', 'la' => 'ຫົວພັນ', 'en' => 'Houaphanh'),
207: '17' => array('th' => 'อัตตะปือ', 'la' => 'ອັດຕະປື', 'en' => 'Attapeu'),
208: '04' => array('th' => 'อุดมไซ', 'la' => 'ອຸດົມໄຊ', 'en' => 'Oudomxay'),
209: '01' => array('th' => 'นครหลวงเวียงจันทน์', 'la' => 'ນະຄອນຫຼວງວຽງຈັນ', 'en' => 'Oudomxay'),
210: );
211: }
212: }
213: