From 911af4825fefe50066d76243f6b035745914e77c Mon Sep 17 00:00:00 2001 From: rmontanana Date: Mon, 7 Apr 2014 22:56:09 +0200 Subject: [PATCH] =?UTF-8?q?-Los=20informes=20aparecen=20ahora=20en=20la=20?= =?UTF-8?q?pantalla=20de=20la=20aplicaci=C3=B3n=20embebidos.=20-A=C3=B1adi?= =?UTF-8?q?do=20un=20calendario=20al=20pulsar=20sobre=20la=20fecha=20en=20?= =?UTF-8?q?la=20cabecera=20de=20la=20aplicaci=C3=B3n.=20-Corregido=20peque?= =?UTF-8?q?=C3=B1o=20problema=20de=20margen=20en=20resoluciones=20peque?= =?UTF-8?q?=C3=B1as=20donde=20se=20solapaba=20parte=20del=20men=C3=BA.=20-?= =?UTF-8?q?Quitados=20los=20logos=20de=20GPLv3,=20MySQL=20y=20Apache=20-In?= =?UTF-8?q?ventario.php=20llama=20al=20instalador=20si=20la=20aplicaci?= =?UTF-8?q?=C3=B3n=20no=20est=C3=A1=20instalada?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AportaContenido.php | 50 ++++++++++++++++----------- CHANGELOG | 7 +++- InformeInventario.php | 80 +++++++++++++++++++++++++++++++------------ Instalar.php | 31 ----------------- Inventario.php | 5 ++- css/dashboard.php | 2 +- inc/configuracion.inc | 2 +- inc/inventario.menu | 4 +-- 8 files changed, 100 insertions(+), 81 deletions(-) diff --git a/AportaContenido.php b/AportaContenido.php index 325daf1..6e7a4da 100644 --- a/AportaContenido.php +++ b/AportaContenido.php @@ -149,7 +149,19 @@ class AportaContenido { return "Usuario=$this->usuario"; else return ''; - case 'fecha': return $this->fechaActual(); + case 'fecha': + $script = '"; + $campo = ''; + $etiqueta = ''; + return $etiqueta . $campo . $script; case 'aplicacion': return PROGRAMA." v".VERSION; case 'menu': // el menú if ($this->registrado) { @@ -199,10 +211,14 @@ class AportaContenido { // } list($opcion, $parametro) = explode("&", $this->opcionActual); switch ($opcion) { + case 'bienvenido': + $mensaje = '
'; + $mensaje .= 'Bienvenid@ ' . $this->usuario . '
'; case 'principal': // contenido inicial + $creditos = "$('#creditos').modal({keyboard: false});"; - return '

' . PROGRAMA . '' . - '


' . PIE . CREDITOS; + return $mensaje . '

' . PROGRAMA . '' . + '



' . CREDITOS; case 'articulos': case 'ubicaciones': case 'test': @@ -266,12 +282,6 @@ class AportaContenido { } else { return $this->mensajePermisos('Usuarios'); } - - case 'bienvenido': // El usuario quiere iniciar sesión - $mensaje = '
'; - $mensaje .= 'Bienvenid@ ' . $this->usuario . '


' . PROGRAMA . '' . - '


' . PIE;; - return $mensaje; case 'configuracion': if ($this->perfil['Config']) { $conf = new Configuracion(); @@ -286,17 +296,17 @@ class AportaContenido { } else { return $this->mensajePermisos('Informes'); } - case 'descuadres': - if ($this->perfil['Informe']) { - $enlace = 'xml/informe' . ucfirst($opcion) . '.xml'; - $informe = new InformePDF($this->bdd, $enlace, $this->registrado); - $informe->crea($enlace); - $informe->cierraPDF(); - $informe->imprimeInforme(); - return; - } else { - return $this->mensajePermisos('Informes'); - } +// case 'descuadres': +// if ($this->perfil['Informe']) { +// $enlace = 'xml/informe' . ucfirst($opcion) . '.xml'; +// $informe = new InformePDF($this->bdd, $enlace, $this->registrado); +// $informe->crea($enlace); +// $informe->cierraPDF(); +// $informe->imprimeInforme(); +// return; +// } else { +// return $this->mensajePermisos('Informes'); +// } case 'importacion': if ($this->perfil['Modificacion'] && $this->perfil['Borrado']) { $import = new Importacion($this->bdd, $this->registrado); diff --git a/CHANGELOG b/CHANGELOG index c6da419..6f49fa8 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,5 +1,10 @@ +Versión 1.08 07-04-2014 +-Los informes aparecen ahora en la pantalla de la aplicación embebidos. +-Añadido un calendario al pulsar sobre la fecha en la cabecera de la aplicación. +-Corregido pequeño problema de margen en resoluciones pequeñas donde se solapaba parte del menú. +-Quitados los logos de GPLv3, MySQL y Apache -Inventario.php llama al instalador si la aplicación no está instalada --Añadido dialogo modal de Créditos cuando se pulsa sobre el gráfico de código de barras de la aplicación +-Añadido dialogo modal de Créditos cuando se pulsa sobre el gráfico de código de barras de la aplicación o sobre el nombre del centro -Quitados los usuarios de ejemplo en el archivo setup.sql -Creado el programa instalar.php que permitirá configurar el acceso a la base de datos, comprobar la configuración del servidor y la creación del usuario administrador -Añadido un parámetro en el archivo configuracion.inc que permite o no ejecutar el programa instalar.php diff --git a/InformeInventario.php b/InformeInventario.php index 03c493c..f3d9d02 100644 --- a/InformeInventario.php +++ b/InformeInventario.php @@ -23,11 +23,13 @@ class InformeInventario { private $bdd; - public function __construct($baseDatos) { + public function __construct($baseDatos) + { $this->bdd = $baseDatos; } - public function ejecuta() { + public function ejecuta() + { $opc = $_GET['opc']; switch ($opc) { case 'Ubicacion':return $this->formularioUbicacion(); @@ -35,10 +37,33 @@ class InformeInventario { case 'listarArticulo':return $this->listarArticulo(); case 'Articulo':return $this->formularioArticulo(); case 'Total':return $this->inventarioTotal(); + case 'descuadres': return $this->inventarioDescuadres(); } } - private function listarUbicacion() { + private function inventarioDescuadres() + { + $enlace = 'xml/informeDescuadres.xml'; + $informe = new InformePDF($this->bdd, $enlace, true); + $informe->crea($enlace); + $informe->cierraPDF(); + return $this->devuelveInforme($informe); + } + + private function devuelveInforme($informe) + { + $letras = "abcefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890"; + $nombre = "tmp/informe" . substr(str_shuffle($letras), 0, 10) . ".pdf"; + $informe->guardaArchivo($nombre); + return '
+ + + +
'; + } + + private function listarUbicacion() + { $salidaInforme = isset($_POST['salida']) ? $_POST['salida'] : 'pantalla'; switch ($salidaInforme) { case "pantalla": @@ -70,8 +95,9 @@ class InformeInventario { $informe = new InformePDF($this->bdd, $salida, true); $informe->crea($salida); $informe->cierraPDF(); - $informe->guardaArchivo("tmp/Informe.pdf"); - echo ''; + return $this->devuelveInforme($informe); +// $informe->guardaArchivo("tmp/Informe.pdf"); +// echo ''; break; case "csv": //Genera una hoja de cálculo en formato csv @@ -85,13 +111,15 @@ class InformeInventario { $etiquetas = new EtiquetasPDF($this->bdd, $salida, true); $etiquetas->crea($salida); $etiquetas->cierraPDF(); - $etiquetas->guardaArchivo("tmp/EtiquetasUbicacion.pdf"); - echo ''; + return $this->devuelveInforme($etiquetas); +// $etiquetas->guardaArchivo("tmp/EtiquetasUbicacion.pdf"); +// echo ''; break; } } - private function listarArticulo() { + private function listarArticulo() + { $salidaInforme = isset($_POST['salida']) ? $_POST['salida'] : 'pantalla'; switch ($salidaInforme) { case "pantalla": @@ -125,9 +153,9 @@ class InformeInventario { $informe = new InformePDF($this->bdd, $salida, true); $informe->crea($salida); $informe->cierraPDF(); - $informe->guardaArchivo("tmp/Informe.pdf"); - echo ''; - break; + return $this->devuelveInforme($informe); +// $informe->guardaArchivo("tmp/Informe.pdf"); +// echo ''; case "csv": //Genera una hoja de cálculo en formato csv $nombre = "tmp/Articulo" . strftime("%Y%m%d") . rand(100, 999) . ".csv"; @@ -140,13 +168,14 @@ class InformeInventario { $etiquetas = new EtiquetasPDF($this->bdd, $salida, true); $etiquetas->crea($salida); $etiquetas->cierraPDF(); - $etiquetas->guardaArchivo("tmp/EtiquetasArticulo.pdf"); - echo ''; - break; + return $this->devuelveInforme($etiquetas); +// $etiquetas->guardaArchivo("tmp/EtiquetasArticulo.pdf"); +// echo ''; } } - private function listaUbicaciones() { + private function listaUbicaciones() + { $salida = "\n"; $comando = "select * from Articulos order by descripcion, marca, modelo"; $resultado = $this->bdd->ejecuta($comando); @@ -174,8 +204,9 @@ class InformeInventario { return $salida; } - private function formulario($accion, $etiqueta, $lista) { - $salida ='
' . "\n"; + private function formulario($accion, $etiqueta, $lista) + { + $salida = '
' . "\n"; $salida.="

Elige $etiqueta\n"; $salida.="

"; $salida.=$lista; @@ -190,18 +221,21 @@ class InformeInventario { return $salida; } - private function formularioUbicacion() { + private function formularioUbicacion() + { //Genera un formulario con las ubicaciones disponibles. $accion = "index.php?informeInventario&opc=listarUbicacion"; return $this->formulario($accion, 'Ubicación', $this->listaUbicaciones()); } - private function formularioArticulo() { + private function formularioArticulo() + { $accion = "index.php?informeInventario&opc=listarArticulo"; return $this->formulario($accion, 'Artículo', $this->listaArticulos()); } - private function inventarioTotal() { + private function inventarioTotal() + { $fichero = "xml/inventarioUbicacion.xml"; $salida = "tmp/inventarioUbicacion.xml"; $comando = "select * from Ubicaciones ;"; @@ -226,8 +260,10 @@ class InformeInventario { } $nombre = "tmp/total.pdf"; $informe->cierraPDF(); - $informe->imprimeInforme(); + return $this->devuelveInforme($informe); + //$informe->imprimeInforme(); } + } ?> diff --git a/Instalar.php b/Instalar.php index d031f7d..757848b 100644 --- a/Instalar.php +++ b/Instalar.php @@ -284,37 +284,6 @@ class Instalar { //Pasa al paso siguiente return $this->paso2(); } - /*$conf = new Configuracion(); - $fichero = $conf->obtieneFichero(); - $datos = explode("\n", $fichero); - if ($grabar) { - $fsalida = @fopen(CONFIGTMP, "wb"); - } - foreach ($datos as $linea) { - if (stripos($linea, "DEFINE") !== false) { - $conf->obtieneDatos($linea, $clave, $valor); - if (stripos($campos, $clave) !== false) { - if ($grabar) { - $linea = str_replace($valor, $_POST[$clave], $linea); - $valor = $_POST[$clave]; - } - } - $datos[$clave] = $valor; - } - $registro = substr($linea, 0, 2) == "?>" ? $linea : $linea . "\n"; - if ($grabar) { - fwrite($fsalida, $registro); - } - } - if ($grabar) { - fclose($fsalida); - unlink(CONFIGURACION); - rename(CONFIGTMP, CONFIGURACION); - if ($this->validaPaso1()) { - //Pasa al paso siguiente - return $this->paso2(); - } - }*/ $info = ''; $info .= '

    '; diff --git a/Inventario.php b/Inventario.php index 7fb52d9..2c9f78e 100644 --- a/Inventario.php +++ b/Inventario.php @@ -50,9 +50,9 @@ class Inventario { //Conexión con la base de datos. $this->bdd = new Sql(SERVIDOR, USUARIO, CLAVE, BASEDATOS); if ($this->bdd->error()) { + echo '

    Fallo al conectar con el servidor MySQL.

    '; - echo SERVIDOR; - echo "Servidor [ " . SERVIDOR . " ] usuario [" . USUARIO . "] clave [" . CLAVE . "] base [" . BASEDATOS . "]"; + echo "Servidor [ " . SERVIDOR . " ] base de datos [" . BASEDATOS . "]"; $this->estado = false; return; } else { @@ -203,7 +203,6 @@ class Inventario { $_SESSION['Perfil'] = $this->perfil; } } - } ?> diff --git a/css/dashboard.php b/css/dashboard.php index 280dc6c..c88a8f5 100644 --- a/css/dashboard.php +++ b/css/dashboard.php @@ -33,7 +33,7 @@ display: none; } @media (max-width: 767px) { .sidebar { -top: 50px; +top: 60px; bottom: 150px; background-color: } diff --git a/inc/configuracion.inc b/inc/configuracion.inc index e075ade..8660140 100644 --- a/inc/configuracion.inc +++ b/inc/configuracion.inc @@ -25,7 +25,7 @@ require_once 'version.inc'; define('SERVIDOR', 'localhost'); //Ubicación del servidor MySQL define('PUERTO', '3306'); //Puerto donde se conecta a MySQL -define('BASEDATOS', 'Inventario'); //Nombre de la base de datos. +define('BASEDATOS', 'Inventario2'); //Nombre de la base de datos. define('BASEDATOSTEST', 'Inventario_test'); //Base de datos para los tests. define('USUARIO', 'test'); //Usuario con permisos de lectura/escritura en la base de datos define('CLAVE', 'tset'); //contraseña del usuario. diff --git a/inc/inventario.menu b/inc/inventario.menu index b0e2562..8db5877 100644 --- a/inc/inventario.menu +++ b/inc/inventario.menu @@ -6,8 +6,8 @@ 1|Inventario||| 2|Ubicación|index.php?informeInventario&opc=Ubicacion|_self|Inventario de una ubicación 2|Artículo|index.php?informeInventario&opc=Articulo|_self|Inventario de un Artículo -2|Total|index.php?informeInventario&opc=Total|_blank|Inventario de todas las ubicaciones -2|Descuadres|index.php?descuadres|_blank|Diferencias entre artículos y elementos +2|Total|index.php?informeInventario&opc=Total|_self|Inventario de todas las ubicaciones +2|Descuadres|index.php?informeInventario&opc=descuadres|_self|Diferencias entre artículos y elementos 1|Varios||| 2|Configuración|index.php?configuracion|_self|Opciones configurables de la aplicación 2|Importación|index.php?importacion&opc=form|_self|Importa datos de una hoja de cálculo