]> git.llucax.com Git - z.facultad/75.43/tp1.git/blobdiff - src/lib/validacion.php
Se corrige documentación.
[z.facultad/75.43/tp1.git] / src / lib / validacion.php
index c15a5047878f1badceaf554e14c35f3666ba4c1a..525eb2a7203afdd065b71af6aeb97e138ea56253 100644 (file)
 
 require_once 'lib/pagina.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;
@@ -26,7 +28,7 @@ function es_email($f)
     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))
@@ -37,8 +39,10 @@ function check_vacio($f, $n)
     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))
@@ -53,8 +57,10 @@ function check_min_max_cant($f, $n, $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)
@@ -65,8 +71,10 @@ function check_iguales($f1, $f2, $n)
     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))
@@ -77,4 +85,32 @@ function check_email($f, $n)
     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())
+{
+    d($file);
+    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;
+}
+
 ?>
\ No newline at end of file