mirror of
https://github.com/rmontanana/inventario2.git
synced 2025-08-16 07:56:00 +00:00
Compare commits
18 Commits
Ajaxminusc
...
1.11b
Author | SHA1 | Date | |
---|---|---|---|
ebe0d77961 | |||
|
d7bfa748f3 | ||
5119614455 | |||
|
a87e8016fc | ||
70887f5b62 | |||
|
e7eda6ae01 | ||
2d6514b264 | |||
b28c1e3683 | |||
|
fce421116d | ||
|
ce796b3684 | ||
13e4c12069 | |||
9a77339af6 | |||
6668596611 | |||
5edee2b517 | |||
b8d071619f | |||
|
e7dea5a8a9 | ||
ec03e8c295 | |||
060e52580a |
@@ -27,7 +27,7 @@ define('FORMULARIO_ACCESO', '<form name="formulario_acceso" action="index.php?re
|
||||
'Usuario<br><input type="text" name="usuario" value="" size="8" /><br><br>Clave<br><input type="password" name="clave" value="" size="8" />' .
|
||||
'<br><br><button type="submit" name="iniciar" class="btn btn-primary">Iniciar <span class="glyphicon glyphicon-log-in"></span></button></form>');
|
||||
define('MENSAJE_DEMO', 'Puede Iniciar sesión con<br>usuario <i><b>demo</b></i><br>contraseña <i>demo</i><br>');
|
||||
define('USUARIO_INCORRECTO', '<label class="error">Usuario y clave incorrectos!</label><br><br>');
|
||||
define('USUARIO_INCORRECTO', '<label class="bg-danger">Usuario y clave incorrectos!</label><br><br>');
|
||||
define('CREDITOS', '<div class="modal fade" tabindex="-1" id="creditos" role="dialog" aria-labelledby="modalCreditos" aria-hidden="true">
|
||||
<div class="modal-dialog modal-lg">
|
||||
<div class="modal-content">
|
||||
@@ -237,8 +237,9 @@ class AportaContenido {
|
||||
case 'principal': // contenido inicial
|
||||
|
||||
$creditos = "$('#creditos').modal({keyboard: false});";
|
||||
$centro = '<div class="well well-sm">' . CENTRO . '</div>';
|
||||
return $mensaje . '<br><br><center><img src="img/logo.png" alt="' . PROGRAMA . '" onClick="' . $creditos . '" >' .
|
||||
'<br><br><label onClick="' . $creditos . '">' . CENTRO . '</label></center><br><br>' . CREDITOS;
|
||||
'<br><br><label onClick="' . $creditos . '">' . $centro . '</label></center><br><br>' . CREDITOS;
|
||||
case 'articulos':
|
||||
case 'ubicaciones':
|
||||
case 'test':
|
||||
|
17
CHANGELOG
17
CHANGELOG
@@ -1,3 +1,20 @@
|
||||
Versión 1.11b 26-04-2014
|
||||
-Cambiada la referencia de etiquetas Apli
|
||||
|
||||
Versión 1.11 26-04-2014
|
||||
-Fix #34 Corregido que salga una etiqueta por cada elemento reflejado en cantidad.
|
||||
-Fix #33 Hay que hacer doble click para editar ajax
|
||||
-Fix #32 Añadido mensaje y enlace al tipo de etiquetas que utiliza y corregido mensaje de error de conexión a base de datos de SQL
|
||||
-Añadido diálogo antes de realizar el inventario total.
|
||||
-Añadido cuadro para resaltar el nombre del centro en la pantalla inicial.
|
||||
-Cambiada la alineación de los campos en Mantenimiento para utilizar el atributo Ajuste
|
||||
|
||||
Versión 1.10 21-04-2014
|
||||
-Corregido error en el nombre del archivo de la clase ajax que estaba en minúsculas
|
||||
-Añadidos botones de acción tipo bootstrap en Mantenimiento y añadido a configuración en estilo
|
||||
-Informe de inventario de Artículo o Ubicación desde id y edición ajax de la descripción
|
||||
-Cambiado mensaje de usuario/clave incorrectos para poner un fondo de color rojo
|
||||
|
||||
Versión 1.09 16-04-2014
|
||||
-Añadida la biblioteca X-Edit
|
||||
-Añadida actualización Ajax en Mantenimiento
|
||||
|
@@ -100,6 +100,7 @@ class Configuracion {
|
||||
$personal = $this->datosConf['ESTILO'] == "personal" ? 'selected' : ' ';
|
||||
$bluecurve = $this->datosConf['ESTILO'] == "bluecurve" ? 'selected' : ' ';
|
||||
$cristal = $this->datosConf['ESTILO'] == "cristal" ? 'selected' : ' ';
|
||||
$bootst = $this->datosConf['ESTILO'] == "bootstrap" ? 'selected' : ' ';
|
||||
$normal = $this->datosConf['PLANTILLA'] == "normal" ? 'selected' : ' ';
|
||||
$bootstrap = $this->datosConf['PLANTILLA'] == "bootstrap" ? 'selected' : ' ';
|
||||
$salida = '<center><div class="col-sm-4 col-md-6"><form name="configura" method="post">';
|
||||
@@ -114,6 +115,7 @@ class Configuracion {
|
||||
$salida.='<tr><td style="vertical-align:middle">Estilo</td><td><select name="ESTILO" class="form-control">';
|
||||
$salida.='<option value="personal" ' . $personal . '>personal</option>';
|
||||
$salida.='<option ' . $bluecurve . '>bluecurve</option>';
|
||||
$salida.='<option ' . $bootst . '>bootstrap</option>';
|
||||
$salida.='<option ' . $cristal . '>cristal</option></select></td></tr>';
|
||||
$salida.='<tr><td style="vertical-align:middle">Color Lateral (bootstrap)</td><td style="vertical-align:middle"><select name="COLORLAT" id="COLORLAT" class="form-control">';
|
||||
foreach ($coloresLateral as $color => $codigo) {
|
||||
|
@@ -83,52 +83,55 @@ class EtiquetasPDF {
|
||||
$aplicacion = $url[1];
|
||||
$protocolo = !empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] !== 'off' || $_SERVER['SERVER_PORT'] == 443 ? "https://" : "http://";
|
||||
$enlace = $protocolo . $_SERVER['SERVER_NAME'] . "/" . $aplicacion . "/index.php?elementos&opc=editar&id=";
|
||||
while($tupla = $this->bdd->procesaResultado()) {
|
||||
if ($i % 2) {
|
||||
//Columna 2
|
||||
$etiq1 = 136;
|
||||
$etiq2 = 105;
|
||||
} else {
|
||||
//Columna 1
|
||||
$etiq1 = 30;
|
||||
$etiq2 = 1;
|
||||
$fila++;
|
||||
}
|
||||
if ($i % 14 == 0) {
|
||||
if (!$primero) {
|
||||
$this->pdf->AddPage();
|
||||
$fila = 0;
|
||||
while($tupla = $this->bdd->procesaResultado()) {
|
||||
for ($j = 0; $j < $tupla['cantidad']; $j++) {
|
||||
//Hay que generar tantas etiquetas como ponga la cantidad de cada elemento
|
||||
if ($i % 2) {
|
||||
//Columna 2
|
||||
$etiq1 = 136;
|
||||
$etiq2 = 105;
|
||||
} else {
|
||||
//Columna 1
|
||||
$etiq1 = 30;
|
||||
$etiq2 = 1;
|
||||
$fila++;
|
||||
}
|
||||
$primero = false;
|
||||
if ($i % 14 == 0) {
|
||||
if (!$primero) {
|
||||
$this->pdf->AddPage();
|
||||
$fila = 0;
|
||||
}
|
||||
$primero = false;
|
||||
}
|
||||
$py = 6 + 41 * $fila;
|
||||
$enlace2=$enlace.$tupla['idEl'];
|
||||
$fichero = "tmp/etiq".rand(1000,9999).".png";
|
||||
QRcode::png($enlace2, $fichero);
|
||||
$this->pdf->image($fichero, $etiq2, $py, 30, 30);
|
||||
unlink($fichero);
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['articulo']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['marca']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['modelo']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['numserie']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, $tupla['fechaCompra']);
|
||||
$py+=$tamLinea-1;
|
||||
$this->pdf->setxy($etiq2, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['ubicacion']));
|
||||
$py+=$tamLinea-1;
|
||||
$this->pdf->setxy($etiq2, $py);
|
||||
$cadena = "idElemento=" . $tupla['idEl'] . " / idArticulo=" . $tupla['idArt'] . " / idUbicacion=" . $tupla['idUbic'];
|
||||
$this->pdf->Cell(30, 10, $cadena);
|
||||
$i++;
|
||||
}
|
||||
$py = 6 + 41 * $fila;
|
||||
$enlace2=$enlace.$tupla['idEl'];
|
||||
$fichero = "tmp/etiq".rand(1000,9999).".png";
|
||||
QRcode::png($enlace2, $fichero);
|
||||
$this->pdf->image($fichero, $etiq2, $py, 30, 30);
|
||||
unlink($fichero);
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['articulo']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['marca']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['modelo']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['numserie']));
|
||||
$py+=$tamLinea;
|
||||
$this->pdf->setxy($etiq1, $py);
|
||||
$this->pdf->Cell(30, 10, $tupla['fechaCompra']);
|
||||
$py+=$tamLinea-1;
|
||||
$this->pdf->setxy($etiq2, $py);
|
||||
$this->pdf->Cell(30, 10, utf8_decode($tupla['ubicacion']));
|
||||
$py+=$tamLinea-1;
|
||||
$this->pdf->setxy($etiq2, $py);
|
||||
$cadena = "idElemento=" . $tupla['idEl'] . " / idArticulo=" . $tupla['idArt'] . " / idUbicacion=" . $tupla['idUbic'];
|
||||
$this->pdf->Cell(30, 10, $cadena);
|
||||
$i++;
|
||||
}
|
||||
//$this->pdf->MultiCell(0,30,var_export($filas,true));
|
||||
}
|
||||
|
@@ -55,10 +55,10 @@ class Importacion {
|
||||
|
||||
private function formulario() {
|
||||
$accion = "index.php?importacion&opc=importar";
|
||||
$salida .= '<script type="text/javascript" src="css/bootstrap-filestyle.min.js"> </script>';
|
||||
//$salida .= '<script type="text/javascript" src="css/bootstrap-filestyle.min.js"> </script>';
|
||||
$salida .='<div class="col-sm-6 col-md-6">';
|
||||
$salida .= '<form enctype="multipart/form-data" name="importacion.form" method="post" action="' . $accion . '">' . "\n";
|
||||
$salida .= "<fieldset style=\"width: 96%;\"><p><legend style=\"color: red;\"><b>Elige Archivo</b></legend>\n";
|
||||
$salida .= "<fieldset style=\"width: 96%;\"><p><legend style=\"color: red;\"><b>Elige Archivo</b></legend></p>\n";
|
||||
//$salida .= '<input type="file" name="fichero" id="fichero" onChange="seleccionFichero(this);" class="filestyle" data-classButton="btn btn-primary">';
|
||||
//$salida .= '<input type="file" name="fichero" id="fichero" onChange="seleccionFichero(this);">';
|
||||
//$salida .= '<input type="file" class="filestyle" data-input="false">';
|
||||
@@ -74,12 +74,11 @@ class Importacion {
|
||||
<span class="fileinput-exists">Cambiar</span><input type="file" name="fichero" id="fichero" onChange="seleccionFichero(this);"></span>
|
||||
<a href="#" class="input-group-addon btn btn-default fileinput-exists" data-dismiss="fileinput">Eliminar</a>
|
||||
</div>
|
||||
</div>';
|
||||
</div></fieldset>';
|
||||
$salida .= '<p align="center"><button class="btn btn-primary" type=submit><span class="glyphicon glyphicon-cloud-upload"></span> Aceptar</button></p><br>' . "\n";
|
||||
$salida .= '</div>';
|
||||
$mensaje = 'Sólo se permiten archivos con extensión CSV';
|
||||
$salida .= "<script type='text/javascript'>".'
|
||||
//$(":file").filestyle({classButton: "btn btn-primary"});'."
|
||||
$salida .= "<script type='text/javascript'>"."
|
||||
|
||||
function seleccionFichero(obj) {
|
||||
var filePath = obj.value;
|
||||
|
@@ -35,6 +35,7 @@ class InformeInventario {
|
||||
case 'Ubicacion':return $this->formularioUbicacion();
|
||||
case 'listarUbicacion':return $this->listarUbicacion();
|
||||
case 'listarArticulo':return $this->listarArticulo();
|
||||
case 'listarTotal': return $this->listarTotal();
|
||||
case 'Articulo':return $this->formularioArticulo();
|
||||
case 'Total':return $this->inventarioTotal();
|
||||
case 'descuadres': return $this->inventarioDescuadres();
|
||||
@@ -204,7 +205,7 @@ class InformeInventario {
|
||||
<label for='salida'>Salida del informe por:</label>";
|
||||
$salida.='<div class="radio"><label><input type="radio" name="salida" value="pantalla" checked><span class="glyphicon glyphicon-list-alt"></span> Pantalla</label></div>';
|
||||
$salida.='<div class="radio"><label><input type="radio" name="salida" value="csv"><span class="glyphicon glyphicon-cloud-download"></span> Archivo CSV</label></div>';
|
||||
$salida.='<div class="radio"><label><input type="radio" name="salida" value="etiquetas"><span class="glyphicon glyphicon-qrcode"></span> Etiquetas</label></div>';
|
||||
$salida.='<div class="radio"><label><input type="radio" name="salida" value="etiquetas"><span class="glyphicon glyphicon-qrcode"></span> Etiquetas (<a target="_new" href="http://www.apli.es/producto/ficha_producto.aspx?referencia=01275&stype=referencia&referenciaValue=01275&q=01275">Apli 1275</a>)</label></div>';
|
||||
$salida.="<br><br></fieldset><p>";
|
||||
$salida.='<p align="center"><button type=submit class="btn btn-primary"><span class="glyphicon glyphicon-ok"></span> Aceptar</button></p><br></div>' . "\n";
|
||||
$salida.="<script>$('.selectpicker').selectpicker();</script>";
|
||||
@@ -223,8 +224,25 @@ class InformeInventario {
|
||||
$accion = "index.php?informeInventario&opc=listarArticulo";
|
||||
return $this->formulario($accion, 'Artículo', $this->listaArticulos());
|
||||
}
|
||||
|
||||
|
||||
private function inventarioTotal()
|
||||
{
|
||||
return $this->dialogo();
|
||||
}
|
||||
|
||||
private function dialogo()
|
||||
{
|
||||
$dialogo = '<div class="container col-5"><div class="jumbotron">
|
||||
<h1>Inventario Total</h1>
|
||||
<p>¿Desea obtener el inventario de todo el centro?</p>
|
||||
<p><a class="btn btn-primary btn-lg" role="button" onClick="location.href=' . "'index.php'" . '"><span class="glyphicon glyphicon-arrow-left"></span> Volver</a>
|
||||
<a class="btn btn-success btn-lg" role="button" onClick="location.href=' . "'index.php?informeInventario&opc=listarTotal'" . '">
|
||||
<span class="glyphicon glyphicon-cloud-download"></span> Continuar</a></p>
|
||||
</div></div>';
|
||||
return $dialogo;
|
||||
}
|
||||
|
||||
private function listarTotal()
|
||||
{
|
||||
$fichero = "xml/inventarioUbicacion.xml";
|
||||
$salida = "tmp/inventarioUbicacion.xml";
|
||||
|
@@ -332,8 +332,8 @@ class Instalar {
|
||||
$borra_database = "DROP DATABASE " . BASEDATOS . " ;";
|
||||
$database = "CREATE DATABASE " . BASEDATOS . " DEFAULT CHARACTER SET utf8;";
|
||||
$articulos = "CREATE TABLE `Articulos` (
|
||||
`id` smallint(6) NOT NULL auto_increment COMMENT 'ordenable',
|
||||
`descripcion` varchar(60) NOT NULL COMMENT 'ordenable,link/Articulo',
|
||||
`id` smallint(6) NOT NULL auto_increment COMMENT 'ordenable,link/Articulo',
|
||||
`descripcion` varchar(60) NOT NULL COMMENT 'ordenable,ajax/text',
|
||||
`marca` varchar(20) default NULL COMMENT 'ordenable,ajax/text',
|
||||
`modelo` varchar(20) default NULL COMMENT 'ordenable,ajax/text',
|
||||
`cantidad` int(11) default NULL COMMENT 'ordenable,ajax/number',
|
||||
@@ -342,8 +342,8 @@ class Instalar {
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=769 DEFAULT CHARSET=utf8;
|
||||
";
|
||||
$ubicaciones = "CREATE TABLE `Ubicaciones` (
|
||||
`id` smallint(5) unsigned NOT NULL auto_increment COMMENT 'ordenable',
|
||||
`Descripcion` varchar(50) NOT NULL COMMENT 'ordenable,link/Ubicacion',
|
||||
`id` smallint(5) unsigned NOT NULL auto_increment COMMENT 'ordenable,link/Ubicacion',
|
||||
`Descripcion` varchar(50) NOT NULL COMMENT 'ordenable,ajax/text',
|
||||
`imagen` varchar(45) DEFAULT NULL COMMENT 'imagen',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=179 DEFAULT CHARSET=utf8;
|
||||
|
@@ -189,8 +189,9 @@ class Mantenimiento {
|
||||
}
|
||||
}
|
||||
//$salida.=$comando;
|
||||
//$salida.=var_export($this->campos,true);
|
||||
while ($fila = $this->bdd->procesaResultado()) {
|
||||
$salida.='<tr align="center" bottom="middle">';
|
||||
$salida.='<tr bottom="middle">';
|
||||
foreach ($fila as $clave => $valor) {
|
||||
if ($clave == "id") {
|
||||
$id = $valor;
|
||||
@@ -230,24 +231,43 @@ class Mantenimiento {
|
||||
$cant++;
|
||||
$valor = $this->campoAjax($id, $clave, $tipo, $valor, $cant, $fila);
|
||||
}
|
||||
$salida.="<td>$valor</td>\n";
|
||||
$alineacion = '';
|
||||
if (isset($this->campos[$clave]['Ajuste'])) {
|
||||
switch ($this->campos[$clave]['Ajuste']) {
|
||||
case 'D': $alineacion = 'align="right"'; break;
|
||||
case 'L': $alineacion = 'align="left"'; break;
|
||||
case 'C': $alineacion = 'align="center"'; break;
|
||||
}
|
||||
}
|
||||
$salida.="<td $alineacion >$valor</td>\n";
|
||||
}
|
||||
//Añade los botones de acciones
|
||||
$salida .= '<td align="center">';
|
||||
//Añade el icono de editar
|
||||
if ($this->perfil['Modificacion']) {
|
||||
//$salida.='<td><a href="index.php?' . $tabla . '&opc=editar&id=' . $id . "&pag=" . $pagina . $sufijoOrden . $sufijoEnlace .
|
||||
//$salida.='<a href="index.php?' . $tabla . '&opc=editar&id=' . $id . "&pag=" . $pagina . $sufijoOrden . $sufijoEnlace .
|
||||
$this->backupURL(); $this->datosURL['opc'] = "editar"; $this->datosURL['id'] = $id;
|
||||
$salida.='<td><a href="' . $this->montaURL() .
|
||||
'"><img title="Editar" src="img/' . ESTILO . '/editar.png" alt="editar"></a>';
|
||||
if (ESTILO == 'bootstrap') {
|
||||
$salida.='<a href="'.$this->montaURL() . '" title="Editar"><span class="glyphicon glyphicon-pencil"></span></a>';
|
||||
} else {
|
||||
$salida.='<a href="' . $this->montaURL() .
|
||||
'"><img title="Editar" src="img/' . ESTILO . '/editar.png" alt="editar"></a>';
|
||||
}
|
||||
$this->restoreURL();
|
||||
}
|
||||
//Añade el icono de eliminar
|
||||
if ($this->perfil['Borrado']) {
|
||||
//$salida.=' <a href="index.php?' . $tabla . '&opc=eliminar&id=' . $id . $sufijoEnlace .
|
||||
$this->backupURL(); $this->datosURL['opc'] = "eliminar"; $this->datosURL['id'] = $id;
|
||||
$salida.=' <a href="' . $this->montaURL() .
|
||||
'"><img title="Eliminar" src="img/' . ESTILO . '/eliminar.png" alt="eliminar"></a></td></tr>' . "\n";
|
||||
if (ESTILO == 'bootstrap') {
|
||||
$salida.=' <a href="'. $this->montaURL() . '" title="Eliminar"><span class="glyphicon glyphicon-remove"></span></a>';
|
||||
} else {
|
||||
$salida.=' <a href="' . $this->montaURL() .
|
||||
'"><img title="Eliminar" src="img/' . ESTILO . '/eliminar.png" alt="eliminar"></a>' . "\n";
|
||||
}
|
||||
$this->restoreURL();
|
||||
}
|
||||
$salida .= "</td></tr>";
|
||||
}
|
||||
$salida.="</tbody></table></center></p>";
|
||||
//Añade botones de comandos
|
||||
@@ -261,23 +281,43 @@ class Mantenimiento {
|
||||
$this->datosURL['pag'] = $pagFwd;
|
||||
$fwd = $this->montaURL();
|
||||
$this->datosURL['pag'] = $pagRew;
|
||||
$rew = $this->montaURL();
|
||||
$anterior = '<a href="' . $anterior . "\"><img title=\"Pag. Anterior\" alt=\"anterior\" src=\"img/" . ESTILO . "/anterior.png\"></a>\n";
|
||||
$siguiente = '<a href="' . $siguiente . "\"><img title=\"Pag. Siguiente\" alt=\"siguiente\" src=\"img/" . ESTILO . "/siguiente.png\"></a>\n";
|
||||
$fwd = '<a href="' . $fwd . "\"><img title=\"+4 Pags.\" alt=\"mas4pags\" src=\"img/" . ESTILO . "/fwd.png\"></a>\n";
|
||||
$rew = '<a href="' . $rew . "\"><img title=\"-4 Pags.\" alt=\"menos4pags\" src=\"img/" . ESTILO . "/rew.png\"></a>\n";
|
||||
$rew = $this->montaURL();
|
||||
$this->restoreURL();
|
||||
$this->datosURL['sentido'] = "asc";
|
||||
$az = $this->montaURL();
|
||||
$az = '<a href="' . $az . '"><img alt="asc" title="Orden ascendente" src="img/' . ESTILO . '/ascendente.png"></a>';
|
||||
//
|
||||
//$az = '<a href="' . $az . '" title="Orden ascendente"><h1><span class="glyphicon glyphicon-sort-by-alphabet"></span></h1></a>';
|
||||
$this->datosURL['sentido'] = "desc";
|
||||
$za = $this->montaURL();
|
||||
$za = '<a href="' . $za . '"><img alt="desc" title="Orden descendente" src="img/' . ESTILO . '/descendente.png"></a>';
|
||||
//
|
||||
//$za = '<a href="' . $za . '" title="Orden descendente"><h1><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></h1></a>';
|
||||
if (ESTILO == 'bootstrap') {
|
||||
$anterior = '<button type="button" class="btn btn-default btn-lg" title="Pag. anterior" onClick="location.href='."'$anterior'".'"><span class="glyphicon glyphicon-chevron-left"></span></button>';
|
||||
$siguiente = '<button type="button" class="btn btn-default btn-lg" title="Pag. siguiente" onClick="location.href='."'$siguiente'".'"><span class="glyphicon glyphicon-chevron-right"></span></button>';
|
||||
$fwd = '<button type="button" class="btn btn-default btn-lg" title="+4 páginas" onClick="location.href='."'$fwd'".'"><span class="glyphicon glyphicon-forward"></span></button>';
|
||||
$rew = '<button type="button" class="btn btn-default btn-lg" title="-4 páginas" onClick="location.href='."'$rew'".'"><span class="glyphicon glyphicon-backward"></span></button>';
|
||||
$az = '<button type="button" class="btn btn-default btn-lg" title="Orden ascendente" onClick="location.href='."'$az'".'"><span class="glyphicon glyphicon-sort-by-alphabet"></span></button>';
|
||||
$za = '<button type="button" class="btn btn-default btn-lg" title="Orden descendente" onClick="location.href='."'$za'".'"><span class="glyphicon glyphicon-sort-by-alphabet-alt"></span></button>';
|
||||
} else {
|
||||
$anterior = '<a href="' . $anterior . "\"><img title=\"Pag. Anterior\" alt=\"anterior\" src=\"img/" . ESTILO . "/anterior.png\"></a>\n";
|
||||
$siguiente = '<a href="' . $siguiente . "\"><img title=\"Pag. Siguiente\" alt=\"siguiente\" src=\"img/" . ESTILO . "/siguiente.png\"></a>\n";
|
||||
$fwd = '<a href="' . $fwd . "\"><img title=\"+4 Pags.\" alt=\"mas4pags\" src=\"img/" . ESTILO . "/fwd.png\"></a>\n";
|
||||
$rew = '<a href="' . $rew . "\"><img title=\"-4 Pags.\" alt=\"menos4pags\" src=\"img/" . ESTILO . "/rew.png\"></a>\n";
|
||||
$az = '<a href="' . $az . '"><img alt="asc" title="Orden ascendente" src="img/' . ESTILO . '/ascendente.png"></a>';
|
||||
$za = '<a href="' . $za . '"><img alt="desc" title="Orden descendente" src="img/' . ESTILO . '/descendente.png"></a>';
|
||||
}
|
||||
$this->restoreURL();
|
||||
if ($this->perfil['Informe']) {
|
||||
$this->datosURL['opc'] = "informe";
|
||||
$inf = $this->montaURL();
|
||||
$informe = '<a href="' . $inf . '"><img src="img/' . ESTILO . '/informe.png" alt="informe" title="Informe pdf"></a>';
|
||||
if (ESTILO == 'bootstrap') {
|
||||
$informe = '<button type="button" class="btn btn-default btn-lg" title="Informe de '.$this->tabla.'" onClick="location.href='."'$inf.'".'"><span class="glyphicon glyphicon-list-alt"></span></button>';
|
||||
} else {
|
||||
$informe = '<a href="' . $inf . '"><img src="img/' . ESTILO . '/informe.png" alt="informe" title="Informe pdf"></a>';
|
||||
}
|
||||
//
|
||||
|
||||
//$informe = '<a href="'.$inf.'" title="Informe de '.$this->tabla.'"><h1><span class="glyphicon glyphicon-list-alt"></span></h1></a>';
|
||||
} else {
|
||||
$informe = "";
|
||||
}
|
||||
@@ -285,8 +325,13 @@ class Mantenimiento {
|
||||
}
|
||||
if ($this->perfil['Alta']) {
|
||||
$this->datosURL['opc'] = 'nuevo';
|
||||
$anadir = '<a href="' . $this->montaURL() . '">' .
|
||||
if (ESTILO == 'bootstrap') {
|
||||
$anadir = '<button type="button" class="btn btn-default btn-lg" title="Añade '.$this->tabla.'" onClick="location.href='."'".$this->montaURL()."'".'"><span class="glyphicon glyphicon-plus-sign"></span></button>';
|
||||
} else {
|
||||
$anadir = '<a href="' . $this->montaURL() . '">' .
|
||||
'<img title="Añadir registro" alt="nuevo" src="img/' . ESTILO . '/nuevo.png"></a>';
|
||||
}
|
||||
//$anadir = '<a href="'.$this->montaURL() . '"title="Añade '.$this->tabla.'"><h1><span class="glyphicon glyphicon-plus-sign"></span></h1></a>';
|
||||
} else {
|
||||
$anadir = "";
|
||||
}
|
||||
@@ -535,7 +580,8 @@ class Mantenimiento {
|
||||
$def = simplexml_load_file($nombre);
|
||||
foreach ($def->Campos->Col as $columna) {
|
||||
$this->campos[(string) $columna['Nombre']] = array("Field" => (string) $columna['Titulo'], "Comment" => (string) $columna['Varios'],
|
||||
"Type" => (string) $columna['Tipo'] . "(" . $columna['Ancho'] . ")", "Editable" => (string) $columna['Editable'], "Campo" => (string) $columna['Campo'], "Visible" => (string) $columna['Visible']);
|
||||
"Type" => (string) $columna['Tipo'] . "(" . $columna['Ancho'] . ")", "Editable" => (string) $columna['Editable'],
|
||||
"Campo" => (string) $columna['Campo'], "Visible" => (string) $columna['Visible'], "Ajuste" => (string) $columna['Ajuste']);
|
||||
}
|
||||
$this->comandoConsulta = $def->Consulta;
|
||||
} else {
|
||||
@@ -546,6 +592,15 @@ class Mantenimiento {
|
||||
$this->campos[$datos[$i]["Field"]] = $this->campos[$datos[$i]["Field"]][0];
|
||||
$this->campos[$datos[$i]["Field"]]["Campo"] = $datos[$i]["Field"];
|
||||
$this->campos[$datos[$i]["Field"]]["Editable"] = "si";
|
||||
if (strstr($datos[$i]["Type"],"int")) {
|
||||
$ajuste = "D";
|
||||
} else if (strstr($datos[$i]["Type"],"char")) {
|
||||
$ajuste = "L";
|
||||
}
|
||||
if (strstr($datos[$i]["Comment"],"imagen")) {
|
||||
$ajuste = "C";
|
||||
}
|
||||
$this->campos[$datos[$i]["Field"]]["Ajuste"] = $ajuste;
|
||||
}
|
||||
$this->comandoConsulta = "select SQL_CALC_FOUND_ROWS * from " . $this->tabla . " {buscar} {orden} limit {inferior},{superior}";
|
||||
}
|
||||
@@ -763,14 +818,15 @@ class Mantenimiento {
|
||||
return $mensaje;
|
||||
}
|
||||
|
||||
protected function errorBD($comando, $texto = "", $tipo = "danger", $cabecera = "¡Atención!")
|
||||
protected function errorBD($comando, $texto = "")
|
||||
{
|
||||
if (!$texto) {
|
||||
$texto = "No pudo ejecutar correctamente el comando $comando error=" . $this->bdd->mensajeError();
|
||||
} else {
|
||||
$texto = "$texto error=" . $this->bdd->mensajeError();
|
||||
}
|
||||
return $this->panelMensaje($texto, "danger", $cabecera="¡Error!");
|
||||
$cabecera="¡Error!";
|
||||
return $this->panelMensaje($texto, "danger", $cabecera);
|
||||
}
|
||||
|
||||
private function panelMensaje($info, $tipo = "danger", $cabecera = "¡Atención!") {
|
||||
@@ -806,15 +862,17 @@ class Mantenimiento {
|
||||
$valorDato = $datosFila[$indice];
|
||||
$valorSelect = 'data-value="'.$valorDato.'" ';
|
||||
$remoto = $valorSelect . ' data-sourceCache="true" data-sourceError="Error cargando datos" data-source="Ajax.php?opc=get&tabla='.$tabla2.'"';
|
||||
}
|
||||
|
||||
$mensaje = '<a href="#" title="Modifica '.$titulo.'" id="'.$clave.'" name="'.$clave.$num.'" data-type="'.$tipo.'" data-min="1" data-placement="right" '.$formato.' data-pk="'.$id.'" '.$remoto.' >' . $valor . '</a>
|
||||
}
|
||||
$mensaje = '<a href="#" data-toggle="dblclick" data-title="Modifica '.$titulo.'" id="'.$clave.'" name="'.$clave.$num.'" data-type="'.$tipo.
|
||||
'" data-min="1" data-placement="top" '.$formato.' data-pk="'.$id.'" '.$remoto.' >'.
|
||||
'<div title="doble click para editar">' . $valor . '</div></a>
|
||||
<script>
|
||||
$(function(){' . "
|
||||
$('[name=\"".$clave.$num."\"]').editable({
|
||||
url: 'Ajax.php?opc=put&tabla=". $this->tabla . "',
|
||||
|
||||
emptytext: 'Vacío',
|
||||
title: 'lll',
|
||||
mode: 'popup',
|
||||
success: function(respuesta, newValue) {
|
||||
if (respuesta.success === false) {
|
||||
return respuesta.msj; //msj will be shown in editable form
|
||||
@@ -830,7 +888,6 @@ class Mantenimiento {
|
||||
</script>";
|
||||
return $mensaje;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
2
Sql.php
2
Sql.php
@@ -66,7 +66,7 @@ class Sql {
|
||||
$this->bdd = @new mysqli($servidor,$usuario,$clave,$baseDatos);
|
||||
if (mysqli_connect_errno()) {
|
||||
$this->mensajeError='<h1>Fallo al conectar con el servidor MySQL.</h1>';
|
||||
$this->mensajeError.="Servidor [".$servidor ."] usuario=[".$usuario."] clave [".$clave."] base [".$baseDatos."]";
|
||||
$this->mensajeError.="Servidor [".$servidor ."] base de datos [".$baseDatos."]";
|
||||
$this->error=true;
|
||||
$this->estado=false;
|
||||
} else {
|
||||
|
@@ -23,5 +23,5 @@
|
||||
*/
|
||||
|
||||
define('AUTOR', 'Ricardo Montañana Gómez');
|
||||
define('VERSION', '1.091');
|
||||
define('VERSION', '1.11b');
|
||||
?>
|
||||
|
@@ -22,8 +22,8 @@ DROP TABLE IF EXISTS `Articulos`;
|
||||
SET @saved_cs_client = @@character_set_client;
|
||||
SET character_set_client = utf8;
|
||||
CREATE TABLE `Articulos` (
|
||||
`id` smallint(6) NOT NULL auto_increment COMMENT 'ordenable',
|
||||
`descripcion` varchar(60) NOT NULL COMMENT 'ordenable,link/Articulo',
|
||||
`id` smallint(6) NOT NULL auto_increment COMMENT 'ordenable,link/Articulo',
|
||||
`descripcion` varchar(60) NOT NULL COMMENT 'ordenable,ajax/text',
|
||||
`marca` varchar(20) default NULL COMMENT 'ordenable,ajax/text',
|
||||
`modelo` varchar(20) default NULL COMMENT 'ordenable,ajax/text',
|
||||
`cantidad` int(11) default NULL COMMENT 'ordenable,ajax/number',
|
||||
@@ -66,8 +66,8 @@ DROP TABLE IF EXISTS `Ubicaciones`;
|
||||
SET @saved_cs_client = @@character_set_client;
|
||||
SET character_set_client = utf8;
|
||||
CREATE TABLE `Ubicaciones` (
|
||||
`id` smallint(5) unsigned NOT NULL auto_increment COMMENT 'ordenable',
|
||||
`Descripcion` varchar(50) NOT NULL COMMENT 'ordenable,link/Ubicacion',
|
||||
`id` smallint(5) unsigned NOT NULL auto_increment COMMENT 'ordenable,link/Ubicacion',
|
||||
`Descripcion` varchar(50) NOT NULL COMMENT 'ordenable,ajax/text',
|
||||
`imagen` varchar(45) DEFAULT NULL COMMENT 'imagen',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=InnoDB AUTO_INCREMENT=184 DEFAULT CHARSET=utf8;
|
||||
|
@@ -14,9 +14,9 @@
|
||||
<Col Nombre="marca" Ancho="40" Ajuste="L" Titulo="Marca" Varios="ordenable" Editable="no" Visible="si"/>
|
||||
<Col Nombre="modelo" Ancho="40" Ajuste="L" Titulo="Modelo" Varios="ordenable" Editable="no" Visible="si"/>
|
||||
<Col Campo="numserie" Nombre="numserie" Ancho="30" Ajuste="L" Titulo="Nº Serie" Visible="si" Varios="ordenable,ajax/text" Editable="si"/>
|
||||
<Col Campo="fechaCompra" Nombre="fechaCompra" Ancho="25" Ajuste="L" Titulo="Compra" Visible="si" Varios="ordenable,ajax/combodate" Tipo="fecha" Editable="si"/>
|
||||
<Col Campo="fechaCompra" Nombre="fechaCompra" Ancho="25" Ajuste="C" Titulo="Compra" Visible="si" Varios="ordenable,ajax/combodate" Tipo="fecha" Editable="si"/>
|
||||
<Col Campo="cantidad" Nombre="cantidad" Ancho="15" Ajuste="D" Titulo="Cant." Tipo="Int(11)" Visible="si" Editable="si" Varios="ajax/number"/>
|
||||
<Col Campo="imagen" Nombre="imagen" Ancho="10" Titulo="Imagen" Tipo="imagen" Editable="si" Visible="si" Varios="imagen"/>
|
||||
<Col Campo="imagen" Nombre="imagen" Ancho="10" Titulo="Imagen" Ajuste="C" Tipo="imagen" Editable="si" Visible="si" Varios="imagen"/>
|
||||
<Col Campo="idUbicaciones" Nombre="idUbicaciones" Ancho="10" Titulo="idUbicaciones" Tipo="int" Editable="no" Visible="no" Varios=""/>
|
||||
<Col Campo="idArticulos" Nombre="idArticulos" Ancho="10" Titulo="idArticulos" Tipo="int" Editable="no" Visible="no" Varios=""/>
|
||||
</Campos>
|
||||
|
@@ -10,12 +10,12 @@
|
||||
<Col Campo="nombre" Nombre="nombre" Ancho="8" Ajuste="L" Titulo="Nombre" Varios="ordenable,buscable/nombre,ajax/text" Editable="si"/>
|
||||
<Col Campo="clave" Nombre="clave" Ancho="16" Ajuste="L" Titulo="Clave" Tipo="Password" Editable="si" Varios="ajax/text"/>
|
||||
<Col Campo="idSesion" Nombre="idSesion" Ancho="32" Ajuste="L" Titulo="id Sesión" Editable="si" Varios="ajax/text"/>
|
||||
<Col Campo="alta" Nombre="alta" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Altas" Editable="si"/>
|
||||
<Col Campo="modificacion" Nombre="modificacion" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Modificaciones" Editable="si"/>
|
||||
<Col Campo="borrado" Nombre="borrado" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Borrados" Editable="si"/>
|
||||
<Col Campo="consulta" Nombre="consulta" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Consultas" Editable="si"/>
|
||||
<Col Campo="informe" Nombre="informe" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Informes" Editable="si"/>
|
||||
<Col Campo="usuarios" Nombre="usuarios" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Usuarios" Editable="si"/>
|
||||
<Col Campo="config" Nombre="config" Ancho="1" Ajuste="R" Tipo="Boolean" Titulo="Configuración" Editable="si"/>
|
||||
<Col Campo="alta" Nombre="alta" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Altas" Editable="si"/>
|
||||
<Col Campo="modificacion" Nombre="modificacion" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Modificaciones" Editable="si"/>
|
||||
<Col Campo="borrado" Nombre="borrado" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Borrados" Editable="si"/>
|
||||
<Col Campo="consulta" Nombre="consulta" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Consultas" Editable="si"/>
|
||||
<Col Campo="informe" Nombre="informe" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Informes" Editable="si"/>
|
||||
<Col Campo="usuarios" Nombre="usuarios" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Usuarios" Editable="si"/>
|
||||
<Col Campo="config" Nombre="config" Ancho="1" Ajuste="C" Tipo="Boolean" Titulo="Configuración" Editable="si"/>
|
||||
</Campos>
|
||||
</Mantenimiento>
|
||||
|
Reference in New Issue
Block a user