diff options
author | ramon <ramongomez@us.es> | 2011-06-15 11:32:53 +0000 |
---|---|---|
committer | ramon <ramongomez@us.es> | 2011-06-15 11:32:53 +0000 |
commit | ecd8d9ac7a4419618f471815d748a51923d90aea (patch) | |
tree | 5e4e60b889df53993b557f907e00d468bc7fde71 /admin | |
parent | 61dabee7d4cd985599233fd3e9c07a76e5e85f84 (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')
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> <? echo $TbMsg[10] ?> </TD> <TH align=center> <? echo $TbMsg[11] ?> </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> '.'<span style="FONT-SIZE:10px; COLOR: red;" >'.$TbMsg[12].'</span></TD>'.chr(13); else $tablaHtml.='<TD> '.$rs->campos["nombreso"].' </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> </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> '.formatomiles($tbKeys[$k]["tamano"]).' </TD>'.chr(13); echo'<TD align=center> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' </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Ó.- No està accedint des d'un ordinador permès"'; + $TbMsg[1]='"Direcció IP"'; + $TbMsg[2]='"NO S'HA DETECTAT CAP MENÚ 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ÓN.- Usted no está accediendo desde un ordenador permitido"'; + $TbMsg[1]='"Dirección IP"'; + $TbMsg[2]='"NO SE HA DETECTADO NINGÚN MENÚ 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ÚN MENÚ 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>'; |