コード例 #1
0
 /**
  * Checks if the users IP address belongs to a certain country.
  *
  * @since  4.6
  * @return bool
  */
 protected function get_user_country()
 {
     // Grab the users IP address
     $ip = $this->get_users_ip();
     $country = false;
     // See if an add-on provides the country for us.
     $country = apply_filters('popup-get-country', $country, $ip);
     if (empty($country)) {
         // Next check the local caching-table.
         $country = IncPopupDatabase::get_country($ip);
     }
     if (empty($country)) {
         $service = $this->get_service();
         // Finally use the external API to find the country.
         $country = $this->country_from_api($ip, $service);
         // Locally cache the API result.
         if (!empty($country)) {
             IncPopupDatabase::add_ip($ip, $country);
         }
     }
     if (empty($country)) {
         $country = 'XX';
     }
     return $country;
 }