data)) { $_GEO_CACHE = unserialize($cache->data); // Has the cache expired? if (time() > $_GEO_CACHE['expire']) { // Delete the cache, and unset it. cache_clear_all("mymodulename:".$cacheFile, 'cache', TRUE); unset ($_GEO_CACHE); } } if ( !isset($_GEO_CACHE) || $reset) { // Expire after 1 week $expire = time() + (60 * 60 * 24 * 7); $alltext = ''; $alltext = _get_url('http://api.hostip.info/get_html.php?ip=' . $subnet . '.1'); $tokens = split ("[:\n]", $alltext); $_GEO_CACHE = array ($tokens[0] => $tokens[1], $tokens[2] => $tokens[3], 'expire' => $expire); // Now write the cache //echo "herE"; cache_set("mymodulename:".$cacheFile ,serialize($_GEO_CACHE), 'cache', $expire); } // Show the output return $_GEO_CACHE; } function _get_url($url) { if (function_exists("curl_init")) { $curl = curl_init($url); curl_setopt($curl, CURLOPT_AUTOREFERER, TRUE); curl_setopt($curl, CURLOPT_TRANSFERTEXT, TRUE); curl_setopt($curl, CURLOPT_RETURNTRANSFER, TRUE); return curl_exec($curl); curl_close($curl); } else { return file_get_contents($url); } } ?>