/** * @license http://www.gnu.org/licenses/gpl-2.0.html GNU General Public License, version 2 * @license * 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. * * @link http://phpwhois.pw * @copyright Copyright (C)1999,2005 easyDNS Technologies Inc. & Mark Jeftovic * @copyright Maintained by David Saez * @copyright Copyright (c) 2014 Dmitry Lukashin */ function generic_parser_a($rawdata, $translate, $contacts, $main = 'domain', $dateformat = 'dmy') { $blocks = generic_parser_a_blocks($rawdata, $translate, $disclaimer); $ret = []; if (isset($disclaimer) && is_array($disclaimer)) { $ret['disclaimer'] = $disclaimer; } if (empty($blocks) || !is_array($blocks['main'])) { $ret['registered'] = 'no'; return $ret; } $r = $blocks['main']; $ret['registered'] = 'yes'; while (list($key, $val) = each($contacts)) { if (isset($r[$key])) { if (is_array($r[$key])) { $blk = $r[$key][count($r[$key]) - 1]; } else { $blk = $r[$key]; } $blk = strtoupper(strtok($blk, ' ')); if (isset($blocks[$blk])) { $ret[$val] = $blocks[$blk]; } unset($r[$key]); } } if ($main) { $ret[$main] = $r; } format_dates($ret, $dateformat); return $ret; }
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); $r = array(); 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'; while (list($key, $val) = each($contacts)) { 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; }
function parse($data_str, $query) { $translate = array('expire' => 'expires', 'nserver' => 'nserver', 'domain' => 'name', 'nic-hdl' => 'handle', 'reg-c' => '', 'descr' => 'desc', 'e-mail' => 'email', 'person' => 'name', 'role' => 'organization', 'fax-no' => 'fax'); $contacts = array('admin-c' => 'admin', 'tech-c' => 'tech', 'bill-c' => 'billing'); $r['regyinfo'] = array('referrer' => 'http://www.nic.cz', 'registrar' => 'CZ-NIC'); $blocks = generic_parser_a_blocks($data_str['rawdata'], $translate, $disclaimer); if (isset($disclaimer) && is_array($disclaimer)) { $reg['disclaimer'] = $disclaimer; } if (!isset($blocks) || !is_array($blocks['main'])) { $reg['registered'] = 'no'; $r['regrinfo'] = $reg; return $r; } $reg['registered'] = 'yes'; $reg['domain'] = $blocks['main']; $reg['owner'] = $blocks[$blocks['main']['admin-c']]; if (isset($reg['owner']['admin-c'])) { if (is_array($reg['owner']['admin-c'])) { $reg['admin'] = $blocks[$reg['owner']['admin-c'][0]]; } else { $reg['admin'] = $blocks[$reg['owner']['admin-c']]; } } else { $reg['admin'] = $reg['owner']; } if (isset($blocks['main']['tech-c'])) { $tech = $blocks['main']['tech-c']; } else { if (isset($reg['owner']['tech-c'])) { $tech = $reg['owner']['tech-c']; } else { $tech = ''; } } if ($tech != '') { if (is_array($tech)) { $reg['tech'] = $blocks[$tech[0]]; } else { $reg['tech'] = $blocks[$tech]; } } if (isset($blocks['main']['bill-c'])) { $bill = $blocks['main']['bill-c']; } else { if (isset($reg['owner']['bill-c'])) { $bill = $reg['owner']['bill-c']; } else { $bill = ''; } } if ($bill != '') { if (is_array($bill)) { $reg['bill'] = $blocks[$bill[0]]; } else { $reg['bill'] = $blocks[$bill]; } } if (isset($reg['domain']['tech-c'])) { unset($reg['domain']['tech-c']); } if (isset($reg['domain']['admin-c'])) { unset($reg['domain']['admin-c']); } if (isset($reg['domain']['bill-c'])) { unset($reg['domain']['bill-c']); } if (isset($reg['owner']['tech-c'])) { unset($reg['owner']['tech-c']); } if (isset($reg['owner']['admin-c'])) { unset($reg['owner']['admin-c']); } if (isset($reg['owner']['bill-c'])) { unset($reg['owner']['bill-c']); } if (isset($reg['admin']['tech-c'])) { unset($reg['admin']['tech-c']); } if (isset($reg['admin']['admin-c'])) { unset($reg['admin']['admin-c']); } if (isset($reg['admin']['bill-c'])) { unset($reg['admin']['bill-c']); } if (isset($reg['tech']['tech-c'])) { unset($reg['tech']['tech-c']); } if (isset($reg['tech']['admin-c'])) { unset($reg['tech']['admin-c']); } if (isset($reg['tech']['bill-c'])) { unset($reg['tech']['bill-c']); } if (isset($reg['bill'])) { if (isset($reg['bill']['tech-c'])) { unset($reg['bill']['tech-c']); } if (isset($reg['bill']['admin-c'])) { unset($reg['bill']['admin-c']); } if (isset($reg['bill']['bill-c'])) { unset($reg['bill']['bill-c']); } } format_dates($reg, 'Ymd'); $r['regrinfo'] = $reg; return $r; }