# By rmontanana (2) and Ricardo Montañana (1)
* 'master' of https://bitbucket.org/rmontanana/inventario2:
  solve #7 Realizado el proceso para hacer la copia de seguridad.
  Corregidos algunos problemas de visualización del menú y de la pantalla principal
  Posibilidad de elegir la plantilla con la que visualizar la aplicación
This commit is contained in:
2014-02-25 14:11:06 +01:00
10 changed files with 59 additions and 18 deletions

View File

@@ -155,6 +155,7 @@ class AportaContenido {
case 'informeInventario':return "Informe de Inventario"; case 'informeInventario':return "Informe de Inventario";
case 'descuadres':return 'Informe de descuadres'; case 'descuadres':return 'Informe de descuadres';
case 'importacion': return 'Importación de datos'; case 'importacion': return 'Importación de datos';
case 'copiaseg': return 'Copia de seguridad de datos';
} }
return ''; return '';
case 'control': case 'control':
@@ -195,7 +196,7 @@ class AportaContenido {
} }
case 'bienvenido': // El usuario quiere iniciar sesión case 'bienvenido': // El usuario quiere iniciar sesión
return 'Bienvenido ' . $this->usuario . '<br><br><center><img src="img/codigoBarras.png" alt="' . PROGRAMA . '">' . return 'Bienvenid@ ' . $this->usuario . '<br><br><center><img src="img/codigoBarras.png" alt="' . PROGRAMA . '">' .
'<br><label>' . PROGRAMA . '</label></center><br><br>' . PIE; '<br><label>' . PROGRAMA . '</label></center><br><br>' . PIE;
case 'configuracion': case 'configuracion':
if ($this->perfil['Config']) { if ($this->perfil['Config']) {
@@ -229,6 +230,23 @@ class AportaContenido {
} else { } else {
return $this->mensajePermisos("Actualizaci&oacute;n, creaci&oacute;n y borrado de elementos"); return $this->mensajePermisos("Actualizaci&oacute;n, creaci&oacute;n y borrado de elementos");
} }
case 'copiaseg':
if ($this->perfil['Informe']) {
$mensaje = '<div class="panel panel-success"><div class="panel-heading">';
$mensaje .= '<h3 class="panel-title">Informaci&oacute;n</h3></div>';
$mensaje .= '<div class="panel-body">';
$mensaje .= 'Copia de seguridad realizada con &eacute;xito.<br><br>Pulse sobre el siguiente enlace para descargar:<br><br>';
$mensaje .= '<a href="tmp/copiaseg.sql.gz">Descargar Copia de Seguridad de Datos</a><br>';
$mensaje .= $comando;
$mensaje .= '</div>';
$mensaje .= '</div>';
$archivo = 'tmp/copiaseg.sql.gz';
$comando = 'mysqldump -u '.USUARIO.'--password='.CLAVE.' '.BASEDATOS.'|gzip -9c>'.$archivo;
system($comando);
return $mensaje;
} else {
return $this->mensajePermisos("Informes");
}
} // Fin del contenido } // Fin del contenido
case 'usuario_incorrecto': case 'usuario_incorrecto':
$this->usuario_inc = true; $this->usuario_inc = true;
@@ -236,7 +254,7 @@ class AportaContenido {
case 'registro': // Si está registrado mostrar bienvenida case 'registro': // Si está registrado mostrar bienvenida
// si no, un enlace // si no, un enlace
if ($this->bEstaRegistrado) { if ($this->bEstaRegistrado) {
return "Bienvenido <b>$this->sUsuario</b><hr />" . return "Bienvenid@ <b>$this->sUsuario</b><hr />" .
'<a href="index.php?cerrarSesion">Cerrar sesi&oacute;n</a>'; '<a href="index.php?cerrarSesion">Cerrar sesi&oacute;n</a>';
} else { } else {
return ''; return '';

View File

@@ -29,6 +29,7 @@
private $configuracion="inc/configuracion.inc"; private $configuracion="inc/configuracion.inc";
private $confNueva="inc/configuracion.new"; private $confNueva="inc/configuracion.new";
private $confAnterior="inc/configuracion.ant"; private $confAnterior="inc/configuracion.ant";
private $plantilla;
public function ejecuta() public function ejecuta()
{ {
@@ -67,6 +68,13 @@
$this->estilo=$_POST['estilo']; $this->estilo=$_POST['estilo'];
} }
break; break;
case 'PLANTILLA':
$this->plantilla=$valor;
if ($grabar) {
$linea=str_replace($valor, $_POST['plantilla'],$linea);
$this->plantilla=$_POST['plantilla'];
}
break;
case 'SERVIDOR': case 'SERVIDOR':
$this->servidor=$valor; $this->servidor=$valor;
if ($grabar) { if ($grabar) {
@@ -118,12 +126,17 @@
$personal=$this->estilo=="personal"?'selected':' '; $personal=$this->estilo=="personal"?'selected':' ';
$bluecurve=$this->estilo=="bluecurve"?'selected':' '; $bluecurve=$this->estilo=="bluecurve"?'selected':' ';
$cristal=$this->estilo=="cristal"?'selected':' '; $cristal=$this->estilo=="cristal"?'selected':' ';
$normal=$this->plantilla=="normal"? 'selected':' ';
$bootstrap=$this->plantilla=="bootstrap" ? 'selected':' ';
$salida='<center><div class="col-sm-2 col-md-6"><form name="configura" method="post">'; $salida='<center><div class="col-sm-2 col-md-6"><form name="configura" method="post">';
//$salida.='<p align="center"><table border=1 class="tablaDatos"><tbody>'; //$salida.='<p align="center"><table border=1 class="tablaDatos"><tbody>';
$salida.='<p align="center"><table border=2 class="table table-hover"><tbody>'; $salida.='<p align="center"><table border=2 class="table table-hover"><tbody>';
$salida.='<th colspan=2 class="info"><center><b>Preferencias</b></center></th>'; $salida.='<th colspan=2 class="info"><center><b>Preferencias</b></center></th>';
$salida.='<tr><td>Nombre del Centro</td><td><input type="text" name="centro" value="'.$this->nombreCentro.'" size="30" /></td></tr>'; $salida.='<tr><td>Nombre del Centro</td><td><input type="text" name="centro" value="'.$this->nombreCentro.'" size="30" /></td></tr>';
$salida.='<tr><td>N&uacute;mero de filas</td><td><input type="text" name="filas" value="'.$this->numFilas.'" size="3" /></td></tr>'; $salida.='<tr><td>N&uacute;mero de filas</td><td><input type="text" name="filas" value="'.$this->numFilas.'" size="3" /></td></tr>';
$salida.='<tr><td>Plantilla</td><td><select name="plantilla">';
$salida.='<option value="normal" '.$normal.'>normal</option>';
$salida.='<option '.$bootstrap.'>bootstrap</option></select></td></tr>';
$salida.='<tr><td>Estilo</td><td><select name="estilo">'; $salida.='<tr><td>Estilo</td><td><select name="estilo">';
$salida.='<option value="personal" '.$personal.'>personal</option>'; $salida.='<option value="personal" '.$personal.'>personal</option>';
$salida.='<option '.$bluecurve.'>bluecurve</option>'; $salida.='<option '.$bluecurve.'>bluecurve</option>';

View File

@@ -33,7 +33,7 @@ class Inventario {
private $opcActual; // Opción elegida por el usuario private $opcActual; // Opción elegida por el usuario
private $perfil; //Permisos del usuario. private $perfil; //Permisos del usuario.
private $estado; //BD conectada o no private $estado; //BD conectada o no
private $plant = 'plant/bootstrap.html'; private $plant;
// Constructor // Constructor
public function __construct() { public function __construct() {
@@ -53,6 +53,10 @@ class Inventario {
} else { } else {
$this->estado = true; $this->estado = true;
} }
//Selecciona la plantilla a utilizar
$this->plant='plant/';
$this->plant.=PLANTILLA;
$this->plant.='.html';
// Comprobamos si el usuario ya está registrado en esta sesión // Comprobamos si el usuario ya está registrado en esta sesión
$this->registrado = isset($_SESSION['Registrado']); $this->registrado = isset($_SESSION['Registrado']);
if ($this->registrado) {// si está... if ($this->registrado) {// si está...

View File

@@ -42,7 +42,7 @@ class Menu {
foreach($this->opciones as $opcion) { foreach($this->opciones as $opcion) {
list($tipo,$opcion,$enlace,$destino,$titulo)=explode(",",$opcion); list($tipo,$opcion,$enlace,$destino,$titulo)=explode(",",$opcion);
if ($tipo==2) if ($tipo==2)
$salida.='<a href="'.$enlace.'" target="'.$destino.'" title="'.$titulo.'">'.$opcion.'</a><br />'; $salida.='<li class="active"><a href="'.$enlace.'" target="'.$destino.'" title="'.$titulo.'">'.$opcion.'</a><br /></li>';
else else
$salida.='<label class="key">'.$opcion.'</label><br/>'; $salida.='<label class="key">'.$opcion.'</label><br/>';
} }

View File

@@ -5,6 +5,7 @@
/* Move down content because we have a fixed navbar that is 50px tall */ /* Move down content because we have a fixed navbar that is 50px tall */
body { body {
padding-top: 50px; padding-top: 50px;
background-color: #F3FEC8;
} }
@@ -34,7 +35,7 @@ body {
left: 0; left: 0;
z-index: 1000; z-index: 1000;
display: block; display: block;
padding: 10px; padding: 5px;
overflow-x: hidden; overflow-x: hidden;
overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */ overflow-y: auto; /* Scrollable contents if viewport is shorter than content. */
background-color: #C4FAEC;/*#f5f5f5;*/ background-color: #C4FAEC;/*#f5f5f5;*/
@@ -44,13 +45,13 @@ body {
/* Sidebar navigation */ /* Sidebar navigation */
.nav-sidebar { .nav-sidebar {
margin-right: -11px; /* 20px padding + 1px border */ margin-right: -6px; /* 20px padding + 1px border */
margin-bottom: 10px; margin-bottom: 1px;
margin-left: -10px; margin-left: -1px;
} }
.nav-sidebar > li > a { .nav-sidebar > li > a {
padding-right: 10px; padding-right: 5px;
padding-left: 10px; padding-left: 5px;
} }
.nav-sidebar > .active > a { .nav-sidebar > .active > a {
color: #fff; color: #fff;
@@ -85,14 +86,14 @@ body {
*/ */
.placeholders { .placeholders {
margin-bottom: 15px; margin-bottom: 5px;
text-align: center; text-align: center;
} }
.placeholders h4 { .placeholders h4 {
margin-bottom: 0; margin-bottom: 0;
} }
.placeholder { .placeholder {
margin-bottom: 10px; margin-bottom: 5px;
} }
.placeholder img { .placeholder img {
display: inline-block; display: inline-block;

View File

@@ -25,11 +25,12 @@ define('SERVIDOR','localhost'); //Ubicación del servidor MySQL
define('BASEDATOS','Inventario2'); //Nombre de la base de datos. define('BASEDATOS','Inventario2'); //Nombre de la base de datos.
define('USUARIO','test'); //Usuario con permisos de lectura/escritura en la base de datos define('USUARIO','test'); //Usuario con permisos de lectura/escritura en la base de datos
define('CLAVE','tset'); //contraseña del usuario. define('CLAVE','tset'); //contraseña del usuario.
define('VERSION','0.97 Beta'); define('VERSION','1.00 Beta');
define('PROGRAMA','Gesti&oacute;n de Inventario.'); define('PROGRAMA','Gesti&oacute;n de Inventario.');
define('CENTRO','I.E.S.O. Pascual Serrano'); define('CENTRO','I.E.S.O. Pascual Serrano');
define('APLICACION',CENTRO.' '.PROGRAMA.VERSION); define('APLICACION',CENTRO.' '.PROGRAMA.VERSION);
define('NUMFILAS',17); // Número de registros a mostrar en las pantallas de consulta iniciales define('NUMFILAS',17); // Número de registros a mostrar en las pantallas de consulta iniciales
define('PAUSA',2);//Nº segundos de pausa para mostrar mensaje id insertado define('PAUSA',2);//Nº segundos de pausa para mostrar mensaje id insertado
define('ESTILO','cristal'); //Estilo de los iconos de edición (cristal, cristal, cristal) define('ESTILO','personal'); //Estilo de los iconos de edición (personal, personal, personal)
define('PLANTILLA','bootstrap'); //Estilo de la plantilla y recursos a utilizar
?> ?>

View File

@@ -25,11 +25,12 @@ define('SERVIDOR','localhost'); //Ubicación del servidor MySQL
define('BASEDATOS','Inventario2'); //Nombre de la base de datos. define('BASEDATOS','Inventario2'); //Nombre de la base de datos.
define('USUARIO','test'); //Usuario con permisos de lectura/escritura en la base de datos define('USUARIO','test'); //Usuario con permisos de lectura/escritura en la base de datos
define('CLAVE','tset'); //contraseña del usuario. define('CLAVE','tset'); //contraseña del usuario.
define('VERSION','0.97 Beta'); define('VERSION','1.01b');
define('PROGRAMA','Gesti&oacute;n de Inventario.'); define('PROGRAMA','Gesti&oacute;n de Inventario.');
define('CENTRO','I.E.S.O. Pascual Serrano'); define('CENTRO','I.E.S.O. Pascual Serrano');
define('APLICACION',PROGRAMA.VERSION); define('APLICACION',PROGRAMA.VERSION);
define('NUMFILAS',17); // Número de registros a mostrar en las pantallas de consulta iniciales define('NUMFILAS',17); // Número de registros a mostrar en las pantallas de consulta iniciales
define('PAUSA',2);//Nº segundos de pausa para mostrar mensaje id insertado define('PAUSA',2);//Nº segundos de pausa para mostrar mensaje id insertado
define('ESTILO','personal'); //Estilo de los iconos de edición (personal, personal, personal) define('ESTILO','personal'); //Estilo de los iconos de edición (personal, personal, personal)
define('PLANTILLA','bootstrap'); //Estilo de la plantilla y recursos a utilizar
?> ?>

View File

@@ -10,4 +10,5 @@
2|Descuadres|index.php?descuadres|_blank|Diferencias entre art&iacute;culos y elementos 2|Descuadres|index.php?descuadres|_blank|Diferencias entre art&iacute;culos y elementos
1|Varios||| 1|Varios|||
2|Configuraci&oacute;n|index.php?configuracion|_self|Opciones configurables de la aplicaci&oacute;n 2|Configuraci&oacute;n|index.php?configuracion|_self|Opciones configurables de la aplicaci&oacute;n
2|Importaci&oacute;n|index.php?importacion&opc=form|_self|Importa datos de una hoja de c&aacute;lculo 2|Importaci&oacute;n|index.php?importacion&opc=form|_self|Importa datos de una hoja de c&aacute;lculo
2|Copia Datos|index.php?copiaseg|_self|Realiza una copia de seguridad de los datos de la aplicaci&oacute;n

View File

@@ -20,7 +20,7 @@
</style> </style>
<script type="text/javascript" src="./css/jquery.min.js"></script> <script type="text/javascript" src="./css/jquery.min.js"></script>
</head> </head>
<body style=""> <body bgcolor="#C4FAEC">
<div class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container-fluid"> <div class="container-fluid">
<div class="navbar-header"> <div class="navbar-header">
@@ -51,8 +51,10 @@
<div class="container-fluid"> <div class="container-fluid">
<div class="row"> <div class="row">
<div class="col-sm-2 col-md-1 sidebar"> <div class="col-sm-2 col-md-1 sidebar">
<!--<ul class="nav nav-sidebar">-->
<ul class="nav nav-sidebar"> <ul class="nav nav-sidebar">
<li class="active">{menu}</li> <!--<li class="active">{menu}</li>-->
{menu}
</ul> </ul>
</div> </div>
<div class="col-sm-10 col-sm-offset-1 col-md-11 col-md-offset-1 main"> <div class="col-sm-10 col-sm-offset-1 col-md-11 col-md-offset-1 main">