4) $lower_limit = $arg_list[4]; if($num_args > 5) $upper_limit = $arg_list[5]; $error = FALSE; if( $null_allowed && ($field == "") ) { $error = FALSE; return $error; } if( !$null_allowed && ($field == "") ) { $error = ENS_QPI_ERROR_CODE_RESPONSE_WAS_BLANK; return $error; } if( ($field != "") ) { switch($type) { case "int16": if(!(preg_match("/(-?)([0-9]{1,5})/",$field)) || !($field >= pow(-2,15) && $field <= (pow(2,15)-1)) ) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE_OR_NON_NUM; } if((isset($lower_limit) && ($field < $lower_limit)) || (isset($upper_limit) && ($field > $upper_limit))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE; } break; case "int32": if(!(preg_match("/(-?)([0-9]{1,10})/",$field)) || !($field >= pow(-2,31) && $field <= (pow(2,31)-1)) ) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE_OR_NON_NUM; } if((isset($lower_limit) && ($field < $lower_limit)) || (isset($upper_limit) && ($field > $upper_limit))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE; } break; case "int64": if(!(preg_match("/(-?)([0-9]{1,19})/",$field)) || !($field >= pow(-2,63) && $field <= (pow(2,63)-1)) ) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE_OR_NON_NUM; } if((isset($lower_limit) && ($field < $lower_limit)) || (isset($upper_limit) && ($field > $upper_limit))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE; } break; case "double": if(!(preg_match("/([[:digit:]]+)$|^([[:digit:]]*)\.([[:digit:]]+)/",$field))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_NOT_FLOAT; } if((isset($lower_limit) && ($field < $lower_limit)) || (isset($upper_limit) && ($field > $upper_limit))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_OUT_OF_RANGE; } break; case "text": $error = FALSE; //we don't care what is in the text field, as long as it's not blank break; case "alpha": if(!(preg_match("/([[:alpha:] -\']+)/",$field))) { $error = ENS_QPI_ERROR_CODE_RESPONSE_NOT_ALPHA; } break; case "non-numeric": if(preg_match("/(.*)([[:digit:]]+)(.*)/",$field)) { $error = ENS_QPI_ERROR_CODE_RESPONSE_NUM; } break; default: $error = FALSE; } } return($error); } ?>