Example #1
0
/**
 * @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;
 }
Example #3
0
 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;
 }