Untitled

mail@pastecode.io avatar
unknown
php
7 months ago
1.3 kB
4
Indexable
Never
  // ip data loading (timezone + country code)

  $cookie_loaded = false;

  // London Default Country
  $timezone = "Europe/London";
  $ip_country_code = "GB";

  // Controlla se i cookie esistono già
  if ( isset($_COOKIE['timezone']) && isset($_COOKIE['ip_country_code']) ) {
      // Utilizza i valori dei cookie
      $cookie_loaded = true;
      $timezone = $_COOKIE['timezone'];
      $ip_country_code = $_COOKIE['ip_country_code'];
  } else {
      // I cookie non esistono, fai una richiesta a GeoPlugin
      $ip = $_SERVER['REMOTE_ADDR'];
      $json = @file_get_contents("http://www.geoplugin.net/json.gp?ip={$ip}");

      if ($json !== false) {
          $data = json_decode($json);
          if ($data && $data->geoplugin_status == 200) {
              $timezone = $data->geoplugin_timezone;
              $ip_country_code = $data->geoplugin_countryCode;
          }
      }

      // Imposta la scadenza del cookie per k giorni
      $expiration = time() + (1 * 86400);

      // Salva i dati nei cookie
      setcookie("timezone", $timezone, $expiration);
      setcookie("ip_country_code", $ip_country_code, $expiration);
  }

  // Imposta il fuso orario predefinito
  date_default_timezone_set($timezone);

  // END ip data loading