HEX
Server: Apache/2.4.46 (Ubuntu)
System: Linux localhost 5.11.0-49-generic #55-Ubuntu SMP Wed Jan 12 17:36:34 UTC 2022 x86_64
User: root (0)
PHP: 7.4.16
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/country-code/index.php
<!-- <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> -->

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <style type="text/css">             
        html,
        body,
        #map_canvas {
        height: 100%;
        width: 100%;
        margin: 0px;
        padding: 0px
        }
        body
        {
            font-family: Arial;
            font-size: 10pt;
        }
    </style>
</head>
<body>
    <!-- <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script> -->
    <script src="https://maps.googleapis.com/maps/api/js?key=AIzaSyC0Q7InEJ4vE5SJQ5d_6RSe49FzCRZzMjw&sensor=false"></script>
    <script type="text/javascript">
        var markers = [
        {
            "title": 'Bombay Hospital',
            "lat": '18.9409388',
            "lng": '72.82819189999998',
            "description": 'Bombay Hospital',
            "type": 'Hospital',
            "icon": "Markers/icons8-map-marker-100.png"
        },
        {
            "title": 'Jaslok Hospital',
            "lat": '18.9716956',
            "lng": '72.80991180000001',
            "description": 'Jaslok Hospital',
            "type": 'Hospital',
            "icon": "http://maps.gstatic.com/mapfiles/ms2/micons/police.png"
        },
        {
            "title": 'Lilavati Hospital',
            "lat": '19.0509488',
            "lng": '72.8285644',
            "description": 'Lilavati Hospital',
            "type": 'Hospital',
            "icon": "Markers/letter_c.png"
        },
        {
            "title": 'Aksa Beach',
            "lat": '19.1759668',
            "lng": '72.79504659999998',
            "description": 'Aksa Beach',
            "type": 'Beach',
            "icon": "Markers/letter_d.png"
        },
        {
            "title": 'Juhu Beach',
            "lat": '19.0883595',
            "lng": '72.82652380000002',
            "description": 'Juhu Beach',
            "type": 'Beach',
            "icon": "Markers/letter_e.png"
        },
        {
            "title": 'Girgaum Beach',
            "lat": '18.9542149',
            "lng": '72.81203529999993',
            "description": 'Girgaum Beach',
            "type": 'Beach',
            "icon": "Markers/letter_f.png"
        },
        {
            "title": 'Oberoi Mall',
            "lat": '19.1737704',
            "lng": '72.86062400000003',
            "description": 'Oberoi Mall',
            "type": 'Mall',
            "icon": "Markers/letter_g.png"
        },
        {
            "title": 'Infinity Mall',
            "lat": '19.1846511',
            "lng": '72.83454899999992',
            "description": 'Infinity Mall',
            "type": 'Mall',
            "icon": "Markers/letter_h.png"
        },
        {
            "title": 'Phoenix Mall',
            "lat": '19.0759837',
            "lng": '72.87765590000003',
            "description": 'Phoenix Mall',
            "type": 'Mall',
            "icon": "Markers/letter_i.png"
        },
        {
            "title": 'Jijamata Udyan',
            "lat": '18.979006',
            "lng": '72.83388300000001',
            "description": 'Jijamata Udyan',
            "type": 'Park',
            "icon": "Markers/letter_j.png"
        },
        {
            "title": 'Sanjay Gandhi National Park',
            "lat": '19.2147067',
            "lng": '72.91062020000004',
            "description": 'Sanjay Gandhi National Park',
            "type": 'Park',
            "icon": "Markers/letter_k.png"
        }
        ];
        window.onload = function () {
            LoadMap();
        }
        function LoadMap() {
            var mapOptions = {
                center: new google.maps.LatLng(markers[0].lat, markers[0].lng),
                zoom: 8,
                mapTypeId: google.maps.MapTypeId.ROADMAP
            };
            var infoWindow = new google.maps.InfoWindow();
            var latlngbounds = new google.maps.LatLngBounds();
            var map = new google.maps.Map(document.getElementById("dvMap"), mapOptions);
            var legend = document.getElementById("legend");
            legend.innerHTML = "";
            for (var i = 0; i < markers.length; i++) {
                var data = markers[i]
                var myLatlng = new google.maps.LatLng(data.lat, data.lng);
                var marker = new google.maps.Marker({
                    position: myLatlng,
                    map: map,
                    title: data.title,
                    icon: data.icon
                });
                (function (marker, data) {
                    google.maps.event.addListener(marker, "click", function (e) {
                        infoWindow.setContent("<div style = 'width:100px;height:40px'>" + data.description + "</div>");
                        infoWindow.open(map, marker);
                    });
                })(marker, data);
                latlngbounds.extend(marker.position);

                legend.innerHTML += "<div style = 'margin:5px'><img align = 'middle' src = '" + marker.icon + "' />&nbsp;" + marker.title + "</div>";
            }
            var bounds = new google.maps.LatLngBounds();
            map.setCenter(latlngbounds.getCenter());
            map.fitBounds(latlngbounds);
        }
    </script>
    <table border="0" cellpadding="0" cellspacing="0">
        <tr>
            <td>
                <div id="dvMap" style="width: 1500px; height: 500px">
                </div>
            </td>
            <td id="legend">
            </td>
        </tr>
    </table>
</body>
</html>
<?php

getAddresFromAPI();
function getAddresFromAPI()
{
    $address = "1600 Amphitheatre Parkway, Mountain View, CA";
    $url = "https://maps.googleapis.com/maps/api/geocode/json?address=" . urlencode($address) . "&key=AIzaSyC0Q7InEJ4vE5SJQ5d_6RSe49FzCRZzMjw";

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, $url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($ch, CURLOPT_PROXYPORT, 3128);
    curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
    $responseff = curl_exec($ch);
    curl_close($ch);

    $response = json_decode($responseff);

    // $lat = $response_a->results[0]->geometry->location->lat;
    // $lng = $response_a->results[0]->geometry->location->lng;

    if ($response->status == 'OK') {
        $latitude = $response->results[0]->geometry->location->lat;
        $longitude = $response->results[0]->geometry->location->lng;

        echo 'Latitude: ' . $latitude;
        echo '<br />';
        echo 'Longitude: ' . $longitude;
    } else {
        echo $response->status;
        var_dump($response);
    }    
}

 
$ip_address=$_SERVER['REMOTE_ADDR'];
/*Get user ip address details with geoplugin.net*/
$geopluginURL='http://www.geoplugin.net/php.gp?ip='.$ip_address;
$addrDetailsArr = unserialize(file_get_contents($geopluginURL));
/*Get City name by return array*/
$city = $addrDetailsArr['geoplugin_city'];
/*Get Country name by return array*/
$country = $addrDetailsArr['geoplugin_countryName'];
/*Comment out these line to see all the posible details*/
/*echo '<pre>';
print_r($addrDetailsArr);
die();*/
if(!$city){
   $city='Not Define';
}if(!$country){
   $country='Not Define';
}
echo '<strong>IP Address</strong>:- '.$ip_address.'<br/>';
echo '<strong>City</strong>:- '.$city.'<br/>';
echo '<strong>Country</strong>:- '.$country.'<br/>';

//$country_code = get_country();

//echo country_code_to_locale($country_code);

function get_country()
	{
		$country_code = ip_info("Visitor", "Country Name"); 
		 
		return $country_code;
	}


function ip_info($ip = NULL, $purpose = "location", $deep_detect = TRUE) {
    $output = NULL;
    
    if (filter_var($ip, FILTER_VALIDATE_IP) === FALSE) {
        $ip = $_SERVER["REMOTE_ADDR"];
        if ($deep_detect) {
            if (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP))
                $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
            if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP))
                $ip = $_SERVER['HTTP_CLIENT_IP'];
        }
    }
    $purpose    = str_replace(array("name", "\n", "\t", " ", "-", "_"), NULL, strtolower(trim($purpose)));
    $support    = array("country", "countrycode", "state", "region", "city", "location", "address");
    $continents = array(
        "AF" => "Africa",
        "AN" => "Antarctica",
        "AS" => "Asia",
        "EU" => "Europe",
        "OC" => "Australia (Oceania)",
        "NA" => "North America",
        "SA" => "South America"
    );
 
    //echo "https://www.geoplugin.net/json.gp?ip=" . $ip;
    
    if (filter_var($ip, FILTER_VALIDATE_IP) && in_array($purpose, $support)) {

         

         // API with IP address
       echo $url = "http://www.geoplugin.net/json.gp?ip=".$ip;
         
        // get a requested data
        $ipInfo = file_get_contents($url);
        $ipdat = @json_decode($ipInfo);
        if (@strlen(trim($ipdat->geoplugin_countryCode)) == 2) {
            switch ($purpose) {
                case "location":
                    $output = array(
                        "city"           => @$ipdat->geoplugin_city,
                        "state"          => @$ipdat->geoplugin_regionName,
                        "country"        => @$ipdat->geoplugin_countryName,
                        "country_code"   => @$ipdat->geoplugin_countryCode,
                        "continent"      => @$continents[strtoupper($ipdat->geoplugin_continentCode)],
                        "continent_code" => @$ipdat->geoplugin_continentCode
                    );
                    break;
                case "address":
                    $address = array($ipdat->geoplugin_countryName);
                    if (@strlen($ipdat->geoplugin_regionName) >= 1)
                        $address[] = $ipdat->geoplugin_regionName;
                    if (@strlen($ipdat->geoplugin_city) >= 1)
                        $address[] = $ipdat->geoplugin_city;
                    $output = implode(", ", array_reverse($address));
                    break;
                case "city":
                    $output = @$ipdat->geoplugin_city;
                    break;
                case "state":
                    $output = @$ipdat->geoplugin_regionName;
                    break;
                case "region":
                    $output = @$ipdat->geoplugin_regionName;
                    break;
                case "country":
                    $output = @$ipdat->geoplugin_countryName;
                    break;
                case "countrycode":
                    $output = @$ipdat->geoplugin_countryCode;
                    break;
            }
        }
    }
    return $output;
}
function country_code_to_locale($country_code, $language_code = '')
	{
		 
		$locales = array('af-ZA',
						'am-ET',
						'ar-AE',
						'ar-BH',
						'ar-DZ',
						'ar-EG',
						'ar-IQ',
						'ar-JO',
						'ar-KW',
						'ar-LB',
						'ar-LY',
						'ar-MA',
						'arn-CL',
						'ar-OM',
						'ar-QA',
						'ar-SA',
						'ar-SY',
						'ar-TN',
						'ar-YE',
						'as-IN',
						'az-Cyrl-AZ',
						'az-Latn-AZ',
						'ba-RU',
						'be-BY',
						'bg-BG',
						'bn-BD',
						'bn-IN',
						'bo-CN',
						'br-FR',
						'bs-Cyrl-BA',
						'bs-Latn-BA',
						'ca-ES',
						'co-FR',
						'cs-CZ',
						'cy-GB',
						'da-DK',
						'de-AT',
						'de-CH',
						'de-DE',
						'de-LI',
						'de-LU',
						'dsb-DE',
						'dv-MV',
						'el-GR',
						'en-029',
						'en-AU',
						'en-BZ',
						'en-CA',
						'en-GB',
						'en-IE',
						'en-IN',
						'en-JM',
						'en-MY',
						'en-NZ',
						'en-PH',
						'en-SG',
						'en-TT',
						'en-US',
						'en-ZA',
						'en-ZW',
						'es-AR',
						'es-BO',
						'es-CL',
						'es-CO',
						'es-CR',
						'es-DO',
						'es-EC',
						'es-ES',
						'es-GT',
						'es-HN',
						'es-MX',
						'es-NI',
						'es-PA',
						'es-PE',
						'es-PR',
						'es-PY',
						'es-SV',
						'es-US',
						'es-UY',
						'es-VE',
						'et-EE',
						'eu-ES',
						'fa-IR',
						'fi-FI',
						'fil-PH',
						'fo-FO',
						'fr-BE',
						'fr-CA',
						'fr-CH',
						'fr-FR',
						'fr-LU',
						'fr-MC',
						'fy-NL',
						'ga-IE',
						'gd-GB',
						'gl-ES',
						'gsw-FR',
						'gu-IN',
						'ha-Latn-NG',
						'he-IL',
						'hi-IN',
						'hr-BA',
						'hr-HR',
						'hsb-DE',
						'hu-HU',
						'hy-AM',
						'id-ID',
						'ig-NG',
						'ii-CN',
						'is-IS',
						'it-CH',
						'it-IT',
						'iu-Cans-CA',
						'iu-Latn-CA',
						'ja-JP',
						'ka-GE',
						'kk-KZ',
						'kl-GL',
						'km-KH',
						'kn-IN',
						'kok-IN',
						'ko-KR',
						'ky-KG',
						'lb-LU',
						'lo-LA',
						'lt-LT',
						'lv-LV',
						'mi-NZ',
						'mk-MK',
						'ml-IN',
						'mn-MN',
						'mn-Mong-CN',
						'moh-CA',
						'mr-IN',
						'ms-BN',
						'ms-MY',
						'mt-MT',
						'nb-NO',
						'ne-NP',
						'nl-BE',
						'nl-NL',
						'nn-NO',
						'nso-ZA',
						'oc-FR',
						'or-IN',
						'pa-IN',
						'pl-PL',
						'prs-AF',
						'ps-AF',
						'pt-BR',
						'pt-PT',
						'qut-GT',
						'quz-BO',
						'quz-EC',
						'quz-PE',
						'rm-CH',
						'ro-RO',
						'ru-RU',
						'rw-RW',
						'sah-RU',
						'sa-IN',
						'se-FI',
						'se-NO',
						'se-SE',
						'si-LK',
						'sk-SK',
						'sl-SI',
						'sma-NO',
						'sma-SE',
						'smj-NO',
						'smj-SE',
						'smn-FI',
						'sms-FI',
						'sq-AL',
						'sr-Cyrl-BA',
						'sr-Cyrl-CS',
						'sr-Cyrl-ME',
						'sr-Cyrl-RS',
						'sr-Latn-BA',
						'sr-Latn-CS',
						'sr-Latn-ME',
						'sr-Latn-RS',
						'sv-FI',
						'sv-SE',
						'sw-KE',
						'syr-SY',
						'ta-IN',
						'te-IN',
						'tg-Cyrl-TJ',
						'th-TH',
						'tk-TM',
						'tn-ZA',
						'tr-TR',
						'tt-RU',
						'tzm-Latn-DZ',
						'ug-CN',
						'uk-UA',
						'ur-PK',
						'uz-Cyrl-UZ',
						'uz-Latn-UZ',
						'vi-VN',
						'wo-SN',
						'xh-ZA',
						'yo-NG',
						'zh-CN',
						'zh-HK',
						'zh-MO',
						'zh-SG',
						'zh-TW',
						'zu-ZA',);
	
		foreach ($locales as $locale)
		{
			$locale_region = locale_get_region($locale);
			$locale_language = locale_get_primary_language($locale);
			$locale_array = array('language' => $locale_language,
								 'region' => $locale_region);
	
			if (strtoupper($country_code) == $locale_region &&
				$language_code == '')
			{
				return locale_compose($locale_array);
			}
			elseif (strtoupper($country_code) == $locale_region &&
					strtolower($language_code) == $locale_language)
			{
				return locale_compose($locale_array);
			}
		}
	
		return null;
	}
?>