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;
25 /// Valida que el campo sea una dirección de e-mail.
28 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;
32 /// Verifica si el campo f está vacío, dando un error con el nombre n si lo está.
33 function check_vacio($f, $n)
37 error("Falta ingresar el campo $n!");
44 * Verifica si el campo f tiene entre max y min caracteres (ver min_max_cant).
45 * Si hay un error se usa el nombre de campo n para el mensaje.
47 function check_min_max_cant($f, $n, $min, $max)
49 switch (min_max_cant($f, $min, $max))
52 error("El campo $n debe tener a lo sumo $max caracteres!");
55 error("El campo $n debe tener al menos $min caracteres!");
62 * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei
63 * n para el mensaje de error.
65 function check_iguales($f1, $f2, $n)
69 error("No coinciden los valores del campo $n!");
76 * Verifica si los campos f1 y f2 son iguales. Si no lo son se usa el nombrei
77 * n para el mensaje de error.
79 function check_email($f, $n)
83 error("$f no es una dirección de e-mail válida!");
89 /// Verifica que un upload sea correcto y el archivo sea de alguno de los tipos
90 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).'!');
116 /// Verifica que una fecha sea válida.
117 function check_fecha($anio, $mes, $dia)
119 if (!preg_match('/^\d{4}$/', $anio) or $anio > date('Y') or $anio < 2000)
121 error('El año no es válido!');
124 if ($mes < 1 or $mes > 12)
126 error('El mes no es válido!');
129 if ($dia < 1 or $mes > 31)
131 error('El día no es válido!');