<?php
class whois_search {
var $mappa_estensione_server = array (
"it" => "whois.nic.it",
"com" => "whois.internic.net",
"net" => "whois.internic.net",
"org" => "whois.publicinterestregistry.net",
"info" => "whois.afilias.info",
"biz" => "whois.neulevel.biz",
"eu" => "whois.eu",
"name" => "whois.nic.name",
"mobi" => "whois.dotmobiregistry.net",
"me" => "whois.meregistry.net",
"tel" => "whois.nic.tel",
"de" => "whois.denic.de",
"fr" =>"whois.nic.fr",
"es" =>"whois.ripe.net",
"pl" =>"whois.dns.pl",
"uk"=> "whois.nic.uk",
"in"=>"whois.inregistry.net",
"asia"=>"whois.nic.asia"
);
var $cercaRisposta = array (
"it" => "available",
"com" => "no match",
"net" => "no match",
"org" => "not found",
"info" => "not found",
"biz" => "not found",
"eu" => "AVAILABLE",
"name" => "no match",
"mobi" => "not found",
"me" => "not found",
"in" => "not found",
"tel" => "not found",
"de" => "status: free",
"fr" =>"no entries found",
"es" =>"no entries found",
"pl" =>"no information available",
"uk"=> "no match for",
"asia"=>"not found"
);
function do_whois($dominio2,$estensioni) {
$doppia=false;
$domini=array();
for($i=0;$i<count($estensioni);$i++){
/*if(isset($_POST['estensioneGeo'])){
$doppia=true;
//$dominio2.=".".$_POST['estensioneGeo'];
}*/
$dominio=$dominio2.".".$estensioni[$i];
$dominio = strtolower(trim($dominio));
$pos_punto = strrpos($dominio, ".");
if (!$pos_punto) {
return "nome di dominio non valido";
} else {
if($doppia){
}else{
$estensione = substr($dominio, $pos_punto + 1);
if (!array_key_exists($estensione,$this->mappa_estensione_server)) {
return "estensione <b><i>.".$estensione."</i></b> non supportata";
}
}
}
$server = $this->mappa_estensione_server[$estensione];
$puntatore_whois = fsockopen($server, 43, $errno, $errstr, 30);
$html_output = '';
if (!$puntatore_whois) {
$html_output = "$errstr ($errno)";
} else {
fputs($puntatore_whois, "$dominio\r\n");
while (!feof($puntatore_whois)) {
$html_output .= fread($puntatore_whois,128);
}
fclose ($puntatore_whois);
}
if($estensione!="eu")
$html=strtolower($html_output);
else
$html=$html_output;
if(strstr($html,$this->cercaRisposta[$estensione]))
array_push($domini,array("dominio"=>$dominio2,"estensione"=>$estensioni[$i],"risultato"=>"ok","output"=>$html_output));
else
array_push($domini,array("dominio"=>$dominio2,"estensione"=>$estensioni[$i],"risultato"=>"ko","output"=>$html_output));
}
return $domini;
}
function print_allowed_extension () {
$vettore_estensioni = array_keys($this->mappa_estensione_server);
$estensioni_supportate = '';
for ($i = 0; $i < count($vettore_estensioni); $i++) {
$estensioni_supportate .= ' .'.$vettore_estensioni [$i].' ';
}
return $estensioni_supportate;
}
}
$whois = new whois_search();
$appo=explode("-",$_POST['estensioni']);
unset($appo[count($appo)-1]);
echo json_encode($whois->do_whois($_POST['dominio'],$appo));
unset($whois);
?>
|