= 0 && strlen($f) < $min) return -1; if ($max >= 0 && strlen($f) > $max) return 1; return 0; } /// Valida que el campo sea una dirección de e-mail. function es_email($f) { if (preg_match('/^[a-zA-Z][\w\.-]*[a-zA-Z0-9]@[a-zA-Z0-9][\w\.-]*[a-zA-Z0-9]\.[a-zA-Z][a-zA-Z\.]*[a-zA-Z]$/', $f)) return true; return false; } /// Verifica si el campo f está vacío, dando un error con el nombre n si lo está. function check_vacio($f, $n) { if (!trim($f)) { error("Falta ingresar el campo $n!"); return false; } return true; } /** * Verifica si el campo f tiene entre max y min caracteres (ver min_max_cant). * Si hay un error se usa el nombre de campo n para el mensaje. */ function check_min_max_cant($f, $n, $min, $max) { switch (min_max_cant($f, $min, $max)) { case 1: error("El campo $n debe tener a lo sumo $max caracteres!"); return false; case -1: error("El campo $n debe tener al menos $min caracteres!"); return false; } return true; } /** * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei * n para el mensaje de error. */ function check_iguales($f1, $f2, $n) { if ($f1 != $f2) { error("No coinciden los valores del campo $n!"); return false; } return true; } /** * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei * n para el mensaje de error. */ function check_email($f, $n) { if (!es_email($f)) { error("$f no es una dirección de e-mail válida!"); return false; } return true; } /// Verifica que un upload sea correcto y el archivo sea de alguno de los tipos function check_file_upload($file, $nombre = 'El archivo', $types = array()) { switch ($file['error']) { case 1: //UPLOAD_ERR_INI_SIZE: case 2: //UPLOAD_ERR_FORM_SIZE: error($nombre.' es demasiado grande!'); return false; case 3: //UPLOAD_ERR_PARTIAL: error($nombre.' no llegó bien (se interrumpió la transmisión)!'); return false; case 4: //UPLOAD_ERR_NO_FILE: error('Debe especificar '.strtolower($nombre).'!'); return false; case 5: //UPLOAD_ERR_NO_TMP_DIR: error($nombre.'Error interno (no existe el directorio de upload)!'); return false; } if ($types and !in_array($file['type'], $types)) { error($nombre.' debe ser del tipo '.join(' o ', $types).'!'); return false; } return true; } /// Verifica que una fecha sea válida. function check_fecha($anio, $mes, $dia) { if (!preg_match('/^\d{4}$/', $anio) or $anio > date('Y') or $anio < 2000) { error('El año no es válido!'); return false; } if ($mes < 1 or $mes > 12) { error('El mes no es válido!'); return false; } if ($dia < 1 or $mes > 31) { error('El día no es válido!'); return false; } return true; } /// Verifica que sea un número entero. function check_numero($n) { if (preg_match('/^\d+$/', $n)) return true; error("$n no es un número entero!"); return false; } /// Verifica que sea un número de registro de un asociado. function check_asociado($user) { if (Usuario::asociado($user)) return true; error("$user no es un número de registro de un usuario asociado!"); return false; } /// Verifica que sea la password correcta. function check_password($user, $pass) { if ($user->getPassword() == $pass) return true; error('Contraseña incorrecta!'); return false; } ?>