11 define(
"HCUFILTER_REQUEST",
"REQUEST");
15 define(
"HCUFILTER_ENV",
"ENV");
19 define(
"HCUFILTER_VAR",
"VAR");
23 define(
"HCUFILTER_COOKIE",
"COOKIE");
27 define(
"HCUFILTER_SERVER",
"SERVER");
31 define(
"HCUFILTER_INPUT_DIGITS",
"digits");
36 define(
"HCUFILTER_INPUT_STRING",
"string");
41 define(
"HCUFILTER_INPUT_ARRAY",
"array");
45 function dms_import($dms_allowed) {
46 foreach ($dms_allowed as $key => $type) {
47 if (!isset($_REQUEST[$key]) && strpos($type,
"prefix_") ===
false) {
53 if (strlen(trim($_REQUEST[$key])) > 0 && ctype_digit((
string)trim($_REQUEST[$key]))) {
55 ${$key} = trim($_REQUEST[$key]);
59 if (is_string($_REQUEST[$key])) {
61 ${$key} = trim($_REQUEST[$key]);
65 if (is_array($_REQUEST[$key]) &&
sizeof($_REQUEST[$key])) {
67 ${$key} = $_REQUEST[$key];
71 foreach (array_keys($_REQUEST) as $rkey) {
72 if (strpos($rkey,$key) !== FALSE) {
73 if (strlen(trim($_REQUEST[$rkey])) > 0 && ctype_digit((
string)trim($_REQUEST[$rkey]))) {
75 ${$rkey} = trim($_REQUEST[$rkey]);
81 foreach (array_keys($_REQUEST) as $rkey) {
82 if (strpos($rkey,$key) !== FALSE) {
83 if (is_string($_REQUEST[$rkey])) {
85 ${$rkey} = trim($_REQUEST[$rkey]);
91 foreach (array_keys($_REQUEST) as $rkey) {
92 if (strpos($rkey,$key) !== FALSE) {
93 if (is_array($_REQUEST[$rkey]) &&
sizeof($_REQUEST[$rkey])) {
95 ${$rkey} = $_REQUEST[$rkey];
113 function dms_import_v2(&$p_hb_env, $p_hb_key, $dms_allowed) {
114 foreach ($dms_allowed as $key => $type) {
115 if (!isset($_REQUEST[$key]) && strpos($type,
"prefix_") ===
false) {
116 $p_hb_env[$p_hb_key][$key] = NULL;
121 if (strlen(trim($_REQUEST[$key])) > 0 && ctype_digit((
string)trim($_REQUEST[$key]))) {
122 $p_hb_env[$p_hb_key][$key] = $_REQUEST[$key];
126 if (is_string($_REQUEST[$key])) {
127 $p_hb_env[$p_hb_key][$key] = $_REQUEST[$key];
131 if (is_array($_REQUEST[$key]) &&
sizeof($_REQUEST[$key])) {
132 $p_hb_env[$p_hb_key][$key] = $_REQUEST[$key];
136 foreach (array_keys($_REQUEST) as $rkey) {
137 if (strpos($rkey,$key) !== FALSE) {
138 if (strlen(trim($_REQUEST[$rkey])) > 0 && ctype_digit((
string)trim($_REQUEST[$rkey]))) {
139 $p_hb_env[$p_hb_key][$key] = trim($_REQUEST[$key]);
145 foreach (array_keys($_REQUEST) as $rkey) {
146 if (strpos($rkey,$key) !== FALSE) {
147 if (is_string($_REQUEST[$rkey])) {
148 $p_hb_env[$p_hb_key][$rkey] = trim($_REQUEST[$rkey]);
154 foreach (array_keys($_REQUEST) as $rkey) {
155 if (strpos($rkey,$key) !== FALSE) {
156 if (is_array($_REQUEST[$rkey]) &&
sizeof($_REQUEST[$rkey])) {
157 $p_hb_env[$p_hb_key][$key] = $_REQUEST[$rkey];
197 function HCU_ImportVars (&$pHbEnv, $pHbKey, $pVarAllowed) {
209 if (!is_array($pVarAllowed)) {
210 throw new exception(
'Not an Array',
'900');
214 foreach ($pVarAllowed as $fieldName => $fieldType) {
217 if (!is_array($fieldType)) {
222 $prefixArray =
false;
223 switch ($fieldType) {
224 case HCUFILTER_INPUT_DIGITS:
225 $fieldValue = HCU_FilterInput(HCUFILTER_REQUEST, $fieldName, FILTER_VALIDATE_INT);
227 $fieldValue = (strpos($fieldValue,
"-") !==
false ? NULL : $fieldValue);
228 $fieldValue = (strpos($fieldValue,
"+") !==
false ? NULL : $fieldValue);
230 case HCUFILTER_INPUT_STRING:
235 $fieldValue = HCU_FilterInput(HCUFILTER_REQUEST, $fieldName, FILTER_SANITIZE_STRING,
false, array(
'flags' => FILTER_FLAG_NO_ENCODE_QUOTES));
238 case HCUFILTER_INPUT_ARRAY:
239 $fieldValue = HCU_FilterInput(HCUFILTER_REQUEST, $fieldName, FILTER_DEFAULT,
true);
243 $prefixType = ($prefixType ==
'' ? HCUFILTER_INPUT_ARRAY: $prefixType);
247 $prefixType = ($prefixType ==
'' ? HCUFILTER_INPUT_DIGITS : $prefixType);
250 $prefixType = ($prefixType ==
'' ? HCUFILTER_INPUT_STRING : $prefixType);
253 foreach (array_keys($_REQUEST) as $reqKey) {
255 if (strpos($reqKey, $fieldName) !== FALSE) {
257 $prefixArray = array($reqKey => $prefixType);
258 $retPrefix = HCU_ImportVars($pHbEnv, $pHbKey, $prefixArray);
275 $fieldFilter = HCU_array_key_value(
'filter', $fieldType);
276 $fieldFilter = ($fieldFilter == 0 ? FILTER_DEFAULT : $fieldFilter);
278 $fieldFlags = HCU_array_key_value(
'flags', $fieldType);
279 $fieldIsArray = ($fieldFlags == FILTER_REQUIRE_ARRAY ? true :
false);
281 $fieldOptions = HCU_array_key_value(
'options', $fieldType);
282 $fieldValue = HCU_FilterInput(HCUFILTER_REQUEST, $fieldName, $fieldFilter, $fieldIsArray, $fieldOptions);
284 if ($fieldValue !==
false) {
287 $pHbEnv[$fieldName] = $fieldValue;
289 $pHbEnv[$pHbKey][$fieldName] = $fieldValue;
299 if ($pHbKey !=
'' && !isset($pHbEnv[$pHbKey])) {
300 $pHbEnv[$pHbKey] = Array();
303 }
catch (exception $e) {
330 function HCU_FilterInput ($pInputType, $pKeyName, $pFilterType, $pIsArray=
false, $pAddOptions=
false) {
334 $filterOptions = Array();
338 if (is_array($pAddOptions)) {
340 $filterOptions = $pAddOptions;
345 $filterOptions[
'flags'] = intval(HCU_array_key_value(
'flags', $filterOptions)) + FILTER_REQUIRE_ARRAY;
352 switch ($pInputType) {
353 case HCUFILTER_REQUEST:
358 if (HCU_array_key_exists($pKeyName, $_POST)) {
359 $retVal = filter_input(INPUT_POST, $pKeyName, $pFilterType, $filterOptions);
360 } elseif (HCU_array_key_exists($pKeyName, $_GET)) {
361 $retVal = filter_input(INPUT_GET, $pKeyName, $pFilterType, $filterOptions);
366 $filterType = INPUT_ENV;
367 case HCUFILTER_COOKIE:
368 $filterType = ($filterType == 0 ? INPUT_COOKIE : $filterType);
369 case HCUFILTER_SERVER:
370 $filterType = ($filterType == 0 ? INPUT_SERVER : $filterType);
374 $retVal = filter_input($filterType, $pKeyName, $pFilterType, $filterOptions);
380 $retVal = filter_var($pKeyName, $pFilterType, $filterOptions);
400 function HCU_FilterVar( $pValue, $pFilterType, $pIsArray=
false, $pAddOptions=
false ) {
404 $filterOptions = Array();
406 if (is_array($pAddOptions)) {
408 $filterOptions = $pAddOptions;
413 $filterOptions[
'flags'] = intval(HCU_array_key_value(
'flags', $filterOptions)) + FILTER_REQUIRE_ARRAY;
423 $retVal = filter_var( $pValue, $pFilterType, $filterOptions );
453 function HCU_ImportArray( &$pOutput, $pInput, $pVarAllowed ) {
457 if ( !is_array($pOutput) ) {
462 if ( !is_array($pVarAllowed) ) {
463 throw new exception(
'Not an Array',
'901');
467 foreach ($pVarAllowed as $fieldName => $fieldType) {
477 $fieldFilter = HCU_array_key_value(
'filter', $fieldType);
478 $fieldFilter = ($fieldFilter == 0 ? FILTER_DEFAULT : $fieldFilter);
480 $fieldFlags = HCU_array_key_value(
'flags', $fieldType);
481 $fieldIsArray = ($fieldFlags == FILTER_REQUIRE_ARRAY ? true :
false);
483 $fieldOptions = HCU_array_key_value(
'options', $fieldType);
485 $fieldValue = HCU_FilterVar($pInput[$fieldName], $fieldFilter, $fieldIsArray, $fieldOptions);
487 if ($fieldValue !==
false) {
489 $pOutput[$fieldName] = $fieldValue;
492 $pOutput[$fieldName] =
null;
497 }
catch (exception $e) {