diff options
-rw-r--r-- | admin/WebConsole/idiomas/php/cat/avisos_cat.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/eng/avisos_eng.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/idiomas/php/esp/avisos_esp.php | 1 | ||||
-rw-r--r-- | admin/WebConsole/propiedades/propiedades_aulas.php | 52 | ||||
-rw-r--r-- | admin/WebConsole/propiedades/propiedades_imagenes.php | 54 | ||||
-rwxr-xr-x | installer/opengnsys_update.sh | 37 |
6 files changed, 121 insertions, 25 deletions
diff --git a/admin/WebConsole/idiomas/php/cat/avisos_cat.php b/admin/WebConsole/idiomas/php/cat/avisos_cat.php index 85ee68cf..fee4452f 100644 --- a/admin/WebConsole/idiomas/php/cat/avisos_cat.php +++ b/admin/WebConsole/idiomas/php/cat/avisos_cat.php @@ -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ús personalizados tienen mayor prioridad que los menús automáticos.<br>Un menú personalizado se define introduciendo la URL de la página HTML que lo define.<br>Un menú automá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.'; ?> diff --git a/admin/WebConsole/idiomas/php/eng/avisos_eng.php b/admin/WebConsole/idiomas/php/eng/avisos_eng.php index 3fbd8a72..4258fe9a 100644 --- a/admin/WebConsole/idiomas/php/eng/avisos_eng.php +++ b/admin/WebConsole/idiomas/php/eng/avisos_eng.php @@ -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ús personalizados tienen mayor prioridad que los menús automáticos.<br>Un menú personalizado se define introduciendo la URL de la página HTML que lo define.<br>Un menú automá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"]='WARNING: turn on database event scheduler to enable this property.'; ?> diff --git a/admin/WebConsole/idiomas/php/esp/avisos_esp.php b/admin/WebConsole/idiomas/php/esp/avisos_esp.php index d474d96c..ec74d7dd 100644 --- a/admin/WebConsole/idiomas/php/esp/avisos_esp.php +++ b/admin/WebConsole/idiomas/php/esp/avisos_esp.php @@ -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ús personalizados tienen mayor prioridad que los menús automáticos.<br>Un menú personalizado se define introduciendo la URL de la página HTML que lo define.<br>Un menú automá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'; ?> diff --git a/admin/WebConsole/propiedades/propiedades_aulas.php b/admin/WebConsole/propiedades/propiedades_aulas.php index ce0de261..fbac1acc 100644 --- a/admin/WebConsole/propiedades/propiedades_aulas.php +++ b/admin/WebConsole/propiedades/propiedades_aulas.php @@ -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); +} ?> diff --git a/admin/WebConsole/propiedades/propiedades_imagenes.php b/admin/WebConsole/propiedades/propiedades_imagenes.php index 066c04f6..1e392df7 100644 --- a/admin/WebConsole/propiedades/propiedades_imagenes.php +++ b/admin/WebConsole/propiedades/propiedades_imagenes.php @@ -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(); } ?> diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh index 5498d240..00f01047 100755 --- a/installer/opengnsys_update.sh +++ b/installer/opengnsys_update.sh @@ -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 |