mirror of
https://github.com/rmontanana/inventario2.git
synced 2025-08-15 23:45:58 +00:00
ref #14 Corregir la copia de seguridad para que funcione y cambiar configuración para incluir las rutas a los programas mysqldump y gzip
Corregido un problema en Mantenimiento para las altas de elementos (formato de fecha) La copia de seguridad ya funciona con utf8. Hay que importar la copia diciendo que el charset es iso8859-1 pero ya quedará todo correcto. En sucesivas copias e importaciones ya irá todo con utf8.
This commit is contained in:
@@ -213,7 +213,7 @@ class AportaContenido {
|
||||
return $this->mensajePermisos('Informes');
|
||||
}
|
||||
case 'descuadres':
|
||||
if ($this->perfil['Informe']) {
|
||||
if ($this->perfil['Informe'] && $this->p) {
|
||||
$enlace = 'xml/informe' . ucfirst($opcion) . '.xml';
|
||||
$informe = new InformePDF($this->bdd, $enlace, $this->registrado);
|
||||
$informe->crea($enlace);
|
||||
@@ -231,21 +231,34 @@ class AportaContenido {
|
||||
return $this->mensajePermisos("Actualización, creació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ón</h3></div>';
|
||||
$mensaje .= '<div class="panel-body">';
|
||||
$mensaje .= 'Copia de seguridad realizada con é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;
|
||||
if ($this->perfil['Config']) {
|
||||
$archivo_sql = "tmp/copiaseg.sql";
|
||||
$archivo = $archivo_sql . ".gz";
|
||||
if (file_exists($archivo)) {
|
||||
unlink($archivo);
|
||||
}
|
||||
$comando = escapeshellcmd(MYSQLDUMP . ' -u ' . USUARIO . ' --password=' . CLAVE . ' --result-file=' . $archivo_sql . ' ' . BASEDATOS);
|
||||
$comando2 = escapeshellcmd(GZIP . ' -9f ' . $archivo_sql);
|
||||
exec($comando);
|
||||
exec($comando2);
|
||||
if (filesize($archivo) < 1024) {
|
||||
//No se ha realizado la copia de seguridad
|
||||
$mensaje = "La copia de seguridad no se ha realizado correctamente.<br><br>";
|
||||
$mensaje .= "Compruebe que las rutas a los programas mysqldump y gzip en configuración están correctamente establecidas ";
|
||||
$mensaje .= "y que los datos de acceso a la base de datos sean correctos.<br>";
|
||||
$mensaje .= "mysqldump=[" . MYSQLDUMP . "]<br>";
|
||||
$mensaje .= "gzip=[" . GZIP . "]";
|
||||
$cabecera = "ERROR";
|
||||
$tipo = "danger";
|
||||
} else {
|
||||
return $this->mensajePermisos("Informes");
|
||||
$mensaje .= 'Copia de seguridad realizada con éxito.<br><br>Pulse sobre el siguiente enlace para descargar:<br><br>';
|
||||
$mensaje .= '<a href="' . $archivo . '">Descargar Copia de Seguridad de Datos</a><br>';
|
||||
$cabecera = "Información";
|
||||
$tipo = "success";
|
||||
}
|
||||
return $this->panel($cabecera,$mensaje,$tipo);
|
||||
} else {
|
||||
return $this->mensajePermisos("Copias de seguridad");
|
||||
}
|
||||
} // Fin del contenido
|
||||
case 'usuario_incorrecto':
|
||||
@@ -270,7 +283,16 @@ class AportaContenido {
|
||||
* @return string
|
||||
*/
|
||||
public function mensajePermisos($tipo) {
|
||||
return "<center><h1>No tiene permiso para acceder a " . $tipo . "</h1></center>";
|
||||
return $this->panel("ERROR", "No tiene permiso para acceder a $tipo", "danger");
|
||||
}
|
||||
|
||||
public function panel($cabecera, $mensaje, $tipo) {
|
||||
$panel = '<div class="panel panel-' . $tipo . '"><div class="panel-heading">';
|
||||
$panel .= '<h3 class="panel-title">' . $cabecera . '</h3></div>';
|
||||
$panel .= '<div class="panel-body">';
|
||||
$panel .= $mensaje;
|
||||
$panel .= '</div>';
|
||||
return $panel;
|
||||
}
|
||||
|
||||
}
|
||||
|
@@ -32,6 +32,8 @@
|
||||
private $plantilla;
|
||||
private $colorLateral;
|
||||
private $colorFondo;
|
||||
private $mysqldump; //comando mysqldump para la copia de seguridad
|
||||
private $gzip; //comando gzip para comprimir la copia de seguridad
|
||||
|
||||
public function ejecuta()
|
||||
{
|
||||
@@ -121,6 +123,22 @@
|
||||
$this->colorFondo=$_POST['colorFon'];
|
||||
}
|
||||
break;
|
||||
case 'MYSQLDUMP':
|
||||
$valor = trim($valor);
|
||||
$this->mysqldump = $valor;
|
||||
if ($grabar) {
|
||||
$linea=str_replace($valor,$_POST['mysqldump'],$linea);
|
||||
$this->mysqldump=$_POST['mysqldump'];
|
||||
}
|
||||
break;
|
||||
case 'GZIP':
|
||||
$valor = trim($valor);
|
||||
$this->gzip = $valor;
|
||||
if ($grabar) {
|
||||
$linea=str_replace($valor,$_POST['gzip'],$linea);
|
||||
$this->gzip=$_POST['gzip'];
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ($grabar) {
|
||||
@@ -188,6 +206,8 @@
|
||||
$salida.='<tr><td>Base de datos</td><td><input type="text" name="baseDatos" value="'.$this->baseDatos.'" size="30" /></td></tr>';
|
||||
$salida.='<tr><td>Usuario</td><td><input type="text" name="usuario" value="'.$this->usuario.'" size="30" /></td></tr>';
|
||||
$salida.='<tr><td>Clave</td><td><input type="text" name="clave" value="'.$this->clave.'" size="30" /></td></tr>';
|
||||
$salida.='<tr><td>mysqldump</td><td><input type="text" name="mysqldump" value="'.$this->mysqldump.'" size="30" /></td></tr>';
|
||||
$salida.='<tr><td>gzip</td><td><input type="text" name="gzip" value="'.$this->gzip.'" size="30" /></td></tr>';
|
||||
$salida.='<tr align=center><td colspan=2><input type="submit" class="btn btn-primary" align="center" value="Aceptar" name="aceptar" /></td></tr></p>';
|
||||
$salida.='</form></div></center>';
|
||||
$salida.="<script>
|
||||
|
@@ -487,8 +487,8 @@ class Mantenimiento {
|
||||
$tipoCampo = $valor['Type'];
|
||||
//Si es un campo fecha u hora y está insertando pone la fecha actual o la hora actual
|
||||
if ($tipo == ANADIR) {
|
||||
if (stripos($tipoCampo, "echa") || stripos($tipoCampo, "ate")) {
|
||||
$valorDato = strftime("%d/%m/%Y");
|
||||
if (stripos($tipoCampo, "echa")<>0 || stripos($tipoCampo, "ate")<>0) {
|
||||
$valorDato = strftime("%Y/%m/%d");
|
||||
}
|
||||
}
|
||||
// Calcula el tamaño y el tipo
|
||||
|
@@ -33,6 +33,8 @@ define('NUMFILAS',17); // Número de registros a mostrar en las pantallas de con
|
||||
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('PLANTILLA','bootstrap'); //Estilo de la plantilla y recursos a utilizar
|
||||
define('COLORLAT', '#7bd148'); //Color de la barra de menú lateral
|
||||
define('COLORLAT', '#7ae7bf'); //Color de la barra de menú lateral
|
||||
define('COLORFON', '#a4bdfc'); //Color del fondo de la pantalla
|
||||
define('MYSQLDUMP', '/usr/local/bin/mysqldumpf'); //camino a mysqldump
|
||||
define('GZIP', '/usr/bin/gzipfr'); //Camino a gzip
|
||||
?>
|
||||
|
@@ -35,4 +35,6 @@ define('ESTILO','personal'); //Estilo de los iconos de edición (personal, perso
|
||||
define('PLANTILLA','bootstrap'); //Estilo de la plantilla y recursos a utilizar
|
||||
define('COLORLAT', '#7ae7bf'); //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
|
||||
?>
|
||||
|
Reference in New Issue
Block a user