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("Error: ");
echo($message);
echo("
");
UnSet($message);
}