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:
@@ -145,7 +145,7 @@ class AportaContenido {
|
||||
case 'principal':
|
||||
return "Pantalla Inicial";
|
||||
case 'elementos':
|
||||
case 'articulos': $opcion="artículos";
|
||||
case 'articulos': $opcion = "artículos";
|
||||
case 'ubicaciones':
|
||||
case 'usuarios':
|
||||
case 'test':
|
||||
@@ -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 {
|
||||
$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("Informes");
|
||||
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;
|
||||
}
|
||||
|
||||
}
|
||||
|
Reference in New Issue
Block a user