<?php class HTMLHelper { /** * Function to read parameter from GET or POST request, escape it and filter it by its rules: * string every string * int integer value * decimal decimal value (force conversion of commas into points: 0,01 become 0.01) */ public function form($param, $method = 'get', $escape = true, $rule = 'text') { // method if ($method == 'get') { $value = $_GET[$param]; } else { $value = $_POST[$param]; } if ($value == 'undefined') { $value = ''; } // Rules filter if ($rule == 'int') { $value = intval($value); } else if ($rule == 'decimal') { $value = str_replace(",", ".", $value); } else if ($rule == 'date') { if (preg_match("/^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/", $value, $m)) { $value = $m[3] . "-" . $m[2] . "-" . $m[1]; } else if (preg_match("/^([0-9]{1})\-([0-9]{2})\-([0-9]{2})$/", $value, $m)) { $value = $m[1] . "-" . $m[2] . "-" . $m[3]; } } if ($escape) $value = mres($value); return $value; } } function filter($param, $method = 'both', $rule = 'text') { if ($method == 'both') { if (isset($_GET[$param])) return filter($param, 'get'); else if (isset($_POST[$param])) return filter($param, 'post'); return null; } else if ($method == 'get' && isset($_GET[$param])) $value = $_GET[$param]; else if ($method == 'post' && isset($_POST[$param])) $value = $_POST[$param]; else return null; if ($rule == 'int') $value = intval($value); else if ($rule == 'decimal') $value = str_replace(",", ".", $value); else if ($rule == 'date') { if (preg_match("/^([0-9]{2})\/([0-9]{2})\/([0-9]{4})$/", $value, $m)) $value = $m[3] . "-" . $m[2] . "-" . $m[1]; else if (preg_match("/^([0-9]{1})\-([0-9]{2})\-([0-9]{2})$/", $value, $m)) $value = $m[1] . "-" . $m[2] . "-" . $m[3]; } return $value; } ?>