2 // vim: set binary noeol et sw=4 sts=4 :
5 // Lucarella, Schein, Arena
7 // Creado: Leandro Lucarella (dom may 1 00:46:42 ART 2005)
11 require_once 'lib/pagina.php';
14 * Devuelve 1 si el campo f tiene más de max caracteres, -1 si tiene menos
15 * de min caracteres y 0 si está entre max y min. Si max o min es negativo,
16 * no se chequea por un máximo o mínimo respectivamente.
18 function min_max_cant($f, $min, $max)
20 if ($min >= 0 && strlen($f) < $min) return -1;
21 if ($max >= 0 && strlen($f) > $max) return 1;
27 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;
31 /// Verifica si el campo f está vacío, dando un error con el nombre n si lo está.
32 function check_vacio($f, $n)
36 error("Falta ingresar el campo $n!");
43 * Verifica si el campo f tiene entre max y min caracteres (ver min_max_cant).
44 * Si hay un error se usa el nombre de campo n para el mensaje.
46 function check_min_max_cant($f, $n, $min, $max)
48 switch (min_max_cant($f, $min, $max))
51 error("El campo $n debe tener a lo sumo $max caracteres!");
54 error("El campo $n debe tener al menos $min caracteres!");
61 * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei
62 * n para el mensaje de error.
64 function check_iguales($f1, $f2, $n)
68 error("No coinciden los valores del campo $n!");
75 * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei
76 * n para el mensaje de error.
78 function check_email($f, $n)
82 error("$f no es una dirección de e-mail válida!");
88 /// Verifica que un upload sea correcto y el archivo sea de alguno de los tipos
89 function check_file_upload($file, $nombre = 'El archivo', $types = array())
92 switch ($file['error'])
94 case 1: //UPLOAD_ERR_INI_SIZE:
95 case 2: //UPLOAD_ERR_FORM_SIZE:
96 error($nombre.' es demasiado grande!');
98 case 3: //UPLOAD_ERR_PARTIAL:
99 error($nombre.' no llegó bien (se interrumpió la transmisión)!');
101 case 4: //UPLOAD_ERR_NO_FILE:
102 error('Debe especificar '.strtolower($nombre).'!');
104 case 5: //UPLOAD_ERR_NO_TMP_DIR:
105 error($nombre.'Error interno (no existe el directorio de upload)!');
108 if ($types and !in_array($file['type'], $types))
110 error($nombre.' debe ser del tipo '.join(' o ', $types).'!');