<?php
/*
  Generic3.php    PHP functions for parsing whois output

  Copyright (C)2003

  Maintained by Mark Jeftovic <markjr@easydns.com>

  For the most recent version of this package:

  http://www.easydns.com/~markjr/whois2/

  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.
*/

function generic_whois ( $rawdata, $items )

{
$r="";
$disok=true;

while (list($key,$val)=each($rawdata))
      { if (trim($val)!="") 
           { 
	     if (($val[0]=='%' || $val[0]=='#') && $disok)
                { $r['disclaimer'][]=trim(substr($val,1));
		  $disok=true;
		  continue;
                }
	     
	     $disok=false;
	     reset($items);
	     //$ok=0;

             while (list($field, $match)=each($items)) 
                   {
		     $pos=strpos($val,$match);
                     if ($pos!==false) 
                        { $parts=explode(".",$field);
                          $var="\$r";
                          while (list($fn,$mn)=each($parts))
                                if ($mn=="")
                                     $var=$var."[]";
                                else $var=$var."[\"".$mn."\"]";

			  $itm=trim(substr($val,$pos+strlen($match)));
			  //$itm=addslashes($itm);
                          if ($itm!="")
                              eval($var."=\"".$itm."\";");
                          //$ok=1;
                          break;
                        }
                   }
	     // buggy	
             //if ($ok==0 && $val[0]==" ")
             //    eval($var."=\"".trim($val)."\";");
           }
      }

return $r;
}

