summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/WebConsole/idiomas/php/cat/avisos_cat.php1
-rw-r--r--admin/WebConsole/idiomas/php/eng/avisos_eng.php1
-rw-r--r--admin/WebConsole/idiomas/php/esp/avisos_esp.php1
-rw-r--r--admin/WebConsole/propiedades/propiedades_aulas.php52
-rw-r--r--admin/WebConsole/propiedades/propiedades_imagenes.php54
-rwxr-xr-xinstaller/opengnsys_update.sh37
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&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.';
?>
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&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.';
?>
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&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';
?>
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