ref #22 Terminada la gestión de imágenes en elementos.

- Añadido un campo imagen a Artículos
- Añadido un control javascript para que no se puedan introducir caracteres en los campos numéricos
- Añadido el directorio donde guardar las imágenes en configuracion.inc (no se puede editar)
- Cambiado setup.sql para que se añadan los campos de imagen en ambas tablas en una instalación inicial
- Versión 1.05 en fichero de configuración.
This commit is contained in:
2014-03-23 03:47:09 +01:00
parent db43f56c03
commit 58703f0d90
5 changed files with 56 additions and 76 deletions

View File

@@ -30,9 +30,9 @@ class Imagen {
private $extension;
private $dirData;
public function __construct($directorio = "img.data")
public function __construct()
{
$this->dirData = $directorio;
$this->dirData = IMAGEDATA;
}
public function determinaAccion($campo)
@@ -40,7 +40,7 @@ class Imagen {
if (isset($_POST[$campo]) && $_POST[$campo] == "") {
return HAYQUEBORRAR; //Hay que borrar el archivo de imagen
} elseif ($_FILES[$campo]['error'] == 0) {
return HAYQUEGUARDAR; //Hay que guardar el archivo de imagen enviado
return HAYQUEGRABAR; //Hay que guardar el archivo de imagen enviado
} else {
return NOHACERNADA; //No hay que hacer nada
}
@@ -101,35 +101,26 @@ class Imagen {
}
}
public function mueveImagenId($id, &$mensaje)
public static function borraImagenId($tabla, $id)
{
if (!$this->comprimeArchivo($id, $mensaje)) {
$extensiones = array ("png", "gif", "jpg");
foreach ($extensiones as $extension) {
$archivo = IMAGEDATA . "/" . $tabla . "_" . $id . "." . $extension;
if (file_exists($archivo)) {
unlink ($archivo);
}
}
}
public function mueveImagenId($tabla, $id, &$mensaje)
{
if (!$this->comprimeArchivo($tabla . "_" . $id, $mensaje)) {
return false;
} else {
return true;
}
}
private function generaNombre()
{
//De momento no se utiliza
$i = 0;
$salir = false;
$nombre = strftime("%Y%m%d%H%M%S");
//limita a 1000 intentos el buscar un archivo inexistente
while ($i++<1000 and !$salir) {
$test = $nombre . $i;
$fichero = $this->dirData . "/" . $test . "." . $this->extension;
if (!file_exists($fichero)) {
$salir = true;
}
}
if (!salir) {
throw new Exception("No se ha podido encontrar un nombre de archivo único en ".$this->dirData, 1);
}
return $fichero;
}
private function comprimeArchivo($id, &$mensaje)
{
$zebra = new Zebra_Image();