0) { $val = "{$matches[1]}-{$matches[2]}-{$matches[3]} {$matches[4]}"; } else { $val = NULL; } } function filter_language(&$val) { $languages = array('en','fr'); if(!in_array($val, $languages)) $val = NULL; } function filter_languages(&$val) { $langs = explode(',', $val); $val = array(); foreach($langs as $l) { filter_language($l); if($l !== NULL) { $val[] = $value; } } } function filter_int_list(&$val, $size=0) { if(is_array($val)) return; if($val === NULL or $val == '') { $val = array(); } else { $l = explode(',', $val); $val = array(); $x = 0; foreach($l as $value) { if($value === '') { $val[] = NULL; } else { $val[] = (int)$value; } /* If we hit size, stop. If $size == 0 we'll never hit this */ $x++; if($x == $size) break; } } /* If it's not big enough, pad it with NULLs */ if(count($val) < $size) { for($x=count($val); $x<$size; $x++) { $val[] = NULL; } } } function filter_str_list(&$val) { if(is_array($val)) return; if($val === NULL or $val == '') { $val = array(); } else { $l = explode(',', $val); $val = array(); foreach($l as $value) { $val[] = $value; } } } /* Return null if we can't find the var because sometimes $_POST doesn't contain * form fields if they weren't filled out and/or left untouched */ function post_get_value($var) { if(is_array($var)) { $arr = &$_POST; foreach($var as $v) { if(!array_key_exists($v, $arr)) { return NULL; } if(is_array($arr[$v])) { $arr = &$arr[$v]; } else { return $arr[$v]; } } /* If we get all the way through the $var array, return * whatever is left, it might be an array */ return $arr; } else { if(!array_key_exists($var, $_POST)) return NULL; return $_POST[$var]; } } function post_bool(&$val, $var) { $v = post_get_value($var); if($v !== NULL) { if($v == '') { $val = NULL; } else { $val = ((int)$v==0) ? 0 : 1; } } } function post_int(&$val, $var) { $v = post_get_value($var); if($v !== NULL) { $val = ($v == '') ? NULL : (int)$v; } } function post_float(&$val, $var) { $v = post_get_value($var); if($v !== NULL) { $val = ($v == '') ? NULL : (float)$v; } } function post_text(&$val, $var) { $v = post_get_value($var); if($v !== NULL) { $val = ($v == '') ? NULL : $v; } } function post_array(&$val, $var, $choices = NULL) { $v = post_get_value($var); if($v !== NULL) { $val = array(); foreach($v as $idx=>$dat) { if($choices === NULL || array_key_exists($dat, $choices)) { $val[] = $dat; } } } } function post_int_list(&$val, $var) { $v = post_get_value($var); if($v !== NULL) { $val = array(); foreach($v as $idx=>$dat) { $val[(int)$idx] = (int)$dat; } } } ?>