89 lines
2.2 KiB
PHP
89 lines
2.2 KiB
PHP
<?php
|
|
|
|
/**
|
|
* AgileBill - Open Billing Software
|
|
*
|
|
* This body of work is free software; you can redistribute it and/or
|
|
* modify it under the terms of the Open AgileBill License
|
|
* License as published at http://www.agileco.com/agilebill/license1-4.txt
|
|
*
|
|
* For questions, help, comments, discussion, etc., please join the
|
|
* Agileco community forums at http://forum.agileco.com/
|
|
*
|
|
* @link http://www.agileco.com/
|
|
* @copyright 2004-2008 Agileco, LLC.
|
|
* @license http://www.agileco.com/agilebill/license1-4.txt
|
|
* @author Tony Landis <tony@agileco.com>
|
|
* @package AgileBill
|
|
* @version 1.4.93
|
|
*/
|
|
|
|
class plgn_whois_DEFAULT
|
|
{
|
|
function check($domain,$tld,$tld_array)
|
|
{
|
|
//return true;
|
|
// check the domain validity:
|
|
if(!eregi('^[a-zA-Z0-9\-]{1,}$', $domain)) return false;
|
|
if(eregi('[-]{2,}', $domain)) return false;
|
|
if(eregi('^[-]{1,}', $domain)) return false;
|
|
if(eregi('[-]{1,}$', $domain)) return false;
|
|
|
|
|
|
$data = $this->whois($tld_array["whois_server"],$domain . '.' . $tld);
|
|
if(!$data) return false;
|
|
if(eregi($tld_array["avail_response"], $data))
|
|
return true;
|
|
else
|
|
return false;
|
|
return false;
|
|
}
|
|
|
|
|
|
function check_transfer($domain,$tld,$tld_array)
|
|
{
|
|
//return true;
|
|
// check the domain validity:
|
|
if(!eregi('^[a-zA-Z0-9\-]{1,}$', $domain)) return false;
|
|
if(eregi('[-]{2,}', $domain)) return false;
|
|
if(eregi('^[-]{1,}', $domain)) return false;
|
|
if(eregi('[-]{1,}$', $domain)) return false;
|
|
|
|
|
|
$data = $this->whois($tld_array["whois_server"],$domain . '.' . $tld);
|
|
if(!$data) return false;
|
|
if(eregi($tld_array["avail_response"], $data))
|
|
return false;
|
|
else
|
|
return true;
|
|
return false;
|
|
}
|
|
|
|
|
|
function whois($server,$domain)
|
|
{
|
|
$data = " ";
|
|
$fp = fsockopen($server, 43);
|
|
if($fp) {
|
|
fputs($fp, $domain."\r\n");
|
|
while(!feof($fp)) $data .= fread($fp, 1000);
|
|
fclose($fp);
|
|
} else {
|
|
return false;
|
|
}
|
|
return $data;
|
|
}
|
|
|
|
|
|
// not implemented
|
|
function details()
|
|
{
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
?>
|