PHP Code:
function whois($domain,$tld_extension)
{
GLOBAL $dbh,$debug,$v;
$this_domain = trim($domain.".".$tld_extension);
if(!$dbh)dbconnect();
list($tld_whois_server,$tld_whois_response) = mysql_fetch_row(mysql_query_logger("SELECT tld_whois_server, tld_whois_response FROM tld_config WHERE tld_extension = '$tld_extension'"));
if ($tld_whois_server == "whois.domain-registry.nl")
{
if($fp = @fsockopen('whois.domain-registry.nl', 43))
{
fputs($fp, "is $this_domain"."\r\n");
while(!feof($fp))
{
$whois_buffer_tmp .= fgets($fp,128);
}
$whois_buffer[output] .= "<pre>$whois_buffer_tmp</pre>";
fclose($fp);
}
}
elseif (eregi("http://",$tld_whois_server)) {
// DO HTML WHOIS LOOKUP
$server = str_replace("%%domain%%",$this_domain,$tld_whois_server);
$server = str_replace("%%tld%%",$tld_extension,$server);
$fcontents = file($server);
$search = array ("'<script[^>]*?>.*?</script>'si","'</tr>'i","'<br>'i","'<p>'i","'<[\/\!]*?[^<>]*?>'si","'&(quote|#34);'i","'&(amp|#38);'i","'&(lt|#60);'i","'&(gt|#62);'i","'&(nbsp|#160);'i","'&(iexcl|#161);'i","'&(cent|#162);'i","'&(pound|#163);'i","'&(copy|#169);'i","'&#(\d+);'e");
$replace = array ("","\n","\n","\n\n","","\"","&","<",">"," ",chr(161),chr(162),chr(163),chr(169),"chr(\\1)");
$document = "";
while (list($lnum,$line)=each($fcontents)) {
$document=$document.$line;
}
$text = preg_replace($search,$replace,$document);
$data = explode("\n",$text);
$ec = 1;
while (list($lnum,$line)=each($data)) {
$line=trim($line);
if ($line=="") {
if ($ec<1) {
$whois_buffer[output].="";
}
$ec++;
} else {
$whois_buffer[output].=$line;
$whois_buffer_tmp.=$line;
$ec=0;
}
}
if($debug) echo "<b>HTML: $server</b><br>".$whois_buffer[output]."<hr>";
} else {
// DO WHOIS SERVER LOOKUP
$server = ($tld_whois_server) ? $tld_whois_server : "whois.internic.net" ;
$fp = @fsockopen ($server,43,$errnr,$errstr,30);
if (!$fp) {
if($debug) echo "[".ERROR."] $errstr: ($errnr)<br>";
} else {
fputs($fp,"$this_domain\r\n");
while (!feof($fp)) {
$whois_buffer_tmp .= fgets($fp,2048);
}
$whois_buffer[output] .= "<pre>$whois_buffer_tmp</pre>";
fclose ($fp);
}
if($debug) echo "<b>WHOIS: $server</b><br>".$whois_buffer[output]."<hr>";
}
$tld_whois_response = ($tld_whois_response) ? $tld_whois_response : "No match" ;
$whois_buffer[is_registered] = (eregi("$tld_whois_response","$whois_buffer_tmp")) ? FALSE : TRUE ;
return $whois_buffer;
}