";
}
- private function procesaEnvioImagen($operacion, $campo)
- {
-
- switch ($operacion) {
- /*
- * Insertar:
- * Ha incluido archivo? sino fin
- * Si se ha incluido ¿se ha subido correctamente? sino error
- * mover archivo a tmp con un nombre
- * comprimir con un nombre genérico y único en la carpeta de datos
- * devolver el nombre del archivo creado como valor a guardar en el campo imagen
- * (se podría activar una vez insertado el registro que se renombrara el archivo con el id del elemento y se cambiara el campo)
- */
-
-
- /*
- * Borrar:
- * Hay imagen asociada? sino fin
- * Se borra el archivo de imagen del directorio de datos
- */
-
- /*
- * Modificar:
- * Casuística:
- * 1: No existe imagen ni antes ni ahora.
- * 2: No existía imagen y ahora sí
- * 3: Existía imagen y ahora no
- * 4: Existía imagen antes y ahora y es la misma
- * 5: Existía imagen antes y ahora y es distinta
- */
-
- }
- }
-
protected function modificar()
{
//Los datos a utilizar para actualizar la tupla vienen en $_POST.
@@ -457,10 +415,34 @@ class Mantenimiento {
$valor = $_POST[$campo] == "on" ? '1' : $valor;
$comando.=$coma . ' ' . $campo . '="' . $valor . '"';
} else {
- if (strlen(trim($_POST[$campo])) == 0) {
- $comando.="$coma $campo=null";
+ if (stristr($this->campos[$campo]['Comment'], "imagen")) {
+ $valor = $_POST[$campo];
+ $imagen = new Imagen();
+ $accion = $imagen->determinaAccion($campo);
+ if ($accion != NOHACERNADA) {
+ if ($accion == HAYQUEGRABAR) {
+ $mensaje = "";
+ if (!$imagen->procesaEnvio($campo, $mensaje)) {
+ return $this->panelMensaje($mensaje, "danger", "ERROR PROCESANDO IMAGEN");
+ }
+ $mensaje = "";
+ if (!$imagen->mueveImagenId($this->tabla, $this->datosURL['id'], $mensaje)) {
+ return $this->panelMensaje($mensaje, "danger", "ERROR COMPRIMIENDO IMAGEN");
+ }
+ $comando .= "$coma $campo='" . $imagen->archivoComprimido . "'";
+ } else {
+ //Hay que borrar
+ Imagen::borraImagenId($this->tabla, $this->datosURL['id']);
+ $extensiones = array("png", "jpg", "gif");
+ $comando .= "$coma $campo=null";
+ }
+ }
} else {
- $comando.=$coma . ' ' . $campo . '="' . $_POST[$campo] . '"';
+ if (strlen(trim($_POST[$campo])) == 0) {
+ $comando.="$coma $campo=null";
+ } else {
+ $comando.=$coma . ' ' . $campo . '="' . $_POST[$campo] . '"';
+ }
}
}
}
@@ -669,10 +651,14 @@ class Mantenimiento {
$salida .= '';
continue;
}
- if ($tipoCampo == "imagen(".$tamano.")") {
+ if (stristr($this->campos[$campo]['Comment'], "imagen")) {
$salida .= $this->creaCampoImagen($campo, $valorDato, $tipo);
continue;
}
+ if (stristr($this->campos[$campo]['Type'], "int")) {
+ $tipo_campo = "number";
+ $modoEfectivo .= ' onkeypress = "if ( isNaN(this.value + String.fromCharCode(event.keyCode) )) return false;" ';
+ }
//Si no es una clave foránea añade un campo de texto normal
$salida.='
\n";
diff --git a/inc/configuracion.inc b/inc/configuracion.inc
index ee26619..767abfc 100644
--- a/inc/configuracion.inc
+++ b/inc/configuracion.inc
@@ -39,4 +39,5 @@ define('COLORLAT', '#46d6db'); //Color de la barra de menú lateral
define('COLORFON', '#a4bdfc'); //Color del fondo de la pantalla
define('MYSQLDUMP', '/usr/local/bin/mysqldump'); //camino a mysqldump
define('GZIP', '/usr/bin/gzip'); //Camino a gzip
+define('IMAGEDATA', 'img.data'); //Directorio donde se almacenarán las imágenes
?>
diff --git a/inc/version.inc b/inc/version.inc
index 43eba1c..c6d632c 100644
--- a/inc/version.inc
+++ b/inc/version.inc
@@ -23,5 +23,5 @@
*/
define('AUTOR', 'Ricardo Montañana Gómez');
-define('VERSION', '1.04');
+define('VERSION', '1.05');
?>
diff --git a/sql/setup.sql b/sql/setup.sql
index 4e412ec..e3bd21a 100644
--- a/sql/setup.sql
+++ b/sql/setup.sql
@@ -27,6 +27,7 @@ CREATE TABLE `Articulos` (
`marca` varchar(20) default NULL COMMENT 'ordenable',
`modelo` varchar(20) default NULL COMMENT 'ordenable',
`cantidad` int(11) default NULL COMMENT 'ordenable',
+ `imagen` varchar(45) default NULL COMMENT 'imagen',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=785 DEFAULT CHARSET=utf8;
SET character_set_client = @saved_cs_client;
@@ -46,6 +47,7 @@ CREATE TABLE `Elementos` (
`numserie` varchar(30) default NULL COMMENT 'ordenable',
`cantidad` int(10) unsigned default NULL COMMENT 'ordenable',
`fechaCompra` date NOT NULL COMMENT 'ordenable',
+ `imagen` varchar(45) default NULL COMMENT 'imagen',
PRIMARY KEY (`id`),
KEY `id` (`id`),
KEY `id_Articulo` (`id_Articulo`),