<?php if(!defined("MCR")){ exit("Hacking Attempt!"); } function filter($var, $type, $opt=''){ if(!empty($opt)){ $opt = json_decode($opt, true); } switch($type){ case 'int': return intval($var); break; case 'float': return floatval($var); break; case 'bool': return filter_var($var, FILTER_VALIDATE_BOOLEAN); break; case 'hsc': return htmlspecialchars($var); break; case 'chars': return preg_replace("/[^\w]+/i", "", $var); break; case 'nums': return preg_replace("/[^\d]+/", "", $var); break; case 'email': return preg_replace("/[^a-z0-9\-\@\.]+/i", "", $var); break; case 'ipv4': return preg_replace("/[^\d\.]+/", "", $var); break; case 'domain': return preg_replace("/[^a-z0-9\-\.]+/i", "", $var); break; case 'string': return preg_replace("/[\'\"\`\>\<\{\\\}\%]+/i", "", $var); break; case 'num_array': $new_array = array(); if(!is_array($var) || empty($array)){ return $new_array; } foreach($var as $key => $value){ $new_array[$key] = (@$opt['float']) ? floatval($value) : intval($value); } return $new_array; break; case 'more_than_zero': if(is_array($var)){ foreach($var as $key => $val){ if(@$opt['float']){ $var[$key] = (floatval($var)<=0) ? 1 : floatval($var); }else{ $var[$key] =(intval($var)<=0) ? 1 : intval($var); } } return $var; }else{ if(@$opt['float']){ return (floatval($var)<=0) ? 1 : floatval($var); }else{ return (intval($var)<=0) ? 1 : intval($var); } } break; default: return false; } } ?>