// $Id$
require_once 'lib/pagina.php';
+require_once 'lib/Usuario.php';
-// Devuelve 1 si el campo f tiene más de max caracteres, -1 si tiene menos
-// de min caracteres y 0 si está entre max y min. Si max o min es negativo,
-// no se chequea por un máximo o mínimo respectivamente.
+/**
+ * Devuelve 1 si el campo f tiene más de max caracteres, -1 si tiene menos
+ * de min caracteres y 0 si está entre max y min. Si max o min es negativo,
+ * no se chequea por un máximo o mínimo respectivamente.
+ */
function min_max_cant($f, $min, $max)
{
if ($min >= 0 && strlen($f) < $min) 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á.
+/// 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))
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.
+/**
+ * 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))
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.
+/**
+ * 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)
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.
+/**
+ * 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))
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 (retorna error).
+function ret_check_asociado($user)
+{
+ if (Usuario::asociado($user)) return '';
+ return "$user no es un número de registro de un usuario asociado!";
+}
+
+/// Verifica que sea la password correcta (retorna error).
+function ret_check_password($user, $pass)
+{
+ if ($user->getPassword() == $pass) return '';
+ return 'Contraseña incorrecta!';
+}
+
+/// Verifica que sea un número de registro de un asociado.
+function check_asociado($user)
+{
+ if ($err = ret_check_asociado($user))
+ error($err);
+ return !$err;
+}
+
+/// Verifica que sea la password correcta.
+function check_password($user, $pass)
+{
+ if ($err = ret_check_password($user, $pass))
+ error($err);
+ return !$err;
+}
+
?>
\ No newline at end of file