122 lines
2.9 KiB
PHP
122 lines
2.9 KiB
PHP
<?php
|
|
/*
|
|
Whois.php PHP classes to conduct whois queries
|
|
|
|
Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic
|
|
|
|
Maintained by David Saez
|
|
|
|
For the most recent version of this package visit:
|
|
|
|
http://www.phpwhois.org
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License
|
|
as published by the Free Software Foundation; either version 2
|
|
of the License, or (at your option) any later version.
|
|
|
|
This program is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with this program; if not, write to the Free Software
|
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
|
*/
|
|
|
|
require_once('whois.parser.php');
|
|
|
|
if(!defined('__APNIC_HANDLER__'))
|
|
define('__APNIC_HANDLER__',1);
|
|
|
|
class apnic_handler
|
|
{
|
|
function parse ($data_str, $query)
|
|
{
|
|
$translate = array (
|
|
'fax-no' => 'fax',
|
|
'e-mail' => 'email',
|
|
'nic-hdl' => 'handle',
|
|
'person' => 'name',
|
|
'country' => 'address',
|
|
'netname' => 'name',
|
|
'descr' => 'desc',
|
|
'aut-num' => 'handle',
|
|
'country' => 'country'
|
|
);
|
|
|
|
$contacts = array (
|
|
'admin-c' => 'admin',
|
|
'tech-c' => 'tech'
|
|
);
|
|
|
|
$blocks = generic_parser_a_blocks($data_str,$translate,$disclaimer);
|
|
|
|
if (isset($disclaimer) && is_array($disclaimer)) $r['disclaimer'] = $disclaimer;
|
|
|
|
if (empty($blocks) || !is_array($blocks['main']))
|
|
{
|
|
$r['registered'] = 'no';
|
|
}
|
|
else
|
|
{
|
|
if (isset($blocks[$query]))
|
|
{
|
|
$as = true;
|
|
$rb = $blocks[$query];
|
|
}
|
|
else
|
|
{
|
|
$rb = $blocks['main'];
|
|
$as = false;
|
|
}
|
|
|
|
$r['registered'] = 'yes';
|
|
|
|
foreach ($contacts as $key => $val)
|
|
if (isset($rb[$key]))
|
|
{
|
|
if (is_array($rb[$key]))
|
|
$blk = $rb[$key][count($rb[$key])-1];
|
|
else
|
|
$blk = $rb[$key];
|
|
|
|
//$blk = strtoupper(strtok($blk,' '));
|
|
if (isset($blocks[$blk])) $r[$val] = $blocks[$blk];
|
|
unset($rb[$key]);
|
|
}
|
|
|
|
$r['network'] = $rb;
|
|
format_dates($r,'Ymd');
|
|
|
|
if (isset($r['network']['desc']))
|
|
{
|
|
if (is_array($r['network']['desc']))
|
|
{
|
|
$r['owner']['organization'] = array_shift($r['network']['desc']);
|
|
$r['owner']['address'] = $r['network']['desc'];
|
|
}
|
|
else
|
|
$r['owner']['organization'] = $r['network']['desc'];
|
|
|
|
unset($r['network']['desc']);
|
|
}
|
|
|
|
if (isset($r['network']['address']))
|
|
{
|
|
if (isset($r['owner']['address']))
|
|
$r['owner']['address'][] = $r['network']['address'];
|
|
else
|
|
$r['owner']['address'] = $r['network']['address'];
|
|
|
|
unset($r['network']['address']);
|
|
}
|
|
}
|
|
|
|
$r = array( 'regrinfo' => $r );
|
|
$r['regyinfo']['type'] ='ip';
|
|
$r['regyinfo']['registrar'] = 'Asia Pacific Network Information Centre';
|
|
return $r;
|
|
}
|
|
}
|