-
Notifications
You must be signed in to change notification settings - Fork 0
/
getstate.php
96 lines (86 loc) · 2.25 KB
/
getstate.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
<?php
// This function is for string null or empty check in the main function
function underscoresIt($string){
return strtolower(str_replace(' ', '_', trim($string)));
}
function get_state_abbr($state) {
$states = array(
'alabama' => 'AL',
'alaska' => 'AK',
'arizona' => 'AZ',
'arkansas' => 'AR',
'california' => 'CA',
'colorado' => 'CO',
'connecticut' => 'CT',
'delaware' => 'DE',
'florida' => 'FL',
'georgia' => 'GA',
'hawaii' => 'HI',
'idaho' => 'ID',
'illinois' => 'IL',
'indiana' => 'IN',
'iowa' => 'IA',
'kansas' => 'KS',
'kentucky' => 'KY',
'louisiana' => 'LA',
'maine' => 'ME',
'maryland' => 'MD',
'massachusetts' => 'MA',
'michigan' => 'MI',
'minnesota' => 'MN',
'mississippi' => 'MS',
'missouri' => 'MO',
'montana' => 'MT',
'nebraska' => 'NE',
'nevada' => 'NV',
'new_hampshire' => 'NH',
'new_jersey' => 'NJ',
'new_mexico' => 'NM',
'new_york' => 'NY',
'north_carolina' => 'NC',
'north_dakota' => 'ND',
'ohio' => 'OH',
'oklahoma' => 'OK',
'oregon' => 'OR',
'Pennsylvania' => 'PA',
'rhode_island' => 'RI',
'south_carolina' => 'SC',
'south_dakota' => 'SD',
'tennessee' => 'TN',
'texas' => 'TX',
'utah' => 'UT',
'vermont' => 'VT',
'virginia' => 'VA',
'washington' => 'WA',
'west_virginia' => 'WV',
'wisconsin' => 'WI',
'wyoming' => 'WY',
);
return $states[$state];
}
function IsNullOrEmptyString($question) {
return (!isset($question) || trim($question) === '');
}
function curlTheBitch($url) {
$headers = array(
'Accept: application/json',
'Content-Type: application/json',
'Content-length: 0',
'Email: dpo@denverpost.com'
);
$ch = curl_init($url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_USERAGENT, "dpo@denverpost.com");
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
function getAddress($latitude, $longitude) {
$url = "https://nominatim.openstreetmap.org/reverse?email=dpo@denverpost.com&format=json&lat=$latitude&lon=$longitude&zoom=18&addressdetails=1";
$response = curlTheBitch($url);
$json = json_decode($response, TRUE); //set json response to array based
if (isset($json['address'])) {
return get_state_abbr(underscoresIt($json['address']['state']));
}
}