/** * Devuelve un parametro POST limpiado si existe y si no devuelve NULL * @param string $nombre * @return null o string */ public function postCleanParam($nombre) { if (isset($this->postParams[$nombre])) { return clean_vars($this->postParams[$nombre]); } else { return NULL; } }
/** * Realiza la limpieza de un string o conjunto de string llamando a la funcion filtro_xss * @param string o array[string] $valor * @return string o array[string] */ function clean_vars($value) { if (is_array($value)) { foreach ($value as $key => $val) { $value[$key] = clean_vars($val); } } else { $value = filter_simple_xss($value); } return $value; }
function clean_vars($vars, $safe_redirect = True) { if (!is_array($vars)) { return $GLOBALS['data_cleaner']->clean($vars, $safe_redirect); } foreach ($vars as $key => $val) { $vars[$key] = clean_vars($val, $safe_redirect); } return $vars; }
/** * Esta funcion devuelve los parametros de la uri, estos son los parametros que en mapeo fueron definidos entre () * No son los parametros GET ni POST * @param string $url * @return array[string] */ function uri_params($url, $uriapp = NULL) { $parametros = NULL; $method = 'index'; $dinamic = FALSE; //Elimino el primer caracter si es igual a "/" $url = ltrim($url, '/'); //Separa la url y la uri en partes para poder analizarlas $partes_url = explode("/", $url); $uri_explode = explode("?", URIAPP); if ($uriapp !== NULL) { $uri_explode = explode("?", $uriapp); } $uri_front = $uri_explode[0]; $partes_uri_actual = explode("/", $uri_front); //Si en la url hay un * o un - limpio paso todo lo que venga desde la url real como un parametro $in_array_guion = in_array('-', $partes_url); $in_array_aster = in_array('*', $partes_url); if ($in_array_guion || $in_array_aster) { $count_partes_uri_actual = count($partes_uri_actual); $encontrado = FALSE; for ($i = 0; $i < $count_partes_uri_actual; $i++) { if (!$encontrado) { if ($partes_url[$i] == '-' || $partes_url[$i] == '*') { $encontrado = TRUE; if ($partes_url[$i] == '-' && $partes_uri_actual[$i] != '') { $method = $partes_uri_actual[$i]; continue; } } else { continue; } } $parametros[] = $partes_uri_actual[$i]; } if ($in_array_guion) { $dinamic = TRUE; } } //Pase lo que pase arriba esto puede ir siempre, ya que puede estar anterior al * o al - $count_partes_uri = count($partes_url); for ($i = 0; $i < $count_partes_uri; $i++) { if (empty($partes_url[$i]) || empty($partes_uri_actual[$i])) { //Si alguno esta vacio ya no hay parametros uri, es decir () break; } else { //Si la parte de la url comienza con ( y termina con ) le paso el parametro if ($partes_url[$i][0] == "(" and $partes_url[$i][strlen($partes_url[$i]) - 1] == ")") { $nombre = trim($partes_url[$i], "()"); $parametros[$nombre] = $partes_uri_actual[$i]; } } } if ($parametros != NULL) { $parametros = clean_vars($parametros); } return array('params' => $parametros, 'method' => $method, 'dinamic' => $dinamic); }