#708 #730: Mostrar aviso si no está activo el calendario de eventos de la BD.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@5329 a21b9725-9963-47de-94b9-378ad31fedc9
remotes/github/debian-pkg
ramon 2017-06-01 08:57:39 +00:00
parent 3a89d3d7cc
commit 21372e8660
6 changed files with 121 additions and 25 deletions

View File

@ -12,5 +12,6 @@ $TbMsg["WARN_DISKSIZE"]='AVISO: El cálculo del tamaño del disco tiene un marge
$TbMsg["WARN_REBOOTAFTER"]='AVISO: En algunos casos puede ser conveniente realizar un reinicio después de ejecutar la operación.';
$TbMsg["WARN_NOTESOFMENU"]='NOTAS: Los men&uacute;s personalizados tienen mayor prioridad que los men&uacute;s autom&aacute;ticos.<br>Un men&uacute; personalizado se define introduciendo la URL de la p&aacute;gina HTML que lo define.<br>Un men&uacute; autom&aacute;tico se compone a partir de los procedimientos definidos.';
$TbMsg["WARN_GPT"]='AVISO: Para tabla de particiones GPT es necesario que la primera partición sea tipo EFI <br>y se recomienda un tamaño en torno a 512Mb.';
$TbMsg["WARN_SCHEDULER"]='AVISO: activar calendario de eventos de la BD para habilitar esta propiedad.';
?>

View File

@ -12,5 +12,6 @@ $TbMsg["WARN_DISKSIZE"]='AVISO: El cálculo del tamaño del disco tiene un marge
$TbMsg["WARN_REBOOTAFTER"]='AVISO: En algunos casos puede ser conveniente realizar un reinicio despu&eacute;s de ejecutar la operaci&oacute;n.';
$TbMsg["WARN_NOTESOFMENU"]='NOTAS: Los men&uacute;s personalizados tienen mayor prioridad que los men&uacute;s autom&aacute;ticos.<br>Un men&uacute; personalizado se define introduciendo la URL de la p&aacute;gina HTML que lo define.<br>Un men&uacute; autom&aacute;tico se compone a partir de los procedimientos definidos.';
$TbMsg["WARN_GPT"]='AVISO: Para tabla de particiones GPT es necesario que la primera partici&oacute;n sea tipo EFI <br>y se recomienda un tamaño en torno a 512Mb.';
$TbMsg["WARN_SCHEDULER"]='WARNING: turn on database event scheduler to enable this property.';
?>

View File

@ -12,5 +12,6 @@ $TbMsg["WARN_DISKSIZE"]='AVISO: El cálculo del tamaño del disco tiene un marge
$TbMsg["WARN_REBOOTAFTER"]='AVISO: En algunos casos puede ser conveniente realizar un reinicio despu&eacute;s de ejecutar la operaci&oacute;n.';
$TbMsg["WARN_NOTESOFMENU"]='NOTAS: Los men&uacute;s personalizados tienen mayor prioridad que los men&uacute;s autom&aacute;ticos.<br>Un men&uacute; personalizado se define introduciendo la URL de la p&aacute;gina HTML que lo define.<br>Un men&uacute; autom&aacute;tico se compone a partir de los procedimientos definidos.';
$TbMsg["WARN_GPT"]='AVISO: Para tabla de particiones GPT es necesario que la primera partición sea tipo EFI <br>y se recomienda un tamaño en torno a 512Mb.';
$TbMsg["WARN_SCHEDULER"]='AVISO: activar calendario de eventos de la BD para habilitar esta propiedad';
?>

View File

@ -17,6 +17,7 @@ include_once("../includes/HTMLSELECT.php");
include_once("../includes/HTMLCTESELECT.php");
include_once("../clases/AdoPhp.php");
include_once("../idiomas/php/".$idioma."/propiedades_aulas_".$idioma.".php");
include_once("../idiomas/php/".$idioma."/avisos_".$idioma.".php");
//________________________________________________________________________________________________________
$opcion=0;
$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]);
@ -27,6 +28,7 @@ $grupoid=0;
$ordenadores=0;
$ubicacion="";
$inremotepc="";
$scheduler="";
$cagnon="";
$pizarra="";
$puestos=0;
@ -52,6 +54,10 @@ $idperfilhard="";
$validacion="";
$paginalogin="";
$paginavalidacion="";
$gidmenu=0;
$gidprocedimiento=0;
$gidrepositorio=0;
$gidperfilhard=0;
if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros
if (isset($_GET["idaula"])) $idaula=$_GET["idaula"];
@ -61,12 +67,13 @@ if (isset($_GET["identificador"])) $idaula=$_GET["identificador"];
//________________________________________________________________________________________________________
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
if (!$cmd)
Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
if ($opcion!=$op_alta){
header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
if ($opcion!=$op_alta)
$resul=TomaPropiedades($cmd,$idaula);
if (!$resul)
Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
}
else
$resul=TomaConfiguracion($cmd);
if (!$resul)
header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
else
$urlfoto="aula.jpg";
//________________________________________________________________________________________________________
@ -226,7 +233,10 @@ function abrir_ventana(URL){
} else {
echo '<td colspan="3"><input class="formulariodatos" name="inremotepc" type="checkbox" value="1" ';
if ($inremotepc) echo ' checked ';
echo '> <em>('.$TbMsg['COMM_REMOTEACCESS'].')<em></td>';
if ($scheduler)
echo '> <em>('.$TbMsg['COMM_REMOTEACCESS'].')<em></td>';
else
echo 'disabled> <em>'.$TbMsg['WARN_SCHEDULER'].'<em></td>';
}
?>
</tr>
@ -461,6 +471,7 @@ function TomaPropiedades($cmd,$ida)
global $nombreaula;
global $urlfoto;
global $inremotepc;
global $scheduler;
global $cagnon;
global $pizarra;
global $ubicacion;
@ -504,6 +515,7 @@ function TomaPropiedades($cmd,$ida)
$nombreaula="";
$urlfoto="";
$inremotepc=false;
$scheduler=false;
$cagnon=false;
$pizarra=false;
$ubicacion="";
@ -545,7 +557,8 @@ function TomaPropiedades($cmd,$ida)
GROUP_CONCAT(DISTINCT CAST( ordenadores.idperfilhard AS char( 11 ) )
ORDER BY ordenadores.idperfilhard SEPARATOR ',' ) AS idperfileshard,
GROUP_CONCAT(DISTINCT CAST( ordenadores.idproautoexec AS char( 11 ) )
ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos
ORDER BY ordenadores.idproautoexec SEPARATOR ',' ) AS idprocedimientos,
IF(@@GLOBAL.event_scheduler='ON',1,0) AS scheduler
FROM aulas
LEFT OUTER JOIN ordenadores ON ordenadores.idaula = aulas.idaula
WHERE aulas.idaula =".$ida."
@ -558,7 +571,6 @@ function TomaPropiedades($cmd,$ida)
$nombreaula=$rs->campos["nombreaula"];
$urlfoto=$rs->campos["urlfoto"];
if ($urlfoto=="" ) $urlfoto="aula.jpg";
$inremotepc=$rs->campos["inremotepc"];
$cagnon=$rs->campos["cagnon"];
$pizarra=$rs->campos["pizarra"];
$ubicacion=$rs->campos["ubicacion"];
@ -584,7 +596,9 @@ function TomaPropiedades($cmd,$ida)
$validacion=$rs->campos["validacion"];
$paginalogin=$rs->campos["paginalogin"];
$paginavalidacion=$rs->campos["paginavalidacion"];
###################### UHU
#################### Ramón
$inremotepc=$rs->campos["inremotepc"];
$scheduler=$rs->campos["scheduler"];
$ordenadores=$rs->campos["numordenadores"];
$idmenu=$rs->campos["idmenus"];
@ -608,5 +622,25 @@ function TomaPropiedades($cmd,$ida)
}
return(false);
}
//________________________________________________________________________________________________________
// Recupera algunos datos de configuración de la base de datos
// Parametros:
// - cmd: comando ya operativo (con conexión abierta)
//________________________________________________________________________________________________________
function TomaConfiguracion($cmd) {
global $scheduler;
$rs=new Recordset;
$cmd->texto="SELECT IF(@@GLOBAL.event_scheduler='ON',1,0) AS scheduler";
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(false); // Error al abrir recordset
if (!$rs->EOF) {
$scheduler=$rs->campos["scheduler"];
$rs->Cerrar();
return(true);
}
return(false);
}
?>

View File

@ -16,6 +16,7 @@ include_once("../includes/CreaComando.php");
include_once("../includes/HTMLSELECT.php");
include_once("../includes/TomaDato.php");
include_once("../idiomas/php/".$idioma."/propiedades_imagenes_".$idioma.".php");
include_once("../idiomas/php/".$idioma."/avisos_".$idioma.".php");
//________________________________________________________________________________________________________
if (isset($_POST["opcion"])) {$opcion=$_POST["opcion"];}else{$opcion=0;} // Recoge parametros
@ -35,6 +36,7 @@ $idperfilsoft=0;
$perfilsoft="";
$comentarios="";
$inremotepc="";
$scheduler="";
$grupoid=0;
$litamb="";
$tipoimg=0;
@ -54,14 +56,15 @@ if (isset($_GET["tipoimg"])) $tipoimg=$_GET["tipoimg"];
//________________________________________________________________________________________________________
$cmd=CreaComando($cadenaconexion); // Crea objeto comando
if (!$cmd)
Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
if ($opcion!=$op_alta){
header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
if ($opcion!=$op_alta)
$resul=TomaPropiedades($cmd,$idimagen);
if (!$resul)
Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
}
else
$resul=TomaConfiguracion($cmd);
if (!$resul)
header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
if ( $opcion == 1 && $datospost == 1)
if ($opcion == 1 && $datospost == 1)
{
if (isset($_POST["opcion"])) $opcion=$_POST["opcion"];// Recoge parametros
if (isset($_POST["idimagen"])) $idimagen=$_POST["idimagen"];
@ -83,8 +86,6 @@ if ( $opcion == 1 && $datospost == 1)
if (isset($_POST["tipoimg"])) $tipoimg=$_POST["tipoimg"];
if (isset($_POST["fechacreacion"])) $fechacreacion=$_POST["fechacreacion"];
if (isset($_POST["litamb"])) $litamb=$_POST["litamb"];
}
//________________________________________________________________________________________________________
?>
@ -205,7 +206,10 @@ if ( $opcion == 1 && $datospost == 1)
} else {
echo '<td><input name="inremotepc" type="checkbox" value="1"';
if ($inremotepc) echo ' checked ';
echo '> <em>('.$TbMsg['COMM_REMOTEACCESS'].')<em></td>';
if ($scheduler)
echo '> <em>('.$TbMsg['COMM_REMOTEACCESS'].')<em></td>';
else
echo 'disabled> <em>'.$TbMsg['WARN_SCHEDULER'].'<em></td>';
}
?>
</tr>
@ -292,6 +296,7 @@ function TomaPropiedades($cmd,$idmagen){
global $descripcion;
global $comentarios;
global $inremotepc;
global $scheduler;
global $idperfilsoft;
global $modelo;
global $numdisk;
@ -309,7 +314,8 @@ function TomaPropiedades($cmd,$idmagen){
$rs=new Recordset;
$cmd->texto="SELECT imagenes.*, tipospar.tipopar, repositorios.nombrerepositorio,
perfilessoft.descripcion AS perfilsoft, nombreso AS sistoperativo,
CONCAT (ordenadores.nombreordenador,' (',aulas.nombreaula,')') AS modelo
CONCAT (ordenadores.nombreordenador,' (',aulas.nombreaula,')') AS modelo,
IF(@@GLOBAL.event_scheduler='ON',1,0) AS scheduler
FROM imagenes
LEFT OUTER JOIN tipospar ON tipospar.codpar=imagenes.codpar
LEFT OUTER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
@ -328,6 +334,7 @@ function TomaPropiedades($cmd,$idmagen){
$idperfilsoft=$rs->campos["idperfilsoft"];
$comentarios=$rs->campos["comentarios"];
$inremotepc=$rs->campos["inremotepc"];
$scheduler=$rs->campos["scheduler"];
$modelo=$rs->campos["modelo"];
$numdisk=$rs->campos["numdisk"];
$numpar=$rs->campos["numpar"];
@ -343,8 +350,27 @@ function TomaPropiedades($cmd,$idmagen){
$rs->Cerrar();
return(true);
}
else
return(false);
}
//________________________________________________________________________________________________________
// Recupera los algunos datos de configuración de la base de datos
// Parametros:
// - cmd: comando ya operativo (con conexión abierta)
//________________________________________________________________________________________________________
function TomaConfiguracion($cmd) {
global $scheduler;
$rs=new Recordset;
$cmd->texto="SELECT IF(@@GLOBAL.event_scheduler='ON',1,0) AS scheduler";
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return(0); // Error al abrir recordset
if (!$rs->EOF){
$scheduler=$rs->campos["scheduler"];
$rs->Cerrar();
return(true);
}
return(false);
}
//________________________________________________________________________________________________________
@ -368,9 +394,7 @@ function ValidaNombre($cmd,$nombreca){
$nombrecabase=$rs->campos["nombreca"];
if ( $nombrecabase == $nombreca )
{$validnombreca="1";}else{$validnombreca="0";}
}
$rs->Cerrar();
}
$rs->Cerrar();
}
?>

View File

@ -316,6 +316,34 @@ EOT
return 0
}
# Comprobar configuración de MySQL y recomendar cambios necesarios.
function checkMysqlConfig()
{
if [ $# -ne 2 ]; then
errorAndLog "${FNCNAME}(): invalid number of parameters"
exit 1
fi
local dbuser="$1"
local dbpassword="$2"
local mycnf=/tmp/.my.cnf.$$
echoAndLog "${FUNCNAME}(): checking MySQL configuration."
touch $mycnf
cat << EOT > $mycnf
[client]
user=$dbuser
password=$dbpassword
EOT
# Check if scheduler is active.
if [ "$(mysql --defaults-extra-file=$mycnf -Nse 'SELECT @@GLOBAL.event_scheduler;')" = "OFF" ]; then
MYSQLCONFIG="SET GLOBAL event_scheduler = ON; "
fi
rm -f $mycnf
echoAndLog "${FUNCNAME}(): MySQL configuration has checked"
return 0
}
#####################################################################
####### Funciones de instalación de paquetes
@ -987,10 +1015,14 @@ function updateSummary()
fi
fi
echoAndLog "Warnings:"
echoAndLog " - You must to clear web browser cache before loading OpenGnSys page."
echoAndLog " - You must to clear web browser cache before loading OpenGnsys page."
if [ -n "$CLIENTUPDATED" ]; then
echoAndLog " - ogLive Client is updated to: $CLIENTUPDATED"
fi
if [ -n "$MYSQLCONFIG" ]; then
echoAndLog " - MySQL must be reconfigured: execute next code as DB root user and restart service:"
echoAndLog " $MYSQLCONFIG"
fi
echo
}
@ -1054,6 +1086,9 @@ else
ln -fs "$(dirname $PROGRAMDIR)" opengnsys
fi
# Comprobar configuración de MySQL.
checkMysqlConfig $OPENGNSYS_DBUSER $OPENGNSYS_DBPASSWORD
# Actualizar la BD.
updateDatabase