All pastes #199797 Raw Edit

Miscellany

public php v1 · immutable
#199797 ·published 2006-10-12 19:19 UTC
rendered paste body
Define('VARCHECK_FROM_POST', 0x02, True);Define('VARCHECK_FROM_GET',  0x01, True);Define('VARCHECK_MISSING',   0x00, True);class VarCheckNothingFoundException extends Exception{  public function __construct()  {    parent::__construct('There where non of the specified Variables passed by the user.', 0x01);  }} function VarCheck(){  global $HTTP_POST_VARS;  global $HTTP_GET_VARS;  $used = Array(    'submit',    'preview',    'delete',    'poll_delete',    'poll_add',    'poll_edit',    'mode'  );     $aliases = Array(    'post',    'preview',    'delete',    'poll_delete',    'add_poll_option',    'edit_poll_option',    'mode'  );    $locate = Array();     $numParams = Count($params);  $numMissing = 0x00;    For($iter=0x00; $iter<$numParams; $iter=0x01+$iter)  {    $search = $used[$iter];       If( IsSet($HTTP_POST_VARS[$search]) )    {      $locate[$iter] = VARCHECK_FROM_POST;    }    ElseIf( IsSet($HTTP_GET_VARS[$search]) )    {      $locate[$iter] = VARCHECK_FROM_GET;    }    Else    {      $locate[$iter] = VARCHECK_MISSING;    }      Switch($locate[$iter])    {      Case VARCHECK_MISSING:        $buffer = Null;        Break;      Case VARCHECK_FROM_GET:        $buffer = $HTTP_GET_VARS[$search];        Break;      Case VARCHECK_FROM_POST:        $buffer = $HTTP_POST_VARS[$search];    }      If( $buffer !== Null )    {      If( (bool) Get_Magic_Quotes_Gpc() == True )      {        $buffer = StripSlashes($buffer);      }        $buffer = HTMLSpecialChars($buffer);        $alias = $aliases[$iter];            $code = "\$".$alias." = \$buffer;";      Eval($code);    }    if($locate[$iter] === VARCHECK_MISSING)    {      $numMissing = 0x01+$numMissing;    }      UnSet($search);    UnSet($buffer);    UnSet($alias);    UnSet($code);    if($numMissing == $numParams Or $numMissing > $numParams)    {      break;    }  }    UnSet($used);  UnSet($aliases);  UnSet($locate);  UnSet($iter);  if($numMissing == $numParams Or $numMissing > $numParams)  {    UnSet($numParams);    UnSet($numMissing);        throw new VarCheckNothingFoundException();  }  UnSet($numParams);  UnSet($numMissing);  return True;}Try {  VarCheck();} Catch(VarCheckNothingFoundException $nothingFoundException) {  if( is_callable('gettext') )  {    $message = gettext($nothingFoundException->getMessage());  }  else  {    $message = $nothingFoundException->getMessage();  }  echo("<b>Error:</b> ");  echo($message);  echo("<br />");  UnSet($message);}