summaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authorramon <ramongomez@us.es>2011-06-15 11:32:53 +0000
committerramon <ramongomez@us.es>2011-06-15 11:32:53 +0000
commitecd8d9ac7a4419618f471815d748a51923d90aea (patch)
tree5e4e60b889df53993b557f907e00d468bc7fde71 /admin
parent61dabee7d4cd985599233fd3e9c07a76e5e85f84 (diff)
Integrar OpenGnSys 1.0.1 en rama principal (modifica #413).
git-svn-id: https://opengnsys.es/svn/trunk@2065 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
-rw-r--r--admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql8
-rw-r--r--admin/Database/ogAdmBD-1.0-1.0.1.sql2
-rw-r--r--admin/Database/ogAdmBD-1.0pre-1.0.1.sql24
-rw-r--r--admin/Database/ogAdmBD-1.0pre-1.0.sql5
-rwxr-xr-xadmin/Interface/Apagar1
-rwxr-xr-xadmin/Interface/CambiarAcceso6
-rwxr-xr-xadmin/Interface/CrearImagen59
-rwxr-xr-xadmin/Interface/EjecutarScript13
-rwxr-xr-xadmin/Interface/Reiniciar1
-rwxr-xr-xadmin/Interface/RestaurarImagen91
-rw-r--r--admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h49
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php24
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php2
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/formDeployImage.php13
-rw-r--r--admin/WebConsole/asistentes/jscripts/asistentes.js13
-rw-r--r--admin/WebConsole/comandos/CrearImagen.php54
-rw-r--r--admin/WebConsole/comandos/RestaurarImagen.php91
-rw-r--r--[-rwxr-xr-x]admin/WebConsole/gestores/gestor_pxe.php0
-rw-r--r--[-rwxr-xr-x]admin/WebConsole/gestores/gestor_pxe_grub4dos.php93
-rw-r--r--[-rwxr-xr-x]admin/WebConsole/gestores/gestor_ubicarordenadores.php4
-rw-r--r--admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js6
-rw-r--r--admin/WebConsole/idiomas/php/cat/menucliente_cat.php12
-rw-r--r--admin/WebConsole/idiomas/php/eng/menucliente_eng.php12
-rw-r--r--admin/WebConsole/idiomas/php/esp/menucliente_esp.php12
-rw-r--r--admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php3
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php2
-rw-r--r--admin/WebConsole/jscripts/propiedades_imagenes.js34
-rw-r--r--admin/WebConsole/jscripts/validators.js3
-rw-r--r--admin/WebConsole/principal/aulas.php5
-rw-r--r--admin/WebConsole/principal/boot_grub4dos.php217
-rw-r--r--admin/WebConsole/principal/ubicarordenadores.php6
-rw-r--r--admin/WebConsole/propiedades/propiedades_imagenes.php1
-rw-r--r--admin/WebConsole/varios/menucliente.php12
-rw-r--r--admin/WebConsole/varios/msgbrowser.php4
34 files changed, 702 insertions, 180 deletions
diff --git a/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql b/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql
deleted file mode 100644
index 09d15a5f..00000000
--- a/admin/Database/ogAdmBD-0.9.1-0.9.2pre.sql
+++ /dev/null
@@ -1,8 +0,0 @@
--- Cambios para gestión de Multicast
-
-ALTER TABLE `ordenadores`
- ADD COLUMN `modomul` TINYINT(4) NOT NULL,
- ADD COLUMN `ipmul` VARCHAR(16) NOT NULL,
- ADD COLUMN `pormul` INT(11) NOT NULL,
- ADD COLUMN `velmul` SMALLINT(6) NOT NULL;
-
diff --git a/admin/Database/ogAdmBD-1.0-1.0.1.sql b/admin/Database/ogAdmBD-1.0-1.0.1.sql
new file mode 100644
index 00000000..30798763
--- /dev/null
+++ b/admin/Database/ogAdmBD-1.0-1.0.1.sql
@@ -0,0 +1,2 @@
+UPDATE `ogAdmBD`.`parametros` SET `tipopa` = '4',
+`visual` = '1' WHERE `parametros`.`idparametro` =30; \ No newline at end of file
diff --git a/admin/Database/ogAdmBD-1.0pre-1.0.1.sql b/admin/Database/ogAdmBD-1.0pre-1.0.1.sql
new file mode 100644
index 00000000..523c1ecf
--- /dev/null
+++ b/admin/Database/ogAdmBD-1.0pre-1.0.1.sql
@@ -0,0 +1,24 @@
+SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
+
+--
+-- Base de datos: `ogAdmBD`
+--
+
+
+ALTER TABLE `aulas` CHANGE `modp2p` `modp2p` ENUM( 'seeder', 'peer', 'leecher' ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'peer';
+
+ALTER TABLE `aulas` CHANGE `velmul` `velmul` SMALLINT( 6 ) NOT NULL DEFAULT '70';
+
+
+ALTER TABLE `asistentes` DROP PRIMARY KEY ,
+ADD PRIMARY KEY ( `idcomando` , `descripcion` ) ;
+
+UPDATE `ogAdmBD`.`comandos` SET `activo` = '0' WHERE `comandos`.`idcomando` =10;
+
+UPDATE `ogAdmBD`.`asistentes` SET `idcomando` = '8' ;
+
+
+UPDATE `ogAdmBD`.`itemboot` SET `append` = 'APPEND initrd=ogclient/oginitrd.img ro boot=oginit vga=788 irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true ogdebug=true' WHERE `itemboot`.`label` = 'ogClientAdmin';
+
+UPDATE `ogAdmBD`.`parametros` SET `tipopa` = '4', `visual` = '1' WHERE `parametros`.`idparametro` = 30;
+
diff --git a/admin/Database/ogAdmBD-1.0pre-1.0.sql b/admin/Database/ogAdmBD-1.0pre-1.0.sql
index 652721c3..65f0c4ff 100644
--- a/admin/Database/ogAdmBD-1.0pre-1.0.sql
+++ b/admin/Database/ogAdmBD-1.0pre-1.0.sql
@@ -1,13 +1,10 @@
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
--
--- Base de datos: `ogBDAdmin`
+-- Base de datos: `ogAdmBD`
--
-
-
-
ALTER TABLE `aulas` CHANGE `modp2p` `modp2p` ENUM( 'seeder', 'peer', 'leecher' ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT 'peer';
ALTER TABLE `aulas` CHANGE `velmul` `velmul` SMALLINT( 6 ) NOT NULL DEFAULT '70';
diff --git a/admin/Interface/Apagar b/admin/Interface/Apagar
index fc850d9f..ae1e5ba4 100755
--- a/admin/Interface/Apagar
+++ b/admin/Interface/Apagar
@@ -1,2 +1,3 @@
#!/bin/bash
poweroff
+exit 0
diff --git a/admin/Interface/CambiarAcceso b/admin/Interface/CambiarAcceso
index ddd67666..210b3d80 100755
--- a/admin/Interface/CambiarAcceso
+++ b/admin/Interface/CambiarAcceso
@@ -1,10 +1,10 @@
#!/bin/bash
-#_______________________________________________________________________________________________________________________________
+#______________________________________
#
# PARAMETROS RECIBIDOS DESDE EL CLIENTE
# $1 modo (admin, user)
-#_______________________________________________________________________________________________________________________________
+#______________________________________
# Error si llamada no se realliza desde OpenGnSys Client.
PROG=$(basename $0)
@@ -14,7 +14,7 @@ if [ "$CALLER" != "CrearImagen" -a "$CALLER" != "ConsolaRemota" ]; then
exit $?
fi
-# Salir si el repositorio está bloquedo (tiene ficheros abiertos).
+# Salir si el repositorio está bloquedo (tiene ficheros abiertos).
REPOIP=$(ogGetRepoIp)
if [ -z "$REPOIP" ]; then
ogRaiseError $OG_ERR_NOTFOUND "repo no montado"
diff --git a/admin/Interface/CrearImagen b/admin/Interface/CrearImagen
index 7625ab80..abc6edea 100755
--- a/admin/Interface/CrearImagen
+++ b/admin/Interface/CrearImagen
@@ -9,6 +9,27 @@
# $4 Dirección del repositorio (REPO, por defecto)
#___________________________________________________
+
+#$OG_ERR_NOTEXEC Si no es llamada por OG client
+#$OG_ERR_LOCKED=4 Si la particion está bloqueada.
+
+
+#Codigos de error del scripts createImage
+#@exception OG_ERR_FORMAT # 1 formato incorrecto.
+#@exception OG_ERR_PARTITION # 3 Error en partición de disco o en su sistema de archivos
+#@exception OG_ERR_IMAGE # 5 Error en funcion ogCreateImage o ogRestoreImage.
+#@exception OG_ERR_NOTWRITE # 14 error de escritura
+#@exception OG_ERR_NOTCACHE # 15 si cache no existe 15
+#@exception OG_ERR_CACHESIZE # 16 si espacio de la cache local o remota no tiene espacio 16
+#@exception OG_ERR_REDUCEFS # 17 error al reducir sistema de archivos.
+#@exception OG_ERR_EXTENDFS # 18 Errror al expandir el sistema de archivos.
+
+
+#Códigos de error de la funcion ogCreateImage
+
+
+
+
# Registro de ejecución
echo $* >> $OGLOGFILE
@@ -21,20 +42,46 @@ if [ "$CALLER" != "ogAdmClient" ]; then
exit $?
fi
+# Si el origen(pariticion) esta bloqueada salir.
+
+#if ogIsLocked $1 $2; then
+# ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2"
+# exit $?
+#fi
+
+
# Valor por defecto para el repositorio.
REPO=${4:-"REPO"}
[ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO"
[ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE"
+[ "$REPO" == "CACHE" ] && REPO="CACHE"
+
+# Si el destino es REPO y el cliente no está en modo "admin"; activar repositorio para escritura,
+if [ "$REPO" == "REPO" -a "$boot" != "admin" ]
+then
+ CambiarAcceso admin &>> $OGLOGFILE
+ RETVAL=$?
+ [ $RETVAL -gt 0 ] && exit $RETVAL
+fi
+
+
-# Si cleinte no está en modo "admin"; activar repositorio para escritura,
-# crear imagen y activar para lectura.
-[ "$boot" != "admin" ] && CambiarAcceso admin
if [ -f createImage$ogengine ]; then
- createImage$ogengine "$1" "$2" "$REPO" "$3" &>> $OGLOGFILE
+ createImage$ogengine "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE
else
- createImage "$1" "$2" "$REPO" "$3" &>> $OGLOGFILE
+ createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE
fi
RETVAL=$?
-[ "$boot" != "admin" ] && CambiarAcceso user
+
+[ "$REPO" == "REPO" -a "$boot" != "admin" ] && CambiarAcceso user
+
+if [ $RETVAL == 0 ]
+then
+ rm $OGLOGFILE
+ touch $OGLOGFILE
+else
+ echo $RETVAL &>> $OGLOGFILE
+fi
+
exit $RETVAL
diff --git a/admin/Interface/EjecutarScript b/admin/Interface/EjecutarScript
index 101bd15f..3de64815 100755
--- a/admin/Interface/EjecutarScript
+++ b/admin/Interface/EjecutarScript
@@ -7,4 +7,15 @@ echo -e >> $OGLOGFILE
echo -e >> $OGLOGFILE
echo "Salida: *****************************" >> $OGLOGFILE
chmod +x $1
-$1 &>> $OGLOGFILE || exit $?
+$1 &>> $OGLOGFILE
+RETVAL=$?
+echo $RETVAL &>> $OGLOGFILE
+
+if [ $RETVAL == 0 ]
+then
+ rm $OGLOGFILE
+ touch $OGLOGFILE
+else
+ echo $RETVAL &>> $OGLOGFILE
+fi
+exit $RETVAL \ No newline at end of file
diff --git a/admin/Interface/Reiniciar b/admin/Interface/Reiniciar
index 01bd8683..df93c1bf 100755
--- a/admin/Interface/Reiniciar
+++ b/admin/Interface/Reiniciar
@@ -1,2 +1,3 @@
#!/bin/bash
reboot
+exit 0
diff --git a/admin/Interface/RestaurarImagen b/admin/Interface/RestaurarImagen
index 6e2ed2f6..90299ba9 100755
--- a/admin/Interface/RestaurarImagen
+++ b/admin/Interface/RestaurarImagen
@@ -5,17 +5,92 @@
# $1 disco
# $2 par=N�mero de particion
# $3 Nombre can�nico de la imagen
-# $4 Direcci�n del repositorio
+# $4 Direcci�n IP del repositorio
+# $5 Protocolo UNICAST MULTICAST TORRENT
+# $6 Opciones del protocolo
#_______________________________________________________________________________________________________________________________
-echo $* >> $OGLOGFILE
-echo $* >> $OGLOGFILE
-if [ -f createImage$ogengine ]
+#Descripcion:
+# La interfaz detecta:
+# Si Repositorio es el global (REPO) realiza un deploy.
+# Si Repositorio es local (CACHE) realiza un ogRestoreImage CACHE
+# El deploy, si detecta que el cliente no tiene una cache con espacio suficiente reazlia un ogRestore REPO
+
+#Códigos de error de ogRestoreImage
+#@exception OG_ERR_FORMAT 1 formato incorrecto.
+#@exception OG_ERR_NOTFOUND 2 fichero de imagen o partición no detectados.
+#@exception OG_ERR_PARTITION 3 # Error en partición de disco.
+#@exception OG_ERR_LOCKED 4 partición bloqueada por otra operación.
+#@exception OG_ERR_IMAGE 5 error al restaurar la imagen del sistema.
+#@exception OG_ERR_IMGSIZEPARTITION 30 Tamaño de la particion es menor al tamaño de la imagen.
+#@todo: el scripts restoreImage limitarlo a origen:fichero destino:particion
+#@version 1.0.1 - Separación en protocolos de transferencia y postconfiguracion
+#@author
+#@date 2011-05-11
+#
+
+
+# Registro de ejecución
+echo $* >> $OGLOGFILE
+
+# Si el origen(pariticion) esta bloqueada salir.
+
+echo "TODO comprobando si esta bloqueado el $1 $2" &>> $OGLOGFILE
+#if ogIsLocked $1 $2; then
+# ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2"
+# exit $?
+#fi
+
+# Valor por defecto para el repositorio.
+REPO=${4:-"REPO"}
+[ "$REPO" == "$(ogGetRepoIp)" ] && REPO="REPO"
+[ "$REPO" == "$(ogGetIpAddress)" ] && REPO="CACHE"
+[ "$REPO" == "CACHE" ] && REPO="CACHE"
+
+
+if [ "$REPO" == "CACHE" ]
then
- restoreImage$ogengine REPO $3 $1 $2 UNICAST &>> $OGLOGFILE || exit $?
-else
- restoreImage REPO $3 $1 $2 UNICAST &>> $OGLOGFILE || exit $?
-fi
+ echo "Iniciando un ogRestoreImage CACHE /$3 $1 $2" &>> $OGLOGFILE
+ ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE
+ RETVAL=$?
+fi
+if [ "$REPO" == "REPO" ]
+then
+ echo "updateCache REPO /$3.img $5 $6" &>> $OGLOGFILE
+ updateCache REPO /$3.img $5 $6 &>> $OGLOGFILE
+ RETVAL=$?
+ case $RETVAL in
+ 0)
+ echo "updateCache (correcto); re realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE
+ ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE
+ RETVAL=$?
+ ;;
+ 15)
+ echo "updateCache(no hay CACHE); se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE
+ ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE
+ RETVAL=$?
+ ;;
+ 16)
+ echo "updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE
+ ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE
+ RETVAL=$?
+ ;;
+ esac
+fi
+
+if [ $RETVAL == 0 ]
+then
+ echo "Iniciando la Configuracion del Sistema Restaurado" &>> $OGLOGFILE
+ configureOs $1 $2
+fi
+if [ $RETVAL == 0 ]
+then
+ rm $OGLOGFILE
+ touch $OGLOGFILE
+else
+ echo $RETVAL &>> $OGLOGFILE
+fi
+exit $RETVAL
diff --git a/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h
index 976c393c..f39df68c 100644
--- a/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h
+++ b/admin/Sources/Clients/ogAdmClient/sources/ogAdmClient.h
@@ -70,9 +70,56 @@ char* tbErroresScripts[]={"Se han generado errores. No se puede continuar la eje
"011-La información retornada por la interface de administración excede de la longitud permitida",\
"012-Error en el envío de fichero por la red",\
"013-Error en la creación del proceso hijo",\
+ "014-Error de escritura en destino",\
+ "015-Sin Cache en el Cliente",\
+ "016-No hay espacio en la cache para almacenar fichero-imagen",\
+ "017-Error al Reducir el Sistema Archivos",\
+ "018-Error al Expandir el Sistema Archivos",\
+ "019-Error no definido",\
+ "020-Error no definido",\
+ "021-Error no definido",\
+ "022-Error no definido",\
+ "023-Error no definido",\
+ "024-Error no definido",\
+ "025-Error no definido",\
+ "026-Error no definido",\
+ "027-Error no definido",\
+ "028-Error no definido",\
+ "029-Error no definido",\
+ "030-Error al restaurar imagen - Imagen mas grande que particion",\
+ "031-Error no definido",\
+ "032-Error no definido",\
+ "033-Error no definido",\
+ "034-Error no definido",\
+ "035-Error no definido",\
+ "036-Error no definido",\
+ "037-Error no definido",\
+ "038-Error no definido",\
+ "039-Error no definido",\
+ "040-Error no definido",\
+ "041-Error no definido",\
+ "042-Error no definido",\
+ "043-Error no definido",\
+ "044-Error no definido",\
+ "045-Error no definido",\
+ "046-Error no definido",\
+ "047-Error no definido",\
+ "048-Error no definido",\
+ "049-Error no definido",\
+ "050-Error en la generación de sintaxis de transferenica unicast",\
+ "051-Error en envio UNICAST de una particion",\
+ "052-Error en envio UNICAST de un fichero",\
+ "053-Error en la recepcion UNICAST de una particion",\
+ "054-Error en la recepcion UNICAST de un fichero",\
+ "055-Error en la generacion de sintaxis de transferenica Multicast",\
+ "056-Error en envio MULTICAST de un fichero",\
+ "057-Error en la recepcion MULTICAST de un fichero",\
+ "058-Error en envio MULTICAST de una particion",\
+ "059-Error en la recepcion MULTICAST de una particion",\
+ "060-Error en la conexion de una sesion UNICAST|MULTICAST con el MASTER",\
"Error desconocido "
};
- #define MAXERRORSCRIPT 14 // Error máximo cometido
+ #define MAXERRORSCRIPT 999 // Error máximo cometido
// ________________________________________________________________________________________________________
// Prototipo de funciones
// ________________________________________________________________________________________________________
diff --git a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
index e1164221..360c8948 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
@@ -165,11 +165,26 @@ $cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaul
-function htmlOPTION_images($cmd)
+function htmlOPTION_images($cmd,$ambito,$idambito)
{
+if ($ambito == 4)
+{
+$subconsultarepo='SELECT DISTINCT idrepositorio from ordenadores where idaula=' . $idambito ;
+}
+if ($ambito == 8)
+{
+$subconsultarepo='SELECT DISTINCT idrepositorio FROM ordenadores where grupoid=' . $idambito ;
+}
+if ($ambito == 16)
+{
+$subconsultarepo='SELECT idrepositorio FROM ordenadores where idordenador=' . $idambito ;
+}
+
+
$SelectHtml="";
$cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
- INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
+ INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio AND repositorios.idrepositorio=(" . $subconsultarepo . ")";
+
$rs=new Recordset;
$rs->Comando=&$cmd;
@@ -183,6 +198,11 @@ function htmlOPTION_images($cmd)
}
$rs->Cerrar();
}
+ else
+ {
+ $SelectHtml.='<option value=""> ERROR: Ambito con multiples Repositorios --</option>';
+
+ }
return($SelectHtml);
}
diff --git a/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php b/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
index c649ee66..2cd0b7c1 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/formCloneRemotePartition.php
@@ -30,7 +30,7 @@
Elige herramienta de clonacion:
<select name="tool" id="tool" style="WIDTH:220";">
<option value="partclone"> partclone </option>
- <option value="partimage"> partimage </option>
+ <!-- <option value="partimage"> partimage </option> -->
</select>
<br />
Elige compresor para la herramienta de clonacion:
diff --git a/admin/WebConsole/asistentes/includes/asistentes/formDeployImage.php b/admin/WebConsole/asistentes/includes/asistentes/formDeployImage.php
index 2ee0920c..4b2e0aa0 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/formDeployImage.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/formDeployImage.php
@@ -1,22 +1,24 @@
-
+ Elige si solo quieres almacenar la imagen en la Cache - UpdateCache <br>
+ <input type="radio" name="modo" value="deployImage" checked > deployImage (update+restore) <br>
+ <input type="radio" name="modo" value="updateCache" > updateCache (solo descarga) <br>
+
<tr> <td> opciones basicas </td> <td> opciones multicast </td> <td> opciones torrent </td> <td> opciones unicast </td></tr>
<tr>
<td class="op_basic">
+
Elige la particion del disco donde se restaurar la imagen:
<select name="idparticion" id="idparticion" style="WIDTH:220">
<option value="1"> 1 </option>
<option value="2"> 2 </option>
<option value="3"> 3 </option>
</select>
-
- <!--DIV donde se mostrara la respuesta AJAX sobre las particiones clonables del equipo-->
- <div id="divListado"></div>
+ <br />
Elige la imagen a distribuir:
<select name="idimagen" id="idimagen" style="WIDTH:220">
<option value="">--Selecciona imagen --</option>
- <?php echo ''. htmlOPTION_images($cmd) .''; ?>
+ <?php echo ''. htmlOPTION_images($cmd,$ambito,$idambito) .''; ?>
</select>
<br />
@@ -26,6 +28,7 @@
<!-- <option value="UNICAST"> UNICAST </option> -->
<option value="TORRENT"> TORRENT </option>
<option value="MULTICAST"> MULTICAST </option>
+ <option value="UNICAST"> UNICAST </option>
</select>
<br />
</td>
diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js
index a8ab24d8..0ecbe87a 100644
--- a/admin/WebConsole/asistentes/jscripts/asistentes.js
+++ b/admin/WebConsole/asistentes/jscripts/asistentes.js
@@ -32,9 +32,20 @@ switch (form.idmetodo.value)
case "TORRENT":
protocol=" TORRENT " + form.modp2p.value + ":" + form.timep2p.value;
break;
+ case "UNICAST":
+ protocol=" UNICAST";
+ break;
}
//form.codigo.value="deployImage REPO /";
-form.codigo.value="deployImage REPO /" + form.idimagen.value + " 1 " + form.idparticion.value + " " + protocol ;
+if (form.modo[0].checked)
+{
+ form.codigo.value="deployImage REPO /" + form.idimagen.value + " 1 " + form.idparticion.value + " " + protocol ;
+}
+else
+{
+ form.codigo.value="updateCache REPO /" + form.idimagen.value + ".img" + " " + protocol ;
+}
+
}
function codeParticionado(form){
diff --git a/admin/WebConsole/comandos/CrearImagen.php b/admin/WebConsole/comandos/CrearImagen.php
index 00e404b5..330885be 100644
--- a/admin/WebConsole/comandos/CrearImagen.php
+++ b/admin/WebConsole/comandos/CrearImagen.php
@@ -61,7 +61,7 @@ if (!$resul){
<TH align=center>&nbsp;<? echo $TbMsg[10] ?>&nbsp;</TD>
<TH align=center>&nbsp;<? echo $TbMsg[11] ?>&nbsp;</TD>
</TR>
- <?
+ <?
echo tablaConfiguraciones($cmd,$idambito,$idrepositorio);
?>
</TABLE>
@@ -110,12 +110,39 @@ function tomaPropiedades($cmd,$ido){
/*________________________________________________________________________________________________________
Crea la etiqueta html <SELECT> de los perfiles softwares
________________________________________________________________________________________________________*/
-function HTMLSELECT_imagenes($cmd,$idperfilsoft,$particion)
+function HTMLSELECT_imagenes($cmd,$idrepositorio,$idperfilsoft,$particion,$masterip)
{
$SelectHtml="";
- $cmd->texto="SELECT imagenes.idimagen,imagenes.descripcion,imagenes.nombreca,imagenes.idperfilsoft FROM imagenes";
-// WHERE imagenes.idperfilsoft=".$idperfilsoft;
- // echo $cmd->texto;
+ $cmd->texto="SELECT imagenes.idimagen,imagenes.descripcion,imagenes.nombreca,imagenes.idperfilsoft, repositorios.nombrerepositorio
+ FROM imagenes INNER JOIN repositorios on imagenes.idrepositorio = repositorios.idrepositorio
+ WHERE imagenes.idrepositorio=".$idrepositorio ." OR repositorios.ip='" .$masterip ."'";
+ //echo $cmd->texto;
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$particion.'" style="WIDTH: 300">';
+ $SelectHtml.= ' <OPTION value="0"></OPTION>';
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["nombreca"].'"';
+ if($idperfilsoft==$rs->campos["idperfilsoft"]) $SelectHtml.=" selected ";
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["descripcion"]. ' -- '. $rs->campos['nombrerepositorio'] . '</OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ $SelectHtml.= '</SELECT>';
+ return($SelectHtml);
+}
+
+function HTMLSELECT_imagenesORIGINAL($cmd,$idrepositorio,$idperfilsoft,$particion,$masterip)
+{
+ $SelectHtml="";
+ $cmd->texto="SELECT imagenes.idimagen,imagenes.descripcion,imagenes.nombreca,imagenes.idperfilsoft
+ FROM imagenes INNER JOIN repositorios on imagenes.idrepositorio = repositorios.idrepositorio
+ WHERE imagenes.idrepositorio=".$idrepositorio ." OR repositorios.ip='" .$masterip ."'";
+ //echo $cmd->texto;
$rs=new Recordset;
$rs->Comando=&$cmd;
$SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$particion.'" style="WIDTH: 300">';
@@ -134,14 +161,15 @@ function HTMLSELECT_imagenes($cmd,$idperfilsoft,$particion)
$SelectHtml.= '</SELECT>';
return($SelectHtml);
}
+
+
/*________________________________________________________________________________________________________
Crea la etiqueta html <SELECT> de los repositorios
________________________________________________________________________________________________________*/
-function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){
+function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion,$masterip){
$SelectHtml="";
$rs=new Recordset;
-
- $cmd->texto="SELECT nombrerepositorio,ip FROM repositorios";
+ $cmd->texto='SELECT nombrerepositorio,ip FROM repositorios where idrepositorio="'.$idrepositorio .'" or ip="'.$masterip.'"';
$rs->Comando=&$cmd;
if (!$rs->Abrir()) return($SelectHtml); // Error al abrir recordset
@@ -152,8 +180,8 @@ function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){
if($rs->campos["idrepositorio"]==$idrepositorio) $SelectHtml.=" selected ";
$SelectHtml.='>';
$SelectHtml.= $rs->campos["nombrerepositorio"];
- $SelectHtml.='</OPTION>';
- $rs->Siguiente();
+ $SelectHtml.='</OPTION>';
+ $rs->Siguiente();
}
$SelectHtml.= '</SELECT>';
$rs->Cerrar();
@@ -168,7 +196,7 @@ function tablaConfiguraciones($cmd,$idordenador,$idrepositorio)
global $TbMsg;
$tablaHtml="";
$rs=new Recordset;
- $cmd->texto="SELECT ordenadores_particiones.numpar,ordenadores_particiones.codpar,ordenadores_particiones.tamano,
+ $cmd->texto="SELECT ordenadores.ip AS masterip,ordenadores_particiones.numpar,ordenadores_particiones.codpar,ordenadores_particiones.tamano,
ordenadores_particiones.idnombreso,nombresos.nombreso,tipospar.tipopar,tipospar.clonable,
imagenes.nombreca,imagenes.descripcion as imagen,perfilessoft.idperfilsoft,
perfilessoft.descripcion as perfilsoft,sistemasficheros.descripcion as sistemafichero
@@ -199,8 +227,8 @@ function tablaConfiguraciones($cmd,$idordenador,$idrepositorio)
$tablaHtml.='<TD align=center>&nbsp;'.'<span style="FONT-SIZE:10px; COLOR: red;" >'.$TbMsg[12].'</span></TD>'.chr(13);
else
$tablaHtml.='<TD>&nbsp;'.$rs->campos["nombreso"].'&nbsp;</TD>'.chr(13);
- $tablaHtml.='<TD>'.HTMLSELECT_imagenes($cmd,$rs->campos["idperfilsoft"],$rs->campos["numpar"]).'</TD>';
- $tablaHtml.='<TD>'.HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$rs->campos["numpar"]).'</TD>';
+ $tablaHtml.='<TD>'.HTMLSELECT_imagenes($cmd,$idrepositorio,$rs->campos["idperfilsoft"],$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
+ $tablaHtml.='<TD>'.HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$rs->campos["numpar"],$rs->campos["masterip"]).'</TD>';
$tablaHtml.='<TD>&nbsp;</TD>';
}
$tablaHtml.='</TR>'.chr(13);
diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php
index 580302d7..318d91ca 100644
--- a/admin/WebConsole/comandos/RestaurarImagen.php
+++ b/admin/WebConsole/comandos/RestaurarImagen.php
@@ -147,7 +147,7 @@ if (isset($_POST["fk_nombreSO"])) $fk_nombreSO=$_POST["fk_nombreSO"];
// Devuelve:
// El código html de la tabla
//________________________________________________________________________________________________________
-function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
+function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc,$ambito,$idambito)
{
global $tbKeys; // Tabla contenedora de claves de configuración
global $conKeys; // Contador de claves de configuración
@@ -188,12 +188,13 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
//echo'<TD align=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&nbsp;</TD>'.chr(13);
echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
- echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true).'</TD>';
- echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false).'</TD>';
+ echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,true,$idordenadores,$ambito).'</TD>';
+ echo '<TD>'.HTMLSELECT_imagenes($cmd,$tbKeys[$k]["idimagen"],$tbKeys[$k]["numpar"],$tbKeys[$k]["codpar"],$icp,false,$idordenadores,$ambito).'</TD>';
//Clonación
- $metodos="1=UNICAST".chr(13);
- $metodos.="2=MULTICAST".chr(13);
- $metodos.="3=TORRENT";
+
+ $metodos="UNICAST=UNICAST".chr(13);
+ $metodos.=mcast_syntax($cmd,$ambito,$idambito) . "=MULTICAST".chr(13);
+ $metodos.="TORRENT peer:60=TORRENT";
$TBmetodos["UNICAST"]=1;
$TBmetodos["MULTICAST"]=2;
@@ -210,7 +211,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
/*________________________________________________________________________________________________________
Crea la etiqueta html <SELECT> de los perfiles softwares
________________________________________________________________________________________________________*/
-function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw)
+function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idordenadores,$ambito)
{
$SelectHtml="";
$cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
@@ -220,7 +221,19 @@ function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw)
else
$cmd->texto.= " WHERE imagenes.codpar<>".$codpar;
- $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0"; // La imagene debe existir y estar creada
+ $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0 "; // La imagene debe existir y estar creada
+
+ $idordenador1 = explode(",",$idordenadores);
+ $idordenador=$idordenador1[0];
+ if ($ambito == 16)
+ $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .") OR repositorios.ip=(select ip from ordenadores where ordenadores.idordenador=". $idordenador .")";
+ else
+ $cmd->texto.=" AND repositorios.idrepositorio=(select idrepositorio from ordenadores where ordenadores.idordenador=" .$idordenador .")";
+
+
+
+ //echo $cmd->texto;
+
$rs=new Recordset;
$rs->Comando=&$cmd;
if($sw) $des=1; else $des=0;
@@ -266,4 +279,66 @@ function HTMLSELECT_repositorios($cmd,$idcentro,$idrepositorio,$particion){
$rs->Cerrar();
return($SelectHtml);
}
+
+
+function mcast_syntax($cmd,$ambito,$idambito)
+{
+//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if ($ambito == 4)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas where aulas.idaula=' . $idambito ;
+}
+
+if ($ambito == 8)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula where gruposordenadores.idgrupo=' . $idambito ;
+}
+
+if ($ambito == 16)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN ordenadores ON ordenadores.idaula=aulas.idaula where ordenadores.idordenador=' . $idambito ;
+}
+
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+if ($rs->Abrir()){
+ $rs->Primero();
+ $mcastsyntax.='MULTICAST ' . $rs->campos["pormul"] . ':';
+
+ $rs->Siguiente();
+ switch ($rs->campos["modomul"])
+ {
+ case 1:
+ $mcastsyntax.="half-duplex:";
+ break;
+ default:
+ $mcastsyntax.="full-duplex:";
+ break;
+ }
+ $rs->Siguiente();
+ $mcastsyntax.=$rs->campos["ipmul"] . ':';
+
+ $rs->Siguiente();
+ $mcastsyntax.=$rs->campos["velmul"] .'M:';
+
+ $rs->Cerrar();
+ }
+ $mcastsyntax.="50:";
+ $mcastsyntax.="60";
+ return($mcastsyntax);
+}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
?>
diff --git a/admin/WebConsole/gestores/gestor_pxe.php b/admin/WebConsole/gestores/gestor_pxe.php
index f585a9d5..f585a9d5 100755..100644
--- a/admin/WebConsole/gestores/gestor_pxe.php
+++ b/admin/WebConsole/gestores/gestor_pxe.php
diff --git a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php
index a82448f7..790cdf6e 100755..100644
--- a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php
+++ b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php
@@ -67,14 +67,14 @@ $rs->Primero();
$router=$rs->campos["router"];
$netmask=$rs->campos["netmask"];
$repo=$rs->campos["iprepo"];
- $infohost=" IP="
+ $infohost="ip="
. $ip . ":"
. $repo .":"
. $router . ":"
. $netmask .":"
. $hostname .":"
- . $netiface . ":none repo="
- . $repo;
+ . $netiface . ":none"; # repo="
+ #. $repo;
$rs->Cerrar();
###################obtenemos las variables de red del aula.
@@ -84,89 +84,12 @@ $rs->Cerrar();
$macfile="01-" . str_replace(":","-",strtoupper($mac));
$nombre_archivo="/var/lib/tftpboot/menu.lst/" . $macfile;
+#controlar optboot
-########## Escribimos el fichero mac
-if (!$gestion=fopen($nombre_archivo, 'w+'))
-{
- echo "No se puede abrir el archivo ($nombre_archivo)";
- return;
-}
-# cuales son los parametros del menu
-fwrite($gestion, "color white/blue black/light-gray \n");
-
-
-$cmd->texto="SELECT itemboot.label, itemboot.kernel,
- itemboot.append, menuboot.timeout, menuboot.prompt,
- menuboot.description, menuboot_itemboot.default
- From itemboot,menuboot_itemboot,menuboot
- WHERE menuboot_itemboot.labelmenu=menuboot.label
- AND menuboot_itemboot.labelitem=itemboot.label
- AND menuboot.label='" . $optboot . "'";
-
-$rs->Comando=&$cmd;
-if (!$rs->Abrir()) echo "error";
-$rs->Primero();
-while (!$rs->EOF)
-{
- fwrite($gestion, " \n");
- fwrite($gestion, "LABEL " . $rs->campos['label'] . " \n");
- fwrite($gestion, "MENU LABEL " . $rs->campos['label'] . " \n");
- #if ( $rs->campos["default"] == true)
- #{
- # fwrite($gestion, "MENU DEFAULT \n");
- #}
-
-
- # set netmask cird para ogclient
- $isogclient=substr_count($rs->campos["label"] , "og");
- if ($isogclient > 0)
- {
- $netmask=$netmask;
- $kernel=$rs->campos["kernel"];
- $append=$rs->campos["append"];
- fwrite($gestion,"keeppxe \n");
- fwrite($gestion, $rs->campos["kernel"] . " " . $infohost . " \n");
- fwrite($gestion, $rs->campos["append"] . " \n");
- fwrite($gestion,"savedefault \n");
- fwrite($gestion,"boot \n");
-
- # fwrite($gestion,"APPEND keeppxe --config-file='pxe detect; default 0; timeout 0; hiddenmenu; title cache; fallback 1; find --set-root /boot/ogvmlinuz; kernel /boot/ogvmlinuz ro boot=oginit vga=788 irqpoll acpi=on " . $infohost . " ogprotocol=smb og2nd=sqfs ; initrd /boot/oginitrd.img; boot; title net; kernel (pd)/ogclient/vmlinuz ro boot=oginit vga=788 irqpoll acpi=on " . $infohost . " ogprotocol=smb og2nd=sqfs; initrd (pd)/ogclient/oginitrd.img; boot' \n");
- # keeppxe
- # kernel (pd)/ogclient/ogvmlinuz ro boot=oginit vga=788 irqpoll acpi=on og2nd=sqfs ogprotocol=smb ogactiveadmin=true IP=172.17.9.204:172.17.9.249:172.17.9.254:255.255.255.0:cte204:eth0:none repo=172.17.9.249
- # initrd (pd)/ogclient/oginitrd.img
- # savedault
- # boot
-
-
- }
- else
- {
- $netmask=netmask2cidr($netmask);
- fwrite($gestion, $rs->campos["kernel"] . $return );
- fwrite($gestion, $rs->campos["append"] . " \n");
-
- }
-
-
-
-
-
- # $prompt=$rs->campos["prompt"];
- # $timeout=$rs->campos["timeout"];
-
- $rs->Siguiente();
-}
-$rs->Cerrar();
-
-
-
- fwrite($gestion, " \n");
- fwrite($gestion, "PROMPT " . $prompt ." \n");
- fwrite($gestion, "TIMEOUT " . $timeout . " \n");
- fwrite($gestion, " \n");
- fclose($gestion);
- exec("chown www-data:www-data /var/lib/tftpboot/pxelinux.cfg/". $macfile);
- exec("chmod 777 /var/lib/tftpboot/pxelinux.cfg/". $macfile);
+ #exec("cp /var/lib/tftpboot/menu.lst/templates/". $optboot . " /var/lib/tftpboot/menu.lst/". $macfile);
+ exec("sed s/INFOHOST/".$infohost."/g /var/lib/tftpboot/menu.lst/templates/" . $optboot . " > /var/lib/tftpboot/menu.lst/" . $macfile);
+ exec("chown www-data:www-data /var/lib/tftpboot/menu.lst/". $macfile);
+ exec("chmod 777 /var/lib/tftpboot/menu.lst/". $macfile);
diff --git a/admin/WebConsole/gestores/gestor_ubicarordenadores.php b/admin/WebConsole/gestores/gestor_ubicarordenadores.php
index 6be815db..2a7c2e35 100755..100644
--- a/admin/WebConsole/gestores/gestor_ubicarordenadores.php
+++ b/admin/WebConsole/gestores/gestor_ubicarordenadores.php
@@ -57,7 +57,9 @@ else
{
$cmd->CreaParametro("@grupo",$grupo,0);
$cmd->CreaParametro("@hostname",$hostname,0);
- $cmd->texto="update ordenadores set grupoid=(Select idgrupo from gruposordenadores where nombregrupoordenador=@grupo) where nombreordenador=@hostname";
+ #$cmd->texto="update ordenadores set grupoid=(Select idgrupo from gruposordenadores where nombregrupoordenador=@grupo) where nombreordenador=@hostname";
+ $cmd->texto="update ordenadores set grupoid=@grupo where nombreordenador=@hostname";
+
}
$cmd->Ejecutar();
#Update ordenadores Set grupoid=(Select idgrupo From gruposordenadores Where nombregrupoordenador="subgrupo1") where nombreordenador="prueba1"
diff --git a/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js b/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js
index 5e30cfe2..7deec9a3 100644
--- a/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js
+++ b/admin/WebConsole/idiomas/javascripts/esp/propiedades_imagenes_esp.js
@@ -7,4 +7,8 @@ TbMsg=new Array;
TbMsg[0]="Debe introducir un nombre para esta imagen";
TbMsg[1]="La imagen debe contener al menos un perflil software";
TbMsg[2]="ATENCIÓN: Hay ordenadores con esta imagen en alguna de sus particiones. ¿ Está seguro ?";
-TbMsg[3]="Debe introducir un nombre canónico para esta imagen";
+TbMsg[3]="nombre canónico fichero-imagen no puede contener valores no alfanumericos";
+TbMsg[4]="Falta numero de particion";
+TbMsg[5]="Falta el tipo de la particion";
+TbMsg[6]="Falta el repositorio";
+TbMsg[7]="Falta un comentario"; \ No newline at end of file
diff --git a/admin/WebConsole/idiomas/php/cat/menucliente_cat.php b/admin/WebConsole/idiomas/php/cat/menucliente_cat.php
new file mode 100644
index 00000000..569e45f8
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/cat/menucliente_cat.php
@@ -0,0 +1,12 @@
+<?
+//________________________________________________________________________________________________________
+//
+// Fichero de idiomas php: menuscliente_esp.php
+// Idioma: Español
+//________________________________________________________________________________________________________
+ $TbMsg=array();
+ $TbMsg[0]='"***ATENCI&Oacute;.- No està accedint des d'un ordinador permès"';
+ $TbMsg[1]='"Direcci&oacute; IP"';
+ $TbMsg[2]='"NO S'HA DETECTAT CAP MEN&Uacute; PER AQUEST CLIENT"';
+ $TbMsg[3]='"Apagar l'equip"';
+?>
diff --git a/admin/WebConsole/idiomas/php/eng/menucliente_eng.php b/admin/WebConsole/idiomas/php/eng/menucliente_eng.php
new file mode 100644
index 00000000..ae30c78d
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/eng/menucliente_eng.php
@@ -0,0 +1,12 @@
+<?
+//________________________________________________________________________________________________________
+//
+// Fichero de idiomas php: menuscliente_esp.php
+// Idioma: Español
+//________________________________________________________________________________________________________
+ $TbMsg=array();
+ $TbMsg[0]='"***WARNING.- You are accessing from a computer not allowed"';
+ $TbMsg[1]='"IP Address"';
+ $TbMsg[2]='"NOT DETECTED ANY MENU FOR THIS CLIENT"';
+ $TbMsg[3]='"Shut down the computer"';
+?>
diff --git a/admin/WebConsole/idiomas/php/esp/menucliente_esp.php b/admin/WebConsole/idiomas/php/esp/menucliente_esp.php
new file mode 100644
index 00000000..6dd541c0
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/esp/menucliente_esp.php
@@ -0,0 +1,12 @@
+<?
+//________________________________________________________________________________________________________
+//
+// Fichero de idiomas php: menuscliente_esp.php
+// Idioma: Español
+//________________________________________________________________________________________________________
+ $TbMsg=array();
+ $TbMsg[0]='"***ATENCI&Oacute;N.- Usted no est&aacute; accediendo desde un ordenador permitido"';
+ $TbMsg[1]='"Direcci&oacute;n IP"';
+ $TbMsg[2]='"NO SE HA DETECTADO NING&Uacute;N MEN&Uacute; PARA ESTE CLIENTE"';
+ $TbMsg[3]='"Apagar el equipo"';
+?>
diff --git a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php
index e8308253..e38ebbb0 100644
--- a/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php
+++ b/admin/WebConsole/idiomas/php/esp/msgbrowser_esp.php
@@ -30,6 +30,9 @@ $TbMsg=array();
$TbMsg[20]='ATENCIÓN, ha habido algún error en el proceso de Inventario Software';
$TbMsg[21]='El proceso de jecuación del script bash ha terminado correctamente';
$TbMsg[22]='ATENCIÓN, ha habido algún error en el proceso de ejecución del script bash';
+ $TbMsg[23]='ATENCIÓN';
+ $TbMsg[24]='NO UTILICE NI APAGUE ESTE ORDENADOR.';
+
?>
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index 30ee490e..c4a5b844 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -255,7 +255,7 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr)
echo '</TD></TR>';
//Muestra particiones y configuración
- echo pintaParticiones($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc);
+ echo pintaParticiones($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc,$ambito,$idambito);
$rs->Siguiente();
}
echo "</TABLE>";
diff --git a/admin/WebConsole/jscripts/propiedades_imagenes.js b/admin/WebConsole/jscripts/propiedades_imagenes.js
index dc1ac94e..2cecc566 100644
--- a/admin/WebConsole/jscripts/propiedades_imagenes.js
+++ b/admin/WebConsole/jscripts/propiedades_imagenes.js
@@ -74,23 +74,23 @@ function confirmar(op){
// Comprobar_datos
//________________________________________________________________________________________________________
function comprobar_datos(){
- if (document.fdatos.nombreca.value=="") {
- alert(TbMsg[3]);
- document.fdatos.nombreca.focus();
- return(false);
+ function validate (field, validator, msgi) {
+ if (!validator (field.value)) {
+ alert(TbMsg[msgi]);
+ validation_highlight (field);
+ return false;
+ }
+ return true;
}
- if (document.fdatos.descripcion.value=="") {
- alert(TbMsg[0]);
- document.fdatos.descripcion.focus();
- return(false);
- }
- /*
- var p=document.fdatos.idperfilsoft.selectedIndex
- if (p==0){
- alert(TbMsg[1])
- document.forms.fdatos.idperfilsoft.focus()
- return(false)
- }
- */
+
+
+ var form = document.fdatos;
+ return validate (form.nombreca, validate_nameimagefile, 3) &&
+ validate (form.nombreca, validate_notnull, 3) &&
+ validate (form.descripcion, validate_notnull, 0) &&
+ validate (form.numpar, validate_notnull, 4) &&
+ validate (form.codpar, validate_notnull, 5) &&
+ validate (form.idrepositorio, validate_notnull, 6);
+
return(true);
}
diff --git a/admin/WebConsole/jscripts/validators.js b/admin/WebConsole/jscripts/validators.js
index 4fc91c75..e0359505 100644
--- a/admin/WebConsole/jscripts/validators.js
+++ b/admin/WebConsole/jscripts/validators.js
@@ -51,6 +51,9 @@ function validate_ipadress_notnull(value) {
return validate_ipadress(value) && validate_notnull(value);
}
+function validate_nameimagefile(value) {
+ return validate_expr(value, "^[0-9a-zA-Z]*$");
+}
function validation_highlight(field) {
diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php
index 8cf19824..071ddf44 100644
--- a/admin/WebConsole/principal/aulas.php
+++ b/admin/WebConsole/principal/aulas.php
@@ -375,11 +375,6 @@ function ContextualXMLGruposAulas(){
$layerXML.=' textoitem='.$TbMsg[6];
$layerXML.='></ITEM>';
- $layerXML.='<ITEM';
- $layerXML.=' subflotante="flo_netboot"';
- $layerXML.=' imgitem="../images/iconos/ordenadores.gif"';
- $layerXML.=' textoitem="NetBoot Gestion"';
- $layerXML.='></ITEM>';
$layerXML.='<SEPARADOR>';
$layerXML.='</SEPARADOR>';
diff --git a/admin/WebConsole/principal/boot_grub4dos.php b/admin/WebConsole/principal/boot_grub4dos.php
new file mode 100644
index 00000000..14e9f1f9
--- /dev/null
+++ b/admin/WebConsole/principal/boot_grub4dos.php
@@ -0,0 +1,217 @@
+<html>
+<TITLE>Administración web de aulas</TITLE>
+<head>
+<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
+ <LINK rel="stylesheet" type="text/css" href="../estilos.css">
+ <SCRIPT language="javascript" src="../jscripts/propiedades_aulas.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT>
+ <SCRIPT language="javascript" src="../idiomas/javascripts/esp/propiedades_aulas_esp.js"></SCRIPT></HEAD>
+
+<script language="javascript" type="text/javascript">
+
+function move(fbox, tbox) {
+ var arrFbox = new Array();
+ var arrTbox = new Array();
+ var arrLookup = new Array();
+ var i;
+ for (i = 0; i < tbox.options.length; i++) {
+ arrLookup[tbox.options[i].text] = tbox.options[i].value;
+ arrTbox[i] = tbox.options[i].text;
+ }
+ var fLength = 0;
+ var tLength = arrTbox.length;
+ for(i = 0; i < fbox.options.length; i++) {
+ arrLookup[fbox.options[i].text] = fbox.options[i].value;
+ if (fbox.options[i].selected && fbox.options[i].value != "") {
+ arrTbox[tLength] = fbox.options[i].text;
+ tLength++;
+ }
+ else {
+ arrFbox[fLength] = fbox.options[i].text;
+ fLength++;
+ }
+ }
+ arrFbox.sort();
+ arrTbox.sort();
+ fbox.length = 0;
+ tbox.length = 0;
+ var c;
+
+for(c = 0; c < arrFbox.length; c++) {
+var no = new Option();
+no.value = arrLookup[arrFbox[c]];
+no.text = arrFbox[c];
+fbox[c] = no;
+}
+
+for(c = 0; c < arrTbox.length; c++) {
+var no = new Option();
+no.value = arrLookup[arrTbox[c]];
+no.text = arrTbox[c];
+tbox[c] = no;
+ }
+}
+
+function allSelect()
+{
+var saveString = "";
+// seleccionamos cada uno de los select
+var input = document.getElementsByTagName('select');
+//alert(input.length);
+for(var i=0; i<input.length; i++){
+//if(inputs[i].getAttribute('type')=='button'){
+// your statements
+patron = "L";
+parm = input[i].name;
+//alert(parm);
+parm = parm.replace(patron,'');
+//alert(parm);
+for (j=0;j<input[i].length;j++)
+ {
+ //List.options[i].selected = true;
+ saveString = saveString + parm + '|' + input[i].options[j].value + ';';
+ //alert(saveString);
+ }
+}
+document.forms['myForm'].listOfItems.value = saveString;
+}
+
+
+</script>
+</head>
+<body>
+
+<?php
+include_once("../includes/ctrlacc.php");
+include_once("../clases/AdoPhp.php");
+include_once("../clases/XmlPhp.php");
+include_once("../clases/MenuContextual.php");
+include_once("../clases/SockHidra.php");
+include_once("../includes/constantes.php");
+include_once("../includes/comunes.php");
+include_once("../includes/CreaComando.php");
+include_once("../idiomas/php/".$idioma."/aulas_".$idioma.".php");
+
+$cmd=CreaComando($cadenaconexion);
+if (!$cmd)
+ Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
+//________________________________________________________________________________________________________
+
+$litambito=0;
+$idambito=0;
+$nombreambito="";
+
+
+if (isset($_GET["litambito"])) $litambito=$_GET["litambito"]; // Recoge parametros
+if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if (isset($_GET["nombreambito"])) $nombreambito=$_GET["nombreambito"];
+
+
+switch($litambito){
+ case "aulas":
+ $seleccion="and idaula=" . $idambito ."";
+ break;
+ case "gruposordenadores":
+ $seleccion= "and grupoid=" . $idambito . "";
+ break;
+}
+?>
+
+<TABLE align=center border=1 cellPadding=1 cellSpacing=1 class=tabla_datos >
+<form name="myForm" method="post" action="../gestores/gestor_pxe_grub4dos.php?idaula=<?php echo $idambito ?>&nombreambito=<?php echo $nombreambito?>&litambito=<?php echo $litambito?>" >
+
+
+ <P align=center class=cabeceras>Gestión Arranque Avanzado<BR>
+ <SPAN align=center class=subcabeceras> <?php echo $nombreambito; ?> </SPAN>
+ <input type="submit" value="GUARDAR" name="saveButton" onclick="allSelect()"> </P>
+
+
+
+
+
+
+<input type="hidden" name="listOfItems" value="">
+<?php
+echo "<input type='hidden' name='rungrupo' value='" . $_GET['id_aula'] . "'>";
+?>
+
+
+<!-- primer file, nombre de las equipos por pxe hace falta <td> </td>-->
+<tr>
+<td>
+ <!-- <a href="./muestramenu.php?labelmenu=pxe"> OGclient </a><br> pxe <br> -->
+OGclient <br>
+<select multiple size="30" name="Lpxe" id="Lpxe" style="width:100">
+
+<?php
+#### listado de equipos con menu pxe
+$menupxe=pxe;
+$listadopxe=listaequipos($cmd,$menupxe,$seleccion);
+echo $listadopxe;
+?>
+</select>
+</td>
+
+
+<?php
+
+$cmd->texto="SELECT * FROM menuboot where label <> 'pxe' ";
+$rsmenu=new Recordset;
+$rsmenu->Comando=&$cmd;
+if (!$rsmenu->Abrir()) echo "error";
+$rsmenu->Primero();
+while (!$rsmenu->EOF)
+{
+ echo "<td></td>";
+ echo "<td> ";
+ echo $rsmenu->campos['description'];
+ #echo "<a href='./muestramenu.php?labelmenu=" . $rsmenu->campos['label'] ."'> " . $rsmenu->campos['description'] . " </a> <br>". $rs->campos['label'] . "<br>";
+ echo " <br>";
+ echo "<input type='button' onClick='move(this.form.L" . $rsmenu->campos['label'] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >";
+ echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $rsmenu->campos['label'] .")' value='IN' style='height: 25px; width: 35px' >";
+ echo " <br>";
+ echo "<select multiple size='30' name='L" . $rsmenu->campos['label'] . "' style='width:100'>";
+ $listadopxe="";
+ $listadopxe=listaequipos($cmd,$rsmenu->campos['label'],$seleccion);
+ echo $listadopxe;
+ echo "</select>";
+ echo "</td>";
+ $rsmenu->Siguiente();
+}
+$rsmenu->Cerrar();
+
+
+
+
+
+
+
+// esta funcion genera los elementos de un select(formulario html) donde aparecen los nombres de los ordenadores, según su menu pxe
+function listaequipos($cmd,$menupxe,$seleccion)
+{
+$cmd->texto="SELECT * FROM ordenadores where arranque='" . $menupxe ."' " . $seleccion;
+$rs=new Recordset;
+$rs->Comando=&$cmd;
+if (!$rs->Abrir()) echo "error";
+$rs->Primero();
+while (!$rs->EOF)
+{
+ echo "<option value='";
+ echo $rs->campos["nombreordenador"];
+ echo "'>";
+ echo $rs->campos["nombreordenador"];
+ echo "</option>";
+ $rs->Siguiente();
+}
+$rs->Cerrar();
+}
+
+?>
+
+</tr>
+
+</form>
+</table>
+
+</body>
+</html>
diff --git a/admin/WebConsole/principal/ubicarordenadores.php b/admin/WebConsole/principal/ubicarordenadores.php
index f5efb099..e3facc7d 100644
--- a/admin/WebConsole/principal/ubicarordenadores.php
+++ b/admin/WebConsole/principal/ubicarordenadores.php
@@ -191,10 +191,10 @@ while (!$rsmenu->EOF)
echo "<td> ";
echo $rsmenu->campos['nombregrupoordenador'];
echo " <br>";
- echo "<input type='button' onClick='move(this.form.L" . $rsmenu->campos['nombregrupoordenador'] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >";
- echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $rsmenu->campos['nombregrupoordenador'] .")' value='IN' style='height: 25px; width: 35px' >";
+ echo "<input type='button' onClick='move(this.form.L" . $rsmenu->campos['idgrupo'] . ",this.form.Lpxe)' value='OUT' style='height: 25px; width: 50px' >";
+ echo "<input type='button' onClick='move(this.form.Lpxe,this.form.L" . $rsmenu->campos['idgrupo'] .")' value='IN' style='height: 25px; width: 35px' >";
echo " <br>";
- echo "<select multiple size='30' name='L" . $rsmenu->campos['nombregrupoordenador'] . "' style='width:100'>";
+ echo "<select multiple size='30' name='L" . $rsmenu->campos['idgrupo'] . "' style='width:100'>";
$listadogrupo="";
#$listadogrupo=listaequipos($cmd,$rsmenu->campos['idgrupo'],$seleccion);
$listadogrupo=ListaEquiposGrupo($cmd,$rsmenu->campos['idaula'],$rsmenu->campos['idgrupo']);
diff --git a/admin/WebConsole/propiedades/propiedades_imagenes.php b/admin/WebConsole/propiedades/propiedades_imagenes.php
index c2c686e2..35f5412c 100644
--- a/admin/WebConsole/propiedades/propiedades_imagenes.php
+++ b/admin/WebConsole/propiedades/propiedades_imagenes.php
@@ -45,6 +45,7 @@ if ($opcion!=$op_alta){
<HEAD>
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<LINK rel="stylesheet" type="text/css" href="../estilos.css">
+ <SCRIPT language="javascript" src="../jscripts/validators.js"></SCRIPT>
<SCRIPT language="javascript" src="../jscripts/propiedades_imagenes.js"></SCRIPT>
<SCRIPT language="javascript" src="../jscripts/opciones.js"></SCRIPT>
<? echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_imagenes_'.$idioma.'.js"></SCRIPT>'?>
diff --git a/admin/WebConsole/varios/menucliente.php b/admin/WebConsole/varios/menucliente.php
index a6a9735d..07abcfeb 100644
--- a/admin/WebConsole/varios/menucliente.php
+++ b/admin/WebConsole/varios/menucliente.php
@@ -12,6 +12,7 @@ include_once("../includes/ctrlacc.php");
include_once("../clases/AdoPhp.php");
include_once("../includes/TomaDato.php");
include_once("../includes/CreaComando.php");
+include_once("../idiomas/php/".$idioma."/menucliente".$idioma.".php");
//________________________________________________________________________________________________________
$cmd=CreaComando($cadenaconexion);
if (!$cmd)
@@ -25,7 +26,7 @@ if (isset($_GET["tip"])) $tip=$_GET["tip"];
$iph=tomaIP();
if(empty($iph))
- die("***ATENCION.- Usted no esta accediendo desde un ordenador permitido: Dirección IP=".$iph);
+ die($TbMsg[0].": ".$TbMsg[1]."=".$iph);
$UrlPagina=$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; // Url página
$UrlPagina=dirname($UrlPagina);
@@ -62,11 +63,9 @@ if(!empty($rsmenu)){
}
else{
$codeHtml='<div align="center" style="font-family: Arial, Helvetica, sans-serif;">';
- $codeHtml.='<p style="color:#999999; font-size: 16px; margin: 2em;">';
- $codeHtml.=' NO SE HA DETECTADO NING&Uacute;N MEN&Uacute; PARA ESTE CLIENTE';
- $codeHtml.='</p>';
+ $codeHtml.='<p style="color:#999999; font-size: 16px; margin: 2em;">'.$TbMsg[2].'</p>';
$codeHtml.='<p style="font-size: 14px; margin: 2em;">';
- $codeHtml.=' <a href="command:poweroff">Apagar el equipo</a>';
+ $codeHtml.=' <a href="command:poweroff">'.$TbMsg[3].'</a>';
$codeHtml.='</p>';
$codeHtml.='</div>';
}
@@ -84,8 +83,9 @@ else{
}
else{
echo'<BODY bgcolor=white background="../images/iconos/fondo800x600.png">';
- echo '<P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png"><P>';
+ #echo '<P align=left><IMG border=0 src="../images/iconos/logoopengnsys.png"><P>';
}
+ include_once("/opt/opengnsys/log/clients/".$iph.".info.html");
echo $codeHtml;
?>
</BODY>
diff --git a/admin/WebConsole/varios/msgbrowser.php b/admin/WebConsole/varios/msgbrowser.php
index e2a28a90..658f2a86 100644
--- a/admin/WebConsole/varios/msgbrowser.php
+++ b/admin/WebConsole/varios/msgbrowser.php
@@ -67,6 +67,7 @@ else
<BODY>
<?
if(empty($idx) && empty($msg)) {
+ // No hay operaciones realizandose
echo '<BR><BR><BR><BR><BR>';
echo '<TABLE cellspacing=0 cellpadding=2 align=center border=0>';
echo '<TR><TD align=center><IMG border=0 src="../images/iconos/logoopengnsys.png"></TD></TR>';
@@ -75,6 +76,9 @@ if(empty($idx) && empty($msg)) {
echo '</TABLE>';
}
else{
+ // Se está realizando una operacion
+ echo '<h1>' . $TbMsg[23] . ' </h1>';
+ echo '<h1>' . $TbMsg[24] . ' </h1>';
echo '<BR><BR><BR>';
echo '<TABLE cellspacing=0 cellpadding=2 align=center border=0>';
echo '<TR><TD align=center class="tdbarra">Opengnsys Browser Message</TD><TR>';