diff options
Diffstat (limited to 'admin')
34 files changed, 1222 insertions, 761 deletions
diff --git a/admin/Database/ogAdmBD-1.0-1.0.1.sql b/admin/Database/ogAdmBD-1.0-1.0.2.sql index 30798763..30798763 100644 --- a/admin/Database/ogAdmBD-1.0-1.0.1.sql +++ b/admin/Database/ogAdmBD-1.0-1.0.2.sql diff --git a/admin/Database/ogAdmBD-1.0pre-1.0.1.sql b/admin/Database/ogAdmBD-1.0pre-1.0.2.sql index 523c1ecf..523c1ecf 100644 --- a/admin/Database/ogAdmBD-1.0pre-1.0.1.sql +++ b/admin/Database/ogAdmBD-1.0pre-1.0.2.sql diff --git a/admin/Database/ogAdmBD-1.0pre-1.0.sql b/admin/Database/ogAdmBD-1.0pre-1.0.sql deleted file mode 100644 index 65f0c4ff..00000000 --- a/admin/Database/ogAdmBD-1.0pre-1.0.sql +++ /dev/null @@ -1,21 +0,0 @@ -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'; diff --git a/admin/Interface/CambiarAcceso b/admin/Interface/CambiarAcceso index 210b3d80..64516e4f 100755 --- a/admin/Interface/CambiarAcceso +++ b/admin/Interface/CambiarAcceso @@ -44,6 +44,9 @@ umount $OGIMG ogEcho info "$PROG: Montar repositorio $REPO por $PROTO en modo $1" case "$PROTO" in nfs) mount -t nfs $REPOIP:$OGIMG $OGIMG -o $MODE ;; - smb) mount -t cifs //$REPOIP/ogimages $OGIMG -o $MODE,serverino,acl,username=opengnsys,password=og ;; + smb) PASS=$(grep "^[ ]*\(export \)\?OPTIONS=" /scripts/ogfunctions 2>&1 | \ + sed 's/\(.*\)pass=\(\w*\)\(.*\)/\2/') + PASS=${PASS:-"og"} + mount.cifs //$REPOIP/ogimages $OGIMG -o rw,serverino,acl,username=opengnsys,password=$PASS esac diff --git a/admin/Interface/CrearImagen b/admin/Interface/CrearImagen index abc6edea..1d59da29 100755 --- a/admin/Interface/CrearImagen +++ b/admin/Interface/CrearImagen @@ -28,11 +28,24 @@ #Códigos de error de la funcion ogCreateImage +TIME1=$SECONDS +#TODO: revisar las variables. +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp # Registro de ejecución echo $* >> $OGLOGFILE +echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE) + + # Solo ejecutable por OpenGnSys Client. PATH=$PATH:$(dirname $0) PROG=$(basename $0) @@ -69,7 +82,7 @@ fi if [ -f createImage$ogengine ]; then createImage$ogengine "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE else - createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGFILE + createImage "$1" "$2" "$REPO" /"$3" &>> $OGLOGCOMMAND fi RETVAL=$? diff --git a/admin/Interface/EjecutarScript b/admin/Interface/EjecutarScript index 3de64815..431164b9 100755 --- a/admin/Interface/EjecutarScript +++ b/admin/Interface/EjecutarScript @@ -1,21 +1,33 @@ #!/bin/bash +TIME1=$SECONDS -echo -e >> $OGLOGFILE -echo "Contenido de la ejecucion: *****************************" >> $OGLOGFILE +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" + +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp + + +echo "START JOBS ***************************** " | tee -a $OGLOGSESSION $OGLOGFILE + +echo "Instrucciones a ejecutar: *****************************" >> $OGLOGFILE cat $1 >> $OGLOGFILE -echo -e >> $OGLOGFILE -echo -e >> $OGLOGFILE -echo "Salida: *****************************" >> $OGLOGFILE + +echo "Salida de las instrucciones: *****************************" >> $OGLOGFILE chmod +x $1 -$1 &>> $OGLOGFILE +$1 &>> $OGLOGCOMMAND RETVAL=$? echo $RETVAL &>> $OGLOGFILE - +TIME=$[SECONDS-TIME1] if [ $RETVAL == 0 ] then - rm $OGLOGFILE - touch $OGLOGFILE + echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE else - echo $RETVAL &>> $OGLOGFILE + echo "ERROR no operacion no realizada" | tee -a $OGLOGSESSION $OGLOGFILE fi +echo "END JOBS ***************************** " | tee -a $OGLOGSESSION $OGLOGFILE exit $RETVAL
\ No newline at end of file diff --git a/admin/Interface/RestaurarImagen b/admin/Interface/RestaurarImagen index 90299ba9..2b20d054 100755 --- a/admin/Interface/RestaurarImagen +++ b/admin/Interface/RestaurarImagen @@ -25,17 +25,34 @@ #@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 +#@author Antonio J. Doblas Viso. Universidad de Málaga #@date 2011-05-11 -# +#@version 1.0.1 - Separación de los ficheros-log para ser gestionado por el httpd-log +#@author Antonio J. Doblas Viso. Universidad de Málaga +#@date 2011-05-11 + + +TIME1=$SECONDS +OGLOGSESSION="${OGLOGSESSION=:-/tmp/session.log}" +OGLOGCOMMAND="${OGLOGCOMMAND=:-/tmp/command.log}" +OGLOGSESSION="/tmp/session.log" +OGLOGCOMMAND="/tmp/command.log" + +echo " " > $OGLOGSESSION +echo " " > $OGLOGCOMMAND +echo " " > ${OGLOGCOMMAND}.tmp # Registro de ejecución -echo $* >> $OGLOGFILE +echo $* >> $OGLOGSESSION +echo "$*" &>> $OGLOGSESSION | $(tail -n 1 $OGLOGSESSION >> $OGLOGFILE) + + +echo "[1] Iniciando $0 $*" | tee -a $OGLOGSESSION $OGLOGFILE # Si el origen(pariticion) esta bloqueada salir. -echo "TODO comprobando si esta bloqueado el $1 $2" &>> $OGLOGFILE +echo "TODO comprobando si esta bloqueado el $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE #if ogIsLocked $1 $2; then # ogRaiseError $OG_ERR_LOCKED "$MSG_PARTITION, $1 $2" # exit $? @@ -50,8 +67,8 @@ REPO=${4:-"REPO"} if [ "$REPO" == "CACHE" ] then - echo "Iniciando un ogRestoreImage CACHE /$3 $1 $2" &>> $OGLOGFILE - ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + echo "[2] Iniciando un ogRestoreImage CACHE $3 $1 $2" | tee -a $OGLOGSESSION $OGLOGFILE + ogRestoreImage CACHE "$3" "$1" "$2" &>> $OGLOGCOMMAND RETVAL=$? fi @@ -59,38 +76,49 @@ fi if [ "$REPO" == "REPO" ] then - echo "updateCache REPO /$3.img $5 $6" &>> $OGLOGFILE - updateCache REPO /$3.img $5 $6 &>> $OGLOGFILE + echo "[2] updateCache REPO \"/$3.img\" $5 $6" | tee -a $OGLOGSESSION $OGLOGFILE + TIME2=$SECONDS + updateCache REPO "/$3.img" "$5" "$6" &>> $OGLOGCOMMAND RETVAL=$? + TIME2=$[SECONDS-TIME2] + echo " [ ] Duracion del subproceso updateCache $[TIME2/60]m $[TIME2%60]s" | tee -a $OGLOGSESSION $OGLOGFILE case $RETVAL in - 0) - echo "updateCache (correcto); re realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE - ogRestoreImage CACHE /"$3" "$1" "$2" &>> $OGLOGFILE + 0) + echo "[50] updateCache (correcto)" | tee -a $OGLOGSESSION $OGLOGFILE + echo "[55] Restaurando la imagen desde la cache con comando: ogRestoreImage CACHE $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage CACHE "$3" "$1" "$2" &> $OGLOGCOMMAND RETVAL=$? + TIME3=$[SECONDS-TIME3] + echo " [ ] Duracion del subproceso ogRestoreImage CACHE $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE ;; 15) - echo "updateCache(no hay CACHE); se realiza ogRestoreImage REPO /$3 $1 $2 UNICAST" &>> $OGLOGFILE - ogRestoreImage REPO /"$3" "$1" "$2" &>> $OGLOGFILE - RETVAL=$? + echo "[50] updateCache(no hay CACHE); se realiza ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + echo "[55] Se restaura la imagen directamente desde el REPO: ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND + 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 + echo "[50] updateCache(no hay espacio sufiente en la CACHE), Se realiza ogRestoreImage REPO $3 $1 $2 UNICAST" | tee -a $OGLOGSESSION $OGLOGFILE + TIME3=$SECONDS + ogRestoreImage REPO "$3" "$1" "$2" &> $OGLOGCOMMAND RETVAL=$? + TIME3=$[SECONDS-TIME3] + echo " [ ] Duracion del subproceso ogRestoreImage REPO $[TIME3/60]m $[TIME3%60]s" | tee -a $OGLOGSESSION $OGLOGFILE ;; - esac + 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 + echo "[90] Iniciando la Configuracion del Sistema Restaurado" | tee -a $OGLOGSESSION $OGLOGFILE + configureOs "$1" "$2" fi + +TIME=$[SECONDS-TIME1] +echo "[100] Duracion de la operacion $[TIME/60]m $[TIME%60]s" | tee -a $OGLOGSESSION $OGLOGFILE + + exit $RETVAL + diff --git a/admin/Interface/getConfiguration b/admin/Interface/getConfiguration index 628c9846..a69a041a 100755 --- a/admin/Interface/getConfiguration +++ b/admin/Interface/getConfiguration @@ -6,40 +6,35 @@ # par=Número de particion\tcod=Código de partición\tsfi=Sistema de ficheros\tsoi=Sistema instalado\ttam=Tamaño de la partición\n #_______________________________________________________________________________________________________________________________ -cfg=$(listPrimaryPartitions 1) -particiones=$(echo $cfg | awk '{n=split($0,sep," ");print n}') -cfg="" -for ((par=1;par<=$particiones;par++)); - do - # Tipo de partición o sistema de fichero - fsi=$(getFsType 1 $par 2>/dev/null) - fsi=${fsi:-"EMPTY"} - # Tamaño de la particón - tam=$(ogGetPartitionSize 1 $par 2>/dev/null) - tam=${tam:-"0"} - # Código de la partición - cod=$(ogFsToId $fsi) +particiones=$(listPartitions 1 | wc -w) # Incluir todas las particiones +cfg="0::::$(ogGetDiskSize 1);" # e información de disco (partición 0) - - if [ $cod == 82 ]; then - soi=" " - else - # Sistema de fichero instalado - soi=$(getOsVersion 1 $par 2>/dev/null) - soi=$(echo $soi | awk '{split($0,sep,":"); print sep[2]}') - fi - - cfg=$(echo $cfg$par":"$cod":"$fsi":"$soi":"$tam";") +for ((par=1;par<=$particiones;par++)); +do + # Tipo de partición o sistema de fichero + fsi=$(getFsType 1 $par 2>/dev/null) + fsi=${fsi:-"EMPTY"} + # Código de la partición + cod=$(ogFsToId $fsi) + # Tamaño de la particón + tam=$(ogGetPartitionSize 1 $par 2>/dev/null) + tam=${tam:-"0"} + # Sistema de fichero instalado + if [ $cod == 82 ]; then + soi=" " + else + soi=$(getOsVersion 1 $par 2>/dev/null | cut -f2 -d:) + fi + cfg="$cfg$par:$cod:$fsi:$soi:$tam;" done echo $cfg | awk '{ - n=split($0,sep,";"); - for(i=1;i<n;i++){ - split(sep[i],dua,":"); - printf("par=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",dua[1],dua[2],dua[3],dua[4],dua[5]); - } - - }' + n=split($0,sep,";"); + for(i=1;i<n;i++){ + split(sep[i],dua,":"); + printf("par=%s\tcpt=%s\tfsi=%s\tsoi=%s\ttam=%s\n",dua[1],dua[2],dua[3],dua[4],dua[5]); + } + }' diff --git a/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg b/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg index 21b2b9e8..b41b33f1 100644 --- a/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg +++ b/admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg @@ -2,5 +2,5 @@ ServidorAdm=SERVERIP PUERTO=2008 PATHINTERFACE=/opt/opengnsys/interfaceAdm UrlMenu=OPENGNSYSURL/varios/menubrowser.php -UrlMsg=OPENGNSYSURL/varios/msgbrowser.php +UrlMsg=http://localhost/cgi-bin/httpd-log.sh diff --git a/admin/Sources/Services/ogAdmAgent/Makefile b/admin/Sources/Services/ogAdmAgent/Makefile index 3b483e85..6a7a180a 100644 --- a/admin/Sources/Services/ogAdmAgent/Makefile +++ b/admin/Sources/Services/ogAdmAgent/Makefile @@ -8,11 +8,16 @@ INSTALL_DIR := /opt/opengnsys # Opciones de compilacion #CFLAGS := -O0 -g -Wall -I../../Includes # Depuracion -CFLAGS := -O3 -Wall -I../../Includes # Optimizacion +CFLAGS := -O3 -Wall -I../../Includes # Depuracion CPPFLAGS := $(CFLAGS) # Opciones de linkado -LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +LBIT=$(shell getconf LONG_BIT) +ifeq ($(LBIT), 64) + LDFLAGS := -L/usr/lib64 -L/usr/lib64/mysql -lpthread -lmysqlclient +else + LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +endif # Ficheros objetos OBJS := ../../Includes/Database.o sources/ogAdmAgent.o diff --git a/admin/Sources/Services/ogAdmBoot/Makefile b/admin/Sources/Services/ogAdmBoot/Makefile index 79b30104..a8d9da0e 100644 --- a/admin/Sources/Services/ogAdmBoot/Makefile +++ b/admin/Sources/Services/ogAdmBoot/Makefile @@ -8,11 +8,16 @@ INSTALL_DIR := /opt/opengnsys # Opciones de compilacion #CFLAGS := -O0 -g -Wall -I../includes # Depuracion -CFLAGS := -O3 -Wall -I../includes # Optimizacion +CFLAGS := -O3 -Wall -I../includes # Depuracion CPPFLAGS := $(CFLAGS) # Opciones de linkado -LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +LBIT=$(shell getconf LONG_BIT) +ifeq ($(LBIT), 64) + LDFLAGS := -L/usr/lib64 -L/usr/lib64/mysql -lpthread -lmysqlclient +else + LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +endif # Ficheros objetos OBJS := ../includes/Database.o sources/ogAdmBoot.o diff --git a/admin/Sources/Services/ogAdmRepo/Makefile b/admin/Sources/Services/ogAdmRepo/Makefile index 903467f4..b7b9a592 100644 --- a/admin/Sources/Services/ogAdmRepo/Makefile +++ b/admin/Sources/Services/ogAdmRepo/Makefile @@ -8,11 +8,16 @@ INSTALL_DIR := /opt/opengnsys # Opciones de compilacion #CFLAGS := -O0 -g -Wall -I../../Includes # Depuracion -CFLAGS := -O3 -Wall -I../../Includes # Optimizacion +CFLAGS := -O3 -Wall -I../../Includes # Depuracion CPPFLAGS := $(CFLAGS) # Opciones de linkado -LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +LBIT := $(shell getconf LONG_BIT) +ifeq ($(LBIT), 64) + LDFLAGS := -L/usr/lib64 -L/usr/lib64/mysql -lpthread -lmysqlclient +else + LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +endif # Ficheros objetos OBJS := ../../Includes/Database.o sources/ogAdmRepo.o diff --git a/admin/Sources/Services/ogAdmRepoAux b/admin/Sources/Services/ogAdmRepoAux index 9dd4b0bb..21c0e4f1 100755 --- a/admin/Sources/Services/ogAdmRepoAux +++ b/admin/Sources/Services/ogAdmRepoAux @@ -11,11 +11,17 @@ PARM=`cat` BASEDIR=/opt/opengnsys +PATH=$PATH:$BASEDIR/bin REPONAME=ogAdmRepo REPOLOG=$BASEDIR/log/$REPONAME.log MCASTLOGBASE=$BASEDIR/log/mcastlog MCASTLOG=$MCASTLOGBASE/ogAdmRepoMcast.`date +%Y%m%d-%H%M%S` +# Añade registro de incidencias. +function echolog () { + date +"%Y%m%d-%H%M%S $*" >> $REPOLOG +} + mkdir -p $MCASTLOGBASE PARM1=$(echo $PARM | cut -f1 -d" ") @@ -24,28 +30,26 @@ PARM3=$(echo $PARM | cut -f3 -d" ") PARM4=$(echo $PARM | cut -f4 -d" ") -case $PARM1 in +case "$PARM1" in START_MULTICAST) #1 START_MULTICAST #2 fichero a enviar #3 opciones de multicast - FILE=/opt/opengnsys/images$PARM2 - MCASTOPT=$PARM3 - echo `date +%Y%m%d-%H%M%S` "/opt/opengnsys/bin/sendFileMcast $FILE $MCASTOPT" >> $REPOLOG - /opt/opengnsys/bin/sendFileMcast $FILE $MCASTOPT &>> $MCASTLOG + FILE="$PARM2" + MCASTOPT="$PARM3" + echolog "Ejecutar $(which sendFileMcast) $FILE $MCASTOPT" + sendFileMcast $FILE $MCASTOPT &>> $MCASTLOG case $? in - 1) - echo `date +%Y%m%d-%H%M%S` Parametros insuficientes >> $REPOLOG - ;; - 2) - echo `date +%Y%m%d-%H%M%S` Fichero no accesible >> $REPOLOG - ;; - 3) - echo `date +%Y%m%d-%H%M%S` sesion multicast no valida >> $REPOLOG - ;; + 1) echolog "Parametros insuficientes" + return 1 ;; + 2) echolog "Fichero no accesible" + return 2 ;; + 3) echolog "Sesion multicast no valida" + return 3 ;; esac ;; default) - echo "Solicitud con parametros: - $PARM - no realizada: No registrada o con errores" >> $REPOLOG + echolog "Solicitud con parametros \"$PARM\" no realizada, no registrada o con errores" ;; -esac
\ No newline at end of file +esac + diff --git a/admin/Sources/Services/ogAdmServer/Makefile b/admin/Sources/Services/ogAdmServer/Makefile index ae5a5893..d2312ddf 100644 --- a/admin/Sources/Services/ogAdmServer/Makefile +++ b/admin/Sources/Services/ogAdmServer/Makefile @@ -8,11 +8,16 @@ INSTALL_DIR := /opt/opengnsys # Opciones de compilacion #CFLAGS := -O0 -g -Wall -I../../Includes # Depuracion -CFLAGS := -O3 -Wall -I../../Includes # Optimizacion +CFLAGS := -O3 -Wall -I../../Includes # Depuracion CPPFLAGS := $(CFLAGS) # Opciones de linkado -LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +LBIT := $(shell getconf LONG_BIT) +ifeq ($(LBIT), 64) + LDFLAGS := -L/usr/lib64 -L/usr/lib64/mysql -lpthread -lmysqlclient +else + LDFLAGS := -L/usr/lib -L/usr/lib/mysql -lpthread -lmysqlclient +endif # Ficheros objetos OBJS := ../../Includes/Database.o sources/ogAdmServer.o diff --git a/admin/Sources/Services/opengnsys.init b/admin/Sources/Services/opengnsys.init index a195301e..6dca623c 100755 --- a/admin/Sources/Services/opengnsys.init +++ b/admin/Sources/Services/opengnsys.init @@ -1,12 +1,4 @@ -#! /bin/sh - -##########1.0###################################################################################################### -####### Script de arranque de los servicios de OpenGnSys: Servidor ogAdmServer, Servidor de repositorio ogAdmRepo, -####### Tracker Bittorrent y seeder de imagenes por Bittorrent -####### autor: jcxifre <jcxifre@unizar.es> -####### basado en http://www.epilogue.org/~xef4/start-stop-example -################################################################################################################## - +#!/bin/bash ### BEGIN INIT INFO # Provides: opengnsys @@ -72,21 +64,41 @@ BTTRACKPID="/var/run/bttrack.pid" BTSEEDERPID="/var/run/btseeder.pid" -set -e export PATH="${PATH:+$PATH:}/usr/sbin:/sbin:/usr/bin" # Read config file if it is present. if [ -r /etc/default/opengnsys ] then - . /etc/default/opengnsys + source /etc/default/opengnsys fi +# Configuración de arranque según la distribución Linux usada. +config() { + OSDISTRIB=$(lsb_release -is 2>/dev/null) + case "$OSDISTRIB" in + Ubuntu) + INITFUNCTIONS=/lib/lsb/init-functions + DAEMONSTART="start-stop-daemon --start --quiet --background --exec" + EXTRAOPTS="--" + DAEMONSTOP="start-stop-daemon --stop --quiet --oknodo --exec" + ACTIONMSG="log_daemon_msg" + SUCCESSMSG="log_end_msg 0" + FAILMSG="log_end_msg 1" + ;; + *) echo "Distribución Linux desconcocida o no soportada." + exit ;; + esac + if [ -r $INITFUNCTIONS ]; then + source $INITFUNCTIONS + fi +} + arranca_demonios() { if [ $RUN_OGADMSERVER = "yes" ] then - echo -n "Iniciando demonio: "$SERVERNAME - start-stop-daemon --start --quiet --background --exec $SERVERDAEMON -- $SERVERDAEMON_OPTIONS - echo "." + $ACTIONMSG "Iniciando demonio: $SERVERNAME" + $DAEMONSTART $SERVERDAEMON $EXTRAOPTS $SERVERDAEMON_OPTIONS + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_OGADMSERVER = "yes" ] && [ $RUN_OGADMREPO = "yes" ] then @@ -94,32 +106,32 @@ arranca_demonios() { fi if [ $RUN_OGADMREPO = "yes" ] then - echo -n "Iniciando demonio: "$REPONAME - start-stop-daemon --start --quiet --background --exec $REPODAEMON -- $REPODAEMON_OPTIONS - echo "." + $ACTIONMSG "Iniciando demonio: $REPONAME" + $DAEMONSTART $REPODAEMON $EXTRAOPTS $REPODAEMON_OPTIONS + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG ############ ADV - echo -n "Iniciando demonio: "$REPOAUXNAME - faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON" - echo "." - ############ ADV + $ACTIONMSG "Iniciando demonio: $REPOAUXNAME" + faucet $REPOAUXPORT --daemon --in bash -c "$REPOAUXDAEMON" + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG + ############ ADV fi if [ $RUN_OGADMAGENT = "yes" ] then - echo -n "Iniciando demonio: "$AGENTNAME $AGENTDAEMON - start-stop-daemon --start --quiet --background --exec $AGENTDAEMON -- $AGENTDAEMON_OPTIONS - echo "." + $ACTIONMSG "Iniciando demonio: $AGENTNAME" + $DAEMONSTART $AGENTDAEMON $EXTRAOPTS $AGENTDAEMON_OPTIONS + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_BTTRACKER = "yes" ] then - echo -n "Iniciando demonio: "$BTTRACK + $ACTIONMSG "Iniciando demonio: $BTTRACK" start-stop-daemon --make-pidfile --pidfile $BTTRACKPID --start --quiet --background --exec $BTTRACK -- $BTTRACK_OPTIONS - echo "." + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi if [ $RUN_BTSEEDER = "yes" ] then - echo -n "Iniciando demonio: "$BTSEEDER + $ACTIONMSG "Iniciando demonio: $BTSEEDER" start-stop-daemon --make-pidfile --pidfile $BTSEEDERPID --start --quiet --background --exec $BTSEEDER -- $BTTORRENTSDIR - echo "." + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG fi } @@ -127,33 +139,36 @@ arranca_demonios() { para_demonios() { if [ -e $BTSEEDERPID ] then - echo -n "Parando demonio: "$BTSEEDER + $ACTIONMSG "Parando demonio: $BTSEEDER" start-stop-daemon --stop --quiet --oknodo --retry 30 --pidfile $BTSEEDERPID - echo "." - rm $BTSEEDERPID > /dev/null + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG + rm -f $BTSEEDERPID fi if [ -e $BTTRACKPID ] then - echo -n "Parando demonio: "$BTTRACK + $ACTIONMSG "Parando demonio: $BTTRACK" start-stop-daemon --stop --quiet --oknodo --pidfile $BTTRACKPID - echo "." - rm $BTTRACKPID > /dev/null + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG + rm -f $BTTRACKPID fi - echo -n "Parando demonio: "$AGENTNAME - start-stop-daemon --stop --quiet --oknodo --name $AGENTNAME - echo "." - echo -n "Parando demonio: "$REPONAME - start-stop-daemon --stop --quiet --oknodo --name $REPONAME - echo "." + $ACTIONMSG "Parando demonio: $AGENTNAME" + $DAEMONSTOP $AGENTDAEMON + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG + $ACTIONMSG "Parando demonio: $REPONAME" + $DAEMONSTOP $REPODAEMON + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG ############# ADV - echo -n "Parando demonio: "$REPOAUXNAME + $ACTIONMSG "Parando demonio: $REPOAUXNAME" pkill faucet + [ $? -le 1 ] && $SUCCESSMSG || $FAILMSG ############ ADV - echo -n "Parando demonio: "$SERVERNAME - start-stop-daemon --stop --quiet --oknodo --name $SERVERNAME - echo "." + $ACTIONMSG "Parando demonio: $SERVERNAME" + $DAEMONSTOP $SERVERDAEMON + [ $? = 0 ] && $SUCCESSMSG || $FAILMSG } +config + case "$1" in start) arranca_demonios @@ -167,9 +182,10 @@ case "$1" in ;; *) - echo "Uso: opengnsys "$1" {start|stop|restart}" + echo "Uso: $0 {start|stop|restart}" exit 1 ;; esac exit 0 + diff --git a/admin/WebConsole/acceso.php b/admin/WebConsole/acceso.php index 1fcb7206..3dd2bcb3 100644 --- a/admin/WebConsole/acceso.php +++ b/admin/WebConsole/acceso.php @@ -11,6 +11,11 @@ if(isset($_SESSION)){ // Si existe algua sesin ... session_unset(); // Elimina variables session_destroy(); // Destruye sesin } +# Cambiar a HTTPS +if (empty ($_SERVER["HTTPS"])) { + header ("Location: https://".$_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"]); + exit (0); +} include_once("controlacceso.php"); diff --git a/admin/WebConsole/acceso_esp.php b/admin/WebConsole/acceso_esp.php index 050bb0d7..20146a85 100644 --- a/admin/WebConsole/acceso_esp.php +++ b/admin/WebConsole/acceso_esp.php @@ -7,6 +7,13 @@ // Nombre del fichero: acceso.php // Descripción : Presenta la pantalla de login de la aplicación // ******************************************************************************************************** + +# Cambiar a HTTPS +if (empty ($_SERVER["HTTPS"])) { + header ("Location: https://".$_SERVER["SERVER_NAME"].$_SERVER["PHP_SELF"]); + exit (0); +} + include_once("controlacceso.php"); include_once("./includes/CreaComando.php"); include_once("./clases/AdoPhp.php"); diff --git a/admin/WebConsole/asistentes/AsistenteParticionado.php b/admin/WebConsole/asistentes/AsistenteParticionado.php index de1b5f72..3483ab9b 100644 --- a/admin/WebConsole/asistentes/AsistenteParticionado.php +++ b/admin/WebConsole/asistentes/AsistenteParticionado.php @@ -59,7 +59,18 @@ $xajax->printJavascript('../xajax/'); </head> -<body> +<body onload=" + var disks=document.getElementsByName('disksize'); + var min=null; + for (var i=0; i<disks.length; i++) { + var val=parseInt(disks[i].textContent); + if (min==null || val<min) { + min=val; + } + } + document.getElementById('minsize').value=min; + document.getElementById('freedisk').value=min; +"> <? switch($ambito){ case $AMBITO_CENTROS : @@ -111,10 +122,10 @@ switch($ambito){ ?> <tr> - <th colspan="5"><INPUT TYPE="button" NAME="GenerarInstruccion" Value="Generar InstruccionOG" onClick="codeParticionado(this.form)"> </th> - <td><textarea class="cajatexto" name="codigo" cols="70" rows="7"></textarea></td> + <th><input type="button" name="GenerarInstruccion" Value="<?php echo $TbMsg[41];?>" onclick="codeParticionado(this.form)" /> </th> + <td colspan="2"><textarea class="cajatexto" name="codigo" cols="70" rows="7"></textarea></td> </tr> - </table> + </table> </form> <? @@ -133,4 +144,4 @@ switch($ambito){ </body> -</html>
\ No newline at end of file +</html> diff --git a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php index 360c8948..ff06b3b7 100644 --- a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php +++ b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php @@ -298,17 +298,18 @@ function htmlForm_typepart($cmd,$numpar) - - - - -function htmlForm_typepartnotcacheEngine10() +function htmlForm_typepartnotcacheEngine10($npart) { $SelectHtml=""; +if ($npart == 4) { + $SelectHtml.='<OPTION value="CACHE"> CACHE </OPTION>'; +} $SelectHtml.='<OPTION value="FAT12"> FAT12 </OPTION>'; $SelectHtml.='<OPTION value="FAT16"> FAT16 </OPTION>'; $SelectHtml.='<OPTION value="FAT32"> FAT32 </OPTION>'; +$SelectHtml.='<OPTION value="HFAT32"> Hidden FAT32 </OPTION>'; $SelectHtml.='<OPTION value="NTFS"> NTFS </OPTION>'; +$SelectHtml.='<OPTION value="HNTFS"> Hidden NTFS </OPTION>'; #$SelectHtml.='<OPTION value="EXT2"> EXT2 </OPTION>'; #$SelectHtml.='<OPTION value="EXT3"> EXT3 </OPTION>'; $SelectHtml.='<OPTION value="EXT4"> LINUX:EXT[2:3:4] </OPTION>'; @@ -319,6 +320,9 @@ $SelectHtml.='<OPTION value="XFS"> XFS </OPTION>'; $SelectHtml.='<OPTION value="JFS"> JFS </OPTION>'; $SelectHtml.='<OPTION value="LINUX-RAID"> LINUX-RAID </OPTION>'; $SelectHtml.='<OPTION value="LINUX-LVM"> LINUX-LVM </OPTION>'; +if ($npart <= 4) { + $SelectHtml.='<OPTION value="EXTENDED"> EXTENDED </OPTION>'; +} return($SelectHtml); } @@ -362,9 +366,13 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) $auxCfg=split("@",$configuraciones); // Crea lista de particiones for($i=0;$i<sizeof($auxCfg);$i++){ - $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion - for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición - if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición + if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + if ($tbKeys[$k]["numpar"] == 0) { // Info del disco (umpart=0) + $disksize = tomaTamano($tbKeys[$k]["numpar"],$idordenadores); + } + else { // Información de partición (numpart>0) echo'<TR height=16>'.chr(13); echo'<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); echo'<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); @@ -376,7 +384,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); //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 align=right> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); //echo'<TD> '.$tbKeys[$k]["imagen"].' </TD>'.chr(13); echo'<TD align=center> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); @@ -388,8 +396,21 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) break; } } + } } + // Mostrar información del disco, si se ha obtenido. + if (!empty ($disksize)) { + echo'<tr height="16">'.chr(13); + echo'<td align="center"> '.$TbMsg[35].' </td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td name="disksize" id="disksize" align="right"> '.$disksize.' </td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'</tr>'.chr(13); + } echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </TD></TR>'; } -?>
\ No newline at end of file +?> diff --git a/admin/WebConsole/asistentes/includes/asistentes/formParticionado.php b/admin/WebConsole/asistentes/includes/asistentes/formParticionado.php index 48476243..46207e15 100644 --- a/admin/WebConsole/asistentes/includes/asistentes/formParticionado.php +++ b/admin/WebConsole/asistentes/includes/asistentes/formParticionado.php @@ -1,77 +1,126 @@ +<tr> +<td> +<table id="primarias"> +<caption><?php echo $TbMsg[36]?></caption> +<tr> +<td><?php echo $TbMsg[20]?></td> +<td><?php echo $TbMsg[24]?></td> +<td><?php echo $TbMsg[22]?></td> +</tr> -<TR> -<TD > Partición </TD> -<TD > Tipo </TD> -<TD > Tamaño KB </TD> -</TR> - -<TR> -<TD > <input type="checkbox" name="check1" value="check1" onclick="if (this.form.check1.checked) { this.form.part1.disabled=false; this.form.size1.disabled=false; if (this.form.part1.options[this.form.part1.selectedIndex].value == 'CUSTOM') { this.form.part1custom.disabled=false } if (this.form.size1.options[this.form.size1.selectedIndex].value == 'CUSTOM') { this.form.size1custom.disabled=false } } else { this.form.part1.disabled=true; this.form.size1.disabled=true; this.form.part1custom.disabled=true; this.form.size1custom.disabled=true }" /> <br> Partición 1 </TD> -<TD> -<select name="part1" id="part1" style="WIDTH:220" disabled="true" onclick="if (this.form.part1.options[this.form.part1.selectedIndex].value == 'CUSTOM') { this.form.part1custom.disabled=false } else { this.form.part1custom.disabled=true }" > - <?php echo ''. htmlForm_typepart($cmd,1) .''; ?> - <option value="CUSTOM"> Personalizar </option> +<?php +for ($p=1; $p<4; $p++) { + echo ' +<tr> +<td> +<input type="checkbox" name="check'.$p.'" value="check'.$p.'" onclick="clickPartitionCheckbox(this.form, '.$p.');" /> '.$TbMsg[20].' '.$p.'</td> +<td> +<select name="part'.$p.'" id="part'.$p.'" style="width:220" disabled="true" onclick=" + //if (this.form.part'.$p.'.options[this.form.part'.$p.'.selectedIndex].value == \'CUSTOM\') { + if (this.options[this.selectedIndex].value == \'CUSTOM\') { + this.form.part'.$p.'custom.disabled=false; + } else { + this.form.part'.$p.'custom.disabled=true; + } +" onchange="checkExtendedPartition(form);">' + .htmlForm_typepart($cmd,$p).' + <option value="CUSTOM"> '.$TbMsg[39].' </option> </select> <br> -<select name="part1custom" id="part1custom" style="WIDTH:220" disabled="true" > - <?php echo ''. htmlForm_typepartnotcacheEngine10() .''; ?> -</select></TD> - -<TD><select name="size1" id="size1" style="WIDTH:220" disabled="true" onclick="if (this.form.size1.options[this.form.size1.selectedIndex].value == 'CUSTOM') { this.form.size1custom.disabled=false } else { this.form.size1custom.disabled=true }" > - <?php echo ''. htmlForm_sizepart($cmd,1) .''; ?> - <option value="CUSTOM"> Personalizar </option> +<select name="part'.$p.'custom" id="part'.$p.'custom" style="width:220" disabled="true" onchange="checkExtendedPartition(form);">'. htmlForm_typepartnotcacheEngine10($p) .'</select> +</td> +<td> +<select name="size'.$p.'" id="size'.$p.'" style="width:220" disabled="true" onclick=" + if (this.form.size'.$p.'.options[this.form.size'.$p.'.selectedIndex].value == \'CUSTOM\') { + this.form.size'.$p.'custom.disabled=false; + } else { + this.form.size'.$p.'custom.disabled=true; + } +" onchange="calculateFreeDisk(this.form);">' + .htmlForm_sizepart($cmd,$p).' + <option value="CUSTOM"> '.$TbMsg[39].'</option> </select> -<br > -<INPUT type="text" style="width:100" name="size1custom" value="0" disabled="true"></TD> -</TR> +<br /> +<input type="text" style="width:100" name="size'.$p.'custom" value="0" disabled="true" onchange="calculateFreeDisk(this.form);" /> +</td> +</tr> + '; +} +?> -<TR> -<TD > <input type="checkbox" name="check2" value="check2" onclick="if (this.form.check2.checked) { this.form.part2.disabled=false; this.form.size2.disabled=false; if (this.form.part2.options[this.form.part2.selectedIndex].value == 'CUSTOM') { this.form.part2custom.disabled=false } if (this.form.size2.options[this.form.size2.selectedIndex].value == 'CUSTOM') { this.form.size2custom.disabled=false } } else { this.form.part2.disabled=true; this.form.size2.disabled=true; this.form.part2custom.disabled=true; this.form.size2custom.disabled=true }" /> <br> Partición 2 </TD> -<TD><select name="part2" id="part2" style="WIDTH:220" disabled="true" onclick="if (this.form.part2.options[this.form.part2.selectedIndex].value == 'CUSTOM') { this.form.part2custom.disabled=false } else { this.form.part2custom.disabled=true }" > - <?php echo ''. htmlForm_typepart($cmd,2) .''; ?> - <option value="CUSTOM"> Personalizar </option> +<tr> +<td><input type="checkbox" name="check4" value="check4" onclick="clickPartitionCheckbox(this.form, 4);" /> <?php echo $TbMsg[20].' '.$p;?> </td> +<td><input type="label" readonly size="8" name="part4" disabled="true" value="CACHE" /></td> +<td><select name="size4" id="size4" style="width:220" disabled="true" onclick="if (this.form.size4.options[this.form.size4.selectedIndex].value == 'CUSTOM') { this.form.size4custom.disabled=false } else { this.form.size4custom.disabled=true }" onchange="calculateFreeDisk(this.form);" /> + <option value="0"> <?php echo $TbMsg[40];?> </option> + <?php echo ''. htmlForm_sizepart($cmd,4) .''; ?> + <option value="CUSTOM"> <?php echo $TbMsg[39];?> </option> </select> -<br> -<select name="part2custom" id="part2custom" style="WIDTH:220" disabled="true" > - <?php echo ''. htmlForm_typepartnotcacheEngine10() .''; ?> -</select></TD> +<br /> +<input type="text" style="width:100" name="size4custom" value="0" disabled="true" onchange="calculateFreeDisk(this.form);" /></td> +</tr> -<TD><select name="size2" id="size2" style="WIDTH:220" disabled="true" onclick="if (this.form.size2.options[this.form.size2.selectedIndex].value == 'CUSTOM') { this.form.size2custom.disabled=false } else { this.form.size2custom.disabled=true }" > - <?php echo ''. htmlForm_sizepart($cmd,2) .''; ?> - <option value="CUSTOM"> Personalizar </option> -</select> -<br > -<INPUT type="text" style="width:100" name="size2custom" value="0" disabled="true"></TD> -</TR> +</table> +</td> + +<td> +<table id="logicas" style="visibility:hidden"> +<caption><?php echo $TbMsg[37]?></caption> +<tr> +<td><?php echo $TbMsg[20]?></td> +<td><?php echo $TbMsg[24]?></td> +<td><?php echo $TbMsg[22]?></td> +</tr> -<TR> -<TD > <input type="checkbox" name="check3" value="check3" onclick="if (this.form.check3.checked) { this.form.part3.disabled=false; this.form.size3.disabled=false; if (this.form.part3.options[this.form.part3.selectedIndex].value == 'CUSTOM') { this.form.part3custom.disabled=false } if (this.form.size3.options[this.form.size3.selectedIndex].value == 'CUSTOM') { this.form.size3custom.disabled=false } } else { this.form.part3.disabled=true; this.form.size3.disabled=true; this.form.part3custom.disabled=true; this.form.size3custom.disabled=true }" /> <br> Partición 3 </TD> -<TD><select name="part3" id="part3" style="WIDTH:220" disabled="true" onclick="if (this.form.part3.options[this.form.part3.selectedIndex].value == 'CUSTOM') { this.form.part3custom.disabled=false } else { this.form.part3custom.disabled=true }" > - <?php echo ''. htmlForm_typepart($cmd,3) .''; ?> - <option value="CUSTOM"> Personalizar </option> +<?php +for ($p=5; $p<=9; $p++) { + echo ' +<tr> +<td> +<input type="checkbox" name="check'.$p.'" value="check'.$p.'" onclick="clickPartitionCheckbox(this.form, '.$p.');" /> '.$TbMsg[20].' '.$p.'</td> +<td> +<select name="part'.$p.'" id="part'.$p.'" style="width:220" disabled="true" onclick=" + if (this.form.part'.$p.'.options[this.form.part'.$p.'.selectedIndex].value == \'CUSTOM\') { + this.form.part'.$p.'custom.disabled=false; + } else { + this.form.part'.$p.'custom.disabled=true; + } +">'. htmlForm_typepart($cmd,$p). ' + <option value="CUSTOM"> '.$TbMsg[39].' </option> </select> <br> -<select name="part3custom" id="part3custom" style="WIDTH:220" disabled="true" > - <?php echo ''. htmlForm_typepartnotcacheEngine10() .''; ?> -</select></TD> - -<TD><select name="size3" id="size3" style="WIDTH:220" disabled="true" onclick="if (this.form.size3.options[this.form.size3.selectedIndex].value == 'CUSTOM') { this.form.size3custom.disabled=false } else { this.form.size3custom.disabled=true }" > - <?php echo ''. htmlForm_sizepart($cmd,3) .''; ?> - <option value="CUSTOM"> Personalizar </option> +<select name="part'.$p.'custom" id="part'.$p.'custom" style="width:220" disabled="true" >'. htmlForm_typepartnotcacheEngine10($p) .'</select> +</td> +<td> +<select name="size'.$p.'" id="size'.$p.'" style="width:220" disabled="true" onclick=" + if (this.form.size'.$p.'.options[this.form.size'.$p.'.selectedIndex].value == \'CUSTOM\') { + this.form.size'.$p.'custom.disabled=false; + } else { + this.form.size'.$p.'custom.disabled=true; + } +" onchange="calculateFreeDisk(this.form);" +">'.htmlForm_sizepart($cmd,$p).' + <option value="CUSTOM"> '.$TbMsg[39].'</option> </select> -<br > -<INPUT type="text" style="width:100" name="size3custom" value="0" disabled="true"></TD> -</TR> +<br /> +<input type="text" style="width:100" name="size'.$p.'custom" value="0" disabled="true" /> +</td> +</tr> + '; +} +?> + +</table> +</td> + +</tr> + +<tr> +<th> +<input type="hidden" id="minsize" /> +<?php echo $TbMsg[38];?>: <input type="text" id="freedisk" width="15" disabled="true" /> +</th> +</tr> + -<TR> -<TD > <input type="checkbox" name="check4" value="check4" onclick="if (this.form.check4.checked) { this.form.part4.disabled=false; this.form.size4.disabled=false; if (this.form.size4.options[this.form.size4.selectedIndex].value == 'CUSTOM') { this.form.size4custom.disabled=false } } else { this.form.part4.disabled=true; this.form.size4.disabled=true; this.form.size4.options[0].selected=true; }" /> <br> Partición 4 </TD> -<TD> <INPUT type="label" readonly size="8" name="part4" disabled="true" value="CACHE"></TD> -<TD><select name="size4" id="size4" style="WIDTH:220" disabled="true" onclick="if (this.form.size4.options[this.form.size4.selectedIndex].value == 'CUSTOM') { this.form.size4custom.disabled=false } else { this.form.size4custom.disabled=true }" > - <option value="0"> Sin modificar tamaño </option> - <?php echo ''. htmlForm_sizepart($cmd,4) .''; ?> - <option value="CUSTOM"> Personalizar </option> -</select> -<br > -<INPUT type="text" style="width:100" name="size4custom" value="0" disabled="true"></TD> -</TR> diff --git a/admin/WebConsole/asistentes/jscripts/asistentes.js b/admin/WebConsole/asistentes/jscripts/asistentes.js index 0ecbe87a..f1a296ec 100644 --- a/admin/WebConsole/asistentes/jscripts/asistentes.js +++ b/admin/WebConsole/asistentes/jscripts/asistentes.js @@ -19,8 +19,12 @@ switch (form.idmetodo.value) break; } //form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " 1 " + form.PartOrigen.value + " " + form.mcastpuerto.value + ":" + form.mcastmodo.value + ":" + form.mcastdireccion.value + ":" + form.mcastvelocidad.value + "M:" + form.mcastnclien.value + ":" + form.mcastseg.value + " 1 " + form.PartOrigen.value + " " + form.tool.value + " " + form.compresor.value; -form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " " + form.source.value + " " + protocol + " " + form.targetpart.value + " " + form.tool.value + " " + form.compresor.value; - +command="cloneRemoteFromMaster " + form.ipMaster.value + " " + form.source.value + " " + protocol + " " + form.targetpart.value + " " + form.tool.value + " " + form.compresor.value; +form.codigo.value="\ +echo \"[0] iniciando " + command + " \" | tee -a $OGLOGFILE $OGLOGSESSION \n " + +command + " | tee -a $OGLOGCOMMAND \n "; +//cloneRemoteFromMaster " + form.ipMaster.value + " " + form.source.value + " " + protocol + " " + form.targetpart.value + " " + form.tool.value + " " + form.compresor.value + " | tee -a $OGLOGCOMMAND \n"; +//form.codigo.value="cloneRemoteFromMaster " + form.ipMaster.value + " " + form.source.value + " " + protocol + " " + form.targetpart.value + " " + form.tool.value + " " + form.compresor.value; } function codeDeployImage(form){ @@ -39,75 +43,235 @@ switch (form.idmetodo.value) //form.codigo.value="deployImage REPO /"; if (form.modo[0].checked) { - form.codigo.value="deployImage REPO /" + form.idimagen.value + " 1 " + form.idparticion.value + " " + protocol ; + command="deployImage REPO /" + form.idimagen.value + " 1 " + form.idparticion.value + " " + protocol ; + form.codigo.value="\ +echo [0] iniciando " + command +" | tee -a $OGLOGSESSION \n \ " + +command + " | tee -a $OGLOGCOMMAND"; + //form.codigo.value="deployImage REPO /" + form.idimagen.value + " 1 " + form.idparticion.value + " " + protocol ; } else { - form.codigo.value="updateCache REPO /" + form.idimagen.value + ".img" + " " + protocol ; + command="updateCache REPO /" + form.idimagen.value + ".img" + " " + protocol ; + form.codigo.value="\ +echo [0] iniciando " + command +" | tee -a $OGLOGSESSION \n \ " + +command + " | tee -a $OGLOGCOMMAND"; + //form.codigo.value="updateCache REPO /" + form.idimagen.value + ".img" + " " + protocol ; } } -function codeParticionado(form){ -var value1; -var value2; -var value3; -var precache; -if (form.check1.checked) { - if (form.part1.value == "CUSTOM" ) {value1 = form.part1custom.value} - else {value1 = form.part1.value}; - if (form.size1.value == "CUSTOM") {value1 += ":" + form.size1custom.value} - else {value1 += ":" + form.size1.value}; -} -else -{ - value1 = "EMPTY:0" -} -if (form.check2.checked) { - if (form.part2.value == "CUSTOM" ) {value2 = form.part2custom.value} - else {value2 = form.part2.value}; - if (form.size2.value == "CUSTOM") {value2 += ":" + form.size2custom.value} - else {value2 += ":" + form.size2.value}; -} -else -{ - value2 = "EMPTY:0" -} -if (form.check3.checked) { - if (form.part3.value == "CUSTOM" ) {value3 = form.part3custom.value} - else {value3 = form.part3.value}; - if (form.size3.value == "CUSTOM") {value3 += ":" + form.size3custom.value} - else {value3 += ":" + form.size3.value}; -} -else -{ - value3 = "EMPTY:0" -} +function codeParticionado (form) { + var partCode=""; + var logicalCode=""; + var cacheCode; + var cacheSize; + var extended=false; -if (form.size4.value == "0") { -precache="ogUnmountCache \n ogUnmountAll 1 \n sizecache=`ogGetPartitionSize 1 4` \n ogDeletePartitionTable 1 \n ogUpdatePartitionTable 1 \n initCache $sizecache "; -//alert(precache); -} -else -{ - if (form.size4.value == "CUSTOM") - { - cachesize = form.size4custom.value; + for (var nPart=1; nPart<4; nPart++) { + var partCheck=eval("form.check"+nPart); + if (partCheck.checked) { + var partType=eval("form.part"+nPart); + if (partType.value == "CUSTOM" ) { + var partTypeCustom=eval("form.part"+nPart+"custom"); + partCode += " " + partTypeCustom.value; + if (partTypeCustom.value == "EXTENDED") { + extended=true; + } + } else { + partCode += " " + partType.value; + if (partType.value == "EXTENDED") { + extended=true; + } + } + var partSize=eval("form.size"+nPart); + if (partSize.value == "CUSTOM" ) { + var partSizeCustom=eval("form.size"+nPart+"custom"); + partCode += ":" + partSizeCustom.value; + } else { + partCode += ":" + partSize.value; + } + } else { + partCode += " EMPTY:0"; + } + } + if (form.check4.checked) { + if (form.size4.value == "0") { + //cacheCode = " ogUnmountCache \n ogUnmountAll 1 \n sizecache=`ogGetPartitionSize 1 4` \n ogDeletePartitionTable 1 \n ogUpdatePartitionTable 1 \n initCache $sizecache "; + cacheCode="\ + echo \"[20] detectando tamaño de la cache\" | tee -a $OGLOGSESSION \n \ + sizecache=`ogGetPartitionSize 1 4` \n \ + echo \"[30] borrando y actualizando tabla particiones disco 1\" | tee -a $OGLOGSESSION \n \ + ogDeletePartitionTable 1 \n \ + ogUpdatePartitionTable 1 | tee -a $OGLOGCOMMAND \n \ + echo \"[50] Activando cache\" | tee -a $OGLOGSESSION \n \ + initCache $sizecache &>/dev/null | tee -a $OGLOGCOMMAND \n "; + } else { + if (form.size4.value == "CUSTOM") { + cacheSize = form.size4custom.value; + } else { + cacheSize = form.size4.value; + } + //cacheCode = " ogUnmountCache \n ogUnmountAll 1 \n ogDeletePartitionTable 1 \n ogUpdatePartitionTable 1 \n initCache " + cacheSize; + cacheCode="\ + echo \"[30] borrando y actualizando tabla particiones disco 1\" | tee -a $OGLOGSESSION \n \ + ogDeletePartitionTable 1 \n \ + ogUpdatePartitionTable 1 \n \ + echo \"[50] Activando cache\" | tee -a $OGLOGSESSION \n \ + initCache " + cacheSize + " &>/dev/null | tee -a $OGLOGCOMMAND"; + } + } else { + //cacheCode = " ogUnmountCache \n ogUnmountAll 1 \n ogDeletePartitionTable 1 \n ogUpdatePartitionTable 1 "; + cacheCode="\ + echo \"[30] borrando y actualizando tabla particiones disco 1\" | tee -a $OGLOGSESSION \n \ + ogDeletePartitionTable 1 \n \ + ogUpdatePartitionTable 1 \n"; + partCode += " EMPTY:0"; + } + if (extended) { + var lastLogical=5; + for (var nPart=9; nPart>5; nPart--) { + if (eval ("form.check"+nPart+".checked")) { + lastLogical = nPart; + break; + } + } + for (var nPart=5; nPart<=lastLogical; nPart++) { + var partCheck=eval("form.check"+nPart); + if (partCheck.checked) { + var partType=eval("form.part"+nPart); + if (partType.value == "CUSTOM" ) { + var partTypeCustom=eval("form.part"+nPart+"custom"); + logicalCode += " " + partTypeCustom.value; + } else { + logicalCode += " " + partType.value; + } + var partSize=eval("form.size"+nPart); + if (partSize.value == "CUSTOM" ) { + var partSizeCustom=eval("form.size"+nPart+"custom"); + logicalCode += ":" + partSizeCustom.value; + } else { + logicalCode += ":" + partSize.value; + } + } else { + logicalCode += " EMPTY:0"; + } + } + partCode += logicalCode; } - else - { - cachesize = form.size4.value; - } - precache="ogUnmountCache \n ogUnmountAll 1 \n ogDeletePartitionTable 1 \n ogUpdatePartitionTable 1 \n initCache " + cachesize + " "; - //alert(precache); -} - +// form.codigo.value="\ +//" + cacheCode + " \n \ +//ogListPartitions 1 \n \ +//ogCreatePartitions 1 " + partCode + " \n \ +//ogSetPartitionActive 1 1 \n \ +//ogUpdatePartitionTable 1 \n \ +//ogListPartitions 1 \n"; form.codigo.value="\ -" + precache + " \n \ -ogListPartitions 1 \n \ -ogCreatePartitions 1 " + value1 + " " + value2 + " " + value3 + " \n \ +echo \"[0] iniciando particionado\" | tee -a $OGLOGSESSION $OGLOGFILE \n \ +echo \"[10] desmontando cache y particiones del disco 1\" | tee -a $OGLOGSESSION \n \ +ogUnmountCache \n \ +ogUnmountAll 1 \n \ +" + cacheCode + " \n \ +echo \"[60] Listando tabla particiones 1\" | tee -a $OGLOGSESSION \n \ +ogListPartitions 1 | tee -a $OGLOGCOMMAND $OGLOGSESSION \n \ +echo \"[70] Creando tabla particiones " + partCode + " \" | tee -a $OGLOGSESSION \n \ +ogCreatePartitions 1 " + partCode + " | tee -a $OGLOGCOMMAND \n \ +echo \"[80] Activando primera particion del disco 1\" | tee -a $OGLOGSESSION \n \ ogSetPartitionActive 1 1 \n \ +echo \"[100] Listando la nueva tabla particiones 1\" | tee -a $OGLOGSESSION $OGLOGFILE \n \ ogUpdatePartitionTable 1 \n \ -ogListPartitions 1 \n"; +ms-sys /dev/sda | grep unknow && ms-sys /dev/sda \n \ +ogListPartitions 1 | tee -a $OGLOGCOMMAND $OGLOGSESSION $OGLOGFILE \n"; + +} + + +// Código de pulsación de selección de partición. +function clickPartitionCheckbox(form, npart) { + var partCheck=eval("form.check"+npart); + var partType=eval("form.part"+npart); + var partSize=eval("form.size"+npart); + var partTypeCustom=eval("form.part"+npart+"custom"); + var partSizeCustom=eval("form.size"+npart+"custom"); + var freeDisk=document.getElementById("freedisk"); + var logical=document.getElementById("logicas"); + if (partCheck.checked) { + partType.disabled=false; + partSize.disabled=false; + if (partType.options[partType.selectedIndex].value == "CUSTOM") { + partTypeCustom.disabled=false; + } + if (partSize.options[partSize.selectedIndex].value == "CUSTOM") { + partSizeCustom.disabled=false; + } else { + partSizeCustom.disabled=true; + } + } else { + partType.disabled=true; + partSize.disabled=true; + partTypeCustom.disabled=true; + partSizeCustom.disabled=true; + } + if (npart <= 4) { + checkExtendedPartition(form); + calculateFreeDisk(form); + } } + + +// Código para calcular el espacio libre del disco. +function calculateFreeDisk(form) { + var freeDisk=document.getElementById("freedisk"); + freeDisk.value=form.minsize.value; + for (npart=1; npart<=4; npart++) { + var partCheck=eval("form.check"+npart); + var partSize=eval("form.size"+npart); + var partSizeCustom=eval("form.size"+npart+"custom"); + if (partCheck.checked) { + if (partSize.options[partSize.selectedIndex].value == "CUSTOM") { + freeDisk.value -= parseInt(partSizeCustom.value); + } else { + freeDisk.value -= parseInt(partSize.options[partSize.selectedIndex].value); + } + } + } + if (parseInt(freeDisk.value) < 0) { + freeDisk.style.fontWeight = "bold"; + freeDisk.style.fontStyle = "italic"; + } else { + freeDisk.style.fontWeight = "normal"; + freeDisk.style.fontStyle = "normal"; + } + if (form.size4.value == 0) { + freeDisk.value += " (- cache)"; // Aviso de caché sin modificar. + } +} + +// Código para comprobar si hay partición extendida activa para mostrar las lógicas. +function checkExtendedPartition(form) { + var logical=document.getElementById("logicas"); + var visible=false; + for (npart=1; npart<4; npart++) { + var partCheck=eval("form.check"+npart); + var partType=eval("form.part"+npart); + var partTypeCustom=eval("form.part"+npart+"custom"); + if (partCheck.checked) { + partType.style.fontWeight = "normal"; + partTypeCustom.style.fontWeight = "normal"; + if (partType.value == "EXTENDED") { + visible=true; + partType.style.fontWeight = "bold"; + } + if (partType.value == "CUSTOM" && partTypeCustom.value == "EXTENDED") { + visible=true; + partTypeCustom.style.fontWeight = "bold"; + } + } + } + if (visible) { + logical.style.visibility="visible"; + } else { + logical.style.visibility="hidden"; + } +} + diff --git a/admin/WebConsole/gestores/gestor_pxe.php b/admin/WebConsole/gestores/gestor_pxe.php index f585a9d5..949ab5d7 100644 --- a/admin/WebConsole/gestores/gestor_pxe.php +++ b/admin/WebConsole/gestores/gestor_pxe.php @@ -65,16 +65,29 @@ $rs->Primero(); $router=$rs->campos["router"]; $netmask=$rs->campos["netmask"]; $repo=$rs->campos["iprepo"]; - $infohost=" ip=" - . $ip . ":" - . $repo .":" - . $router . ":" - . $netmask .":" - . $hostname .":" - . $netiface . ":none ogrepo=" - . $repo; $rs->Cerrar(); +$cmd->texto="SELECT ipserveradm from entornos"; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) echo "error"; + +$rs->Primero(); + $server=$rs->campos["ipserveradm"]; +$rs->Cerrar(); + +$infohost=" ip=" +. $ip . ":" +. $server .":" +. $router . ":" +. $netmask .":" +. $hostname .":" +. $netiface . ":none ogrepo=" +. $repo . " oglive=" +. $repo . " oglog=" +. $server . " ogshare=" +. $repo; + ###################obtenemos las variables de red del aula. #02.1 obtenemos nombre fichero mac diff --git a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php index 790cdf6e..b293ee7d 100644 --- a/admin/WebConsole/gestores/gestor_pxe_grub4dos.php +++ b/admin/WebConsole/gestores/gestor_pxe_grub4dos.php @@ -52,11 +52,13 @@ $cmd->texto="update ordenadores set arranque=@optboot where nombreordenador=@hos $cmd->Ejecutar(); $cmd->texto="SELECT ordenadores.ip AS ip, ordenadores.mac AS mac, - ordenadores.netiface AS netiface, aulas.netmask AS netmask, aulas.router AS router, - repositorios.ip AS iprepo FROM ordenadores - join aulas on ordenadores.idaula=aulas.idaula - join repositorios on ordenadores.idrepositorio=repositorios.idrepositorio - where ordenadores.nombreordenador='". $hostname ."'"; + ordenadores.netiface AS netiface, aulas.netmask AS netmask, + aulas.router AS router, repositorios.ip AS iprepo, + aulas.nombreaula AS grupo + FROM ordenadores + JOIN aulas ON ordenadores.idaula=aulas.idaula + JOIN repositorios ON ordenadores.idrepositorio=repositorios.idrepositorio + WHERE ordenadores.nombreordenador='". $hostname ."'"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) echo "error"; @@ -67,16 +69,26 @@ $rs->Primero(); $router=$rs->campos["router"]; $netmask=$rs->campos["netmask"]; $repo=$rs->campos["iprepo"]; - $infohost="ip=" - . $ip . ":" - . $repo .":" - . $router . ":" - . $netmask .":" - . $hostname .":" - . $netiface . ":none"; # repo=" - #. $repo; + $group=cleanString($rs->campos["grupo"]); $rs->Cerrar(); +$cmd->texto="SELECT ipserveradm FROM entornos"; +$rs=new Recordset; +$rs->Comando=&$cmd; +if (!$rs->Abrir()) echo "error"; + +$rs->Primero(); + $server=$rs->campos["ipserveradm"]; +$rs->Cerrar(); + +$infohost="'ip=$ip:$server:$router:$netmask:$hostname:$netiface:none" . + " group=$group" . + " ogrepo=$repo" . + " oglive=$repo" . + " oglog=$server" . + " ogshare=$server'"; + + ###################obtenemos las variables de red del aula. #02.1 obtenemos nombre fichero mac @@ -106,4 +118,11 @@ function netmask2cidr($netmask) { return $cidr; } -?>
\ No newline at end of file +// Sustituye espacio por "_" y quita acentos y tildes. +function cleanString ($cadena) { + $patron = array ('/ /','/á/','/é/','/í/','/ó/','/ú/','/ñ/','/Á/','/É/','/Í/','/Ó/','/Ú/','/Ñ/'); + $reemplazo = array ('_','a','e','i','o','u','n','A','E','I','O','U','N'); + return preg_replace($patron,$reemplazo,$cadena); +} + +?> diff --git a/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js b/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js new file mode 100644 index 00000000..698e4c21 --- /dev/null +++ b/admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js @@ -0,0 +1,8 @@ +//____________________________________________________________________________ +// +// Fichero de idiomas javascript: ejecutarprocedimientos_eng.js +// Idioma: Ingls +//____________________________________________________________________________ +TbMsg=new Array; +TbMsg[0]="WARNING.- This procedure will be executed Applying this environment. Are you sure ?"; +TbMsg[1]="This procedure has been successfully executed for this environment"; diff --git a/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php b/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php index 06d1b7b9..df3ca129 100644 --- a/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php +++ b/admin/WebConsole/idiomas/php/cat/configuraciones_cat.php @@ -45,4 +45,16 @@ $TbMsg[31]='Nombre del S.O.'; $TbMsg[32]='Tamaño de partición'; $TbMsg[33]='Nombre de la Imagen '; $TbMsg[34]='Perfil software'; +$TbMsg[35]='Disco'; +$TbMsg[36]='Particiones Primarias'; +$TbMsg[37]='Particiones Lógicas'; +$TbMsg[38]='Menor espacio libre (KB)'; +$TbMsg[39]='Personalizar'; +$TbMsg[40]='Sin modificar tamaño'; +$TbMsg[41]='Generar Instrucción OG'; + +$TbMsg[42]='Variable'; +$TbMsg[43]='Sin configuración: cliente no conectado al servidor.'; + ?> + diff --git a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php index 06d1b7b9..2238666f 100644 --- a/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php +++ b/admin/WebConsole/idiomas/php/eng/configuraciones_eng.php @@ -29,20 +29,32 @@ $TbMsg[17]="Perfil Hardware"; $TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; $TbMsg[19]="Datos a suministrar"; -$TbMsg[20]='Partición'; -$TbMsg[21]='S.O. Instalado'; -$TbMsg[22]='Tamaño'; -$TbMsg[23]='Datos de configuración'; -$TbMsg[24]='Tipo'; -$TbMsg[25]='Imagen'; -$TbMsg[26]='Perfil Software'; -$TbMsg[27]='S.F.'; -$TbMsg[28]='Ninguno'; -$TbMsg[29]='Desconocido'; - -$TbMsg[30]='Sistema de Ficheros'; -$TbMsg[31]='Nombre del S.O.'; -$TbMsg[32]='Tamaño de partición'; -$TbMsg[33]='Nombre de la Imagen '; -$TbMsg[34]='Perfil software'; +$TbMsg[20]='Partition'; +$TbMsg[21]='Installed OS'; +$TbMsg[22]='Size (KB)'; +$TbMsg[23]='Configuration Data'; +$TbMsg[24]='Type'; +$TbMsg[25]='Image'; +$TbMsg[26]='Software Profile'; +$TbMsg[27]='Filesys'; +$TbMsg[28]='None'; +$TbMsg[29]='Unknown'; + +$TbMsg[30]='Filesystem'; +$TbMsg[31]='OS name'; +$TbMsg[32]='Partition Size'; +$TbMsg[33]='Image Name'; +$TbMsg[34]='Software Profile'; +$TbMsg[35]='Disk'; +$TbMsg[36]='Primary Partitions'; +$TbMsg[37]='Logical Partitions'; +$TbMsg[38]='Menor espacio libre (KB)'; +$TbMsg[39]='Customize'; +$TbMsg[40]='Sin modificar tamaño'; +$TbMsg[41]='Generate Instruction'; + +$TbMsg[42]='Variable'; +$TbMsg[43]='Sin configuración: cliente no conectado al servidor.'; + ?> + diff --git a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php index 06d1b7b9..8a151b73 100644 --- a/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php +++ b/admin/WebConsole/idiomas/php/esp/configuraciones_esp.php @@ -6,33 +6,33 @@ //________________________________________________________________________________________________________ $TbMsg=array(); $TbMsg[0]='Configuraciones'; -$TbMsg[1]='Ámbito'; +$TbMsg[1]='Ámbito'; $TbMsg[2]="Aulas"; $TbMsg[3]="Grupo de Ordenadores"; $TbMsg[4]="Ordenadores"; $TbMsg[5]="Nombre"; -$TbMsg[6]="Ubicación"; -$TbMsg[7]="Cañón"; +$TbMsg[6]="Ubicación"; +$TbMsg[7]="Cañón"; $TbMsg[8]="Pizarra"; $TbMsg[9]="Puestos"; $TbMsg[10]="URL Imagen"; -$TbMsg[11]="Menú"; +$TbMsg[11]="Menú"; $TbMsg[12]="Comentarios"; $TbMsg[13]="Ordenadores"; $TbMsg[14]="Nombre"; -$TbMsg[15]="Dirección IP"; -$TbMsg[16]="Dirección MAC"; +$TbMsg[15]="Dirección IP"; +$TbMsg[16]="Dirección MAC"; $TbMsg[17]="Perfil Hardware"; -$TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; +$TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:"; $TbMsg[19]="Datos a suministrar"; -$TbMsg[20]='Partición'; +$TbMsg[20]='Partición'; $TbMsg[21]='S.O. Instalado'; -$TbMsg[22]='Tamaño'; -$TbMsg[23]='Datos de configuración'; +$TbMsg[22]='Tamaño (KB)'; +$TbMsg[23]='Datos de configuración'; $TbMsg[24]='Tipo'; $TbMsg[25]='Imagen'; $TbMsg[26]='Perfil Software'; @@ -42,7 +42,19 @@ $TbMsg[29]='Desconocido'; $TbMsg[30]='Sistema de Ficheros'; $TbMsg[31]='Nombre del S.O.'; -$TbMsg[32]='Tamaño de partición'; +$TbMsg[32]='Tamaño de partición'; $TbMsg[33]='Nombre de la Imagen '; $TbMsg[34]='Perfil software'; +$TbMsg[35]='Disco'; +$TbMsg[36]='Particiones Primarias'; +$TbMsg[37]='Particiones Lógicas'; +$TbMsg[38]='Menor espacio libre (KB)'; +$TbMsg[39]='Personalizar'; +$TbMsg[40]='Sin modificar tamaño'; +$TbMsg[41]='Generar Instrucción OG'; + +$TbMsg[42]='Variable'; +$TbMsg[43]='Sin configuración: cliente no conectado al servidor.'; + ?> + diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php index c4a5b844..39567c78 100644 --- a/admin/WebConsole/includes/ConfiguracionesParticiones.php +++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php @@ -79,7 +79,7 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) $cmd->texto.=" ordenadores_particiones.codpar) as configuracion, ordenadores_particiones.numpar , - ordenadores_particiones.codpar , + ordenadores_particiones.codpar , tipospar.tipopar, tipospar.clonable, ordenadores_particiones.tamano, @@ -88,8 +88,8 @@ function cargaCaves($cmd,$idambito,$ambito,$sws,$swr) nombresos.nombreso, imagenes.idimagen, imagenes.descripcion as imagen, - imagenes.nombreca as nombreca, - imagenes.idrepositorio as repositorio, + imagenes.nombreca as nombreca, + imagenes.idrepositorio as repositorio, ordenadores_particiones.idperfilsoft, perfilessoft.descripcion as perfilsoft @@ -181,62 +181,57 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) cargaNombresSO($cmd,$idambito,$ambito); cargaTamano($cmd,$idambito,$ambito); - $cmd->texto="SELECT - count(*) as con, - group_concat(cast( temp2.idordenador AS char( 11 ) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores, - temp2.configuraciones - FROM - (SELECT - temp1.idordenador as idordenador, - group_concat(cast( temp1.configuracion AS char( 250) ) ORDER BY temp1.configuracion SEPARATOR '@' ) AS configuraciones - FROM - (SELECT ordenadores_particiones.idordenador, - ordenadores_particiones.numpar, - concat_WS( ';', - ordenadores_particiones.numpar, "; - - if($sws & $msk_tamano) + $cmd->texto="SELECT COUNT(*) AS con, + GROUP_CONCAT(CAST( temp2.idordenador AS CHAR(11) ) ORDER BY temp2.idordenador SEPARATOR ',' ) AS idordenadores, + temp2.configuraciones + FROM (SELECT + temp1.idordenador AS idordenador, + GROUP_CONCAT(CAST( temp1.configuracion AS CHAR(250) ) ORDER BY temp1.configuracion SEPARATOR '@' ) AS configuraciones + FROM (SELECT ordenadores_particiones.idordenador, + ordenadores_particiones.numpar, + concat_WS( ';', + ordenadores_particiones.numpar, "; + + if($sws & $msk_tamano) $cmd->texto.=" ordenadores_particiones.tamano,"; - - if($sws & $msk_sysFi) + + if($sws & $msk_sysFi) $cmd->texto.=" ordenadores_particiones.idsistemafichero, "; - - if($sws & $msk_nombreSO) - $cmd->texto.=" ordenadores_particiones.idnombreso, "; - - if($sws & $msk_imagen) + + if($sws & $msk_nombreSO) + $cmd->texto.=" ordenadores_particiones.idnombreso, "; + + if($sws & $msk_imagen) $cmd->texto.=" ordenadores_particiones.idimagen, "; - - if($sws & $msk_perfil) - $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; + + if($sws & $msk_perfil) + $cmd->texto.=" ordenadores_particiones.idperfilsoft, "; - $cmd->texto.=" ordenadores_particiones.codpar) as configuracion - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador - LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso - INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar - LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen - LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft - LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; - + $cmd->texto.=" ordenadores_particiones.codpar) AS configuracion + FROM ordenadores + INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + LEFT OUTER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso + INNER JOIN tipospar ON tipospar.codpar=ordenadores_particiones.codpar + LEFT OUTER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen + LEFT OUTER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft + LEFT OUTER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; + switch($ambito){ case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador=".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador=".$idambito; break; - } - if($swr) // Si se trata de restauración no se tiene en cuenta las particiones no clonables + } + if ($swr) // Si se trata de restauración no se tiene en cuenta las particiones no clonables $cmd->texto.=" AND tipospar.clonable=1 "; - $cmd->texto.=" ORDER BY ordenadores_particiones.idordenador,ordenadores_particiones.numpar) as temp1 - GROUP BY temp1.idordenador) as temp2 + $cmd->texto.=" ORDER BY ordenadores_particiones.idordenador, ordenadores_particiones.numpar) AS temp1 + GROUP BY temp1.idordenador) AS temp2 GROUP BY temp2.configuraciones ORDER BY con desc,idordenadores"; @@ -246,19 +241,22 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr) if (!$rs->Abrir()) return; // Error al abrir recordset $rs->Primero(); $cc=0; // Contador de configuraciones - echo '<TABLE id="tabla_conf" width="95%" class="tabla_listados_sin" align=center border=0 cellPadding=0 cellSpacing=1>'; + echo '<table id="tabla_conf" width="95%" class="tabla_listados_sin" align=center border=0 cellPadding=0 cellSpacing=1>'; while (!$rs->EOF){ $cc++; //Muestra ordenadores - echo '<TR><TD colspan='.$colums.' style="BACKGROUND-COLOR: #FFFFFF;">'; + echo '<tr><td colspan='.$colums.' style="background-color: #ffffff;">'; echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc); - echo '</TD></TR>'; + echo '</td></tr>'; //Muestra particiones y configuración echo pintaParticiones($cmd,$rs->campos["configuraciones"],$rs->campos["idordenadores"],$cc,$ambito,$idambito); $rs->Siguiente(); } - echo "</TABLE>"; + if ($cc == 0) { + echo '<tr><th>'.$TbMsg[43].'</th><tr>'; // Cliente sin configuración. + } + echo "</table>"; $rs->Cerrar(); } //________________________________________________________________________________________________________ @@ -275,25 +273,24 @@ function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc) $tablaHtml.=""; $contor=0; $maxcontor=10; // Número máximo de prodenadores por fila - $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador in (".$idordenadores." ) ORDER BY nombreordenador"; + $cmd->texto=" SELECT idordenador,nombreordenador,ip FROM ordenadores WHERE idordenador IN (".$idordenadores.") ORDER BY nombreordenador"; $rs=new Recordset; $rs->Comando=&$cmd; if (!$rs->Abrir()) return(""); // Error al abrir recordset - $tablaHtml.='<TABLE align=left border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><TR>'; + $tablaHtml.='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><tr>'; while (!$rs->EOF){ $contor++; - $tablaHtml.= '<TD align=center style="BACKGROUND-COLOR: #FFFFFF;"> - <IMG src="../images/iconos/ordenador.gif" > - <br><span style="FONT-SIZE:9px; COLOR: #4f4f4f;" >'.$rs->campos["nombreordenador"].'</span> - </TD>'; + $tablaHtml.= '<td align="center" style="BACKGROUND-COLOR: #FFFFFF;"> + <img src="../images/iconos/ordenador.gif" > + <br><span style="FONT-SIZE:9px; COLOR: #4f4f4f;" >'.$rs->campos["nombreordenador"].'</span></td>'; if($contor>$maxcontor){ $contor=0; - $tablaHtml.='</TR><TR>'; + $tablaHtml.='</tr><tr>'; } $rs->Siguiente(); } - $tablaHtml.='</TR>'; - $tablaHtml.= '</TABLE>'; + $tablaHtml.='</tr>'; + $tablaHtml.= '</table>'; return($tablaHtml); } /*________________________________________________________________________________________________________ @@ -308,28 +305,30 @@ function cargaSistemasFicheros($cmd,$idambito,$ambito) global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; - $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idsistemafichero,ordenadores_particiones.numpar, - sistemasficheros.descripcion as sistemafichero, - group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) - ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador - INNER JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; + $cmd->texto="SELECT COUNT(*) AS con, + ordenadores_particiones.idsistemafichero, + ordenadores_particiones.numpar, + sistemasficheros.descripcion AS sistemafichero, + GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + JOIN sistemasficheros ON sistemasficheros.idsistemafichero=ordenadores_particiones.idsistemafichero"; switch($ambito){ case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; break; } - $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idsistemafichero"; + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idsistemafichero"; //echo "carga sistemas de ficheros:".$cmd->texto; $rs=new Recordset; $rs->Comando=&$cmd; @@ -354,17 +353,21 @@ function cargaSistemasFicheros($cmd,$idambito,$ambito) ________________________________________________________________________________________________________*/ function tomaSistemasFicheros($numpar,$ordenadores,$sw=false) { - global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbSysFi; // Tabla contenedora de ordenadores incluidos en la consulta global $conSysFi; // Contador de elementos anteriores - for($k=0;$k<$conSysFi;$k++){ - $pos = strpos($tbSysFi[$k]["ordenadores"], $ordenadores); - if ($pos !== false) { // Cadena encontrada - if($tbSysFi[$k]["numpar"]==$numpar){ - if($sw) // Retonar identificador - return($tbSysFi[$k]["idsistemafichero"]); - else - return($tbSysFi[$k]["sistemafichero"]); + for ($k=0; $k<$conSysFi; $k++){ + if ($tbSysFi[$k]["numpar"] == $numpar){ + //$pos = strpos($tbSysFi[$k]["ordenadores"], $ordenadores); + //if ($pos !== false) { // Cadena encontrada + $pcs = explode (",", $ordenadores); + $intersec = array_intersect (explode(",", $tbSysFi[$k]["ordenadores"]), $pcs); + if (array_diff ($pcs, $intersec) == NULL) { + if ($sw) { // Retonar identificador + return ($tbSysFi[$k]["idsistemafichero"]); + } else { + return ($tbSysFi[$k]["sistemafichero"]); + } } } } @@ -375,33 +378,36 @@ function tomaSistemasFicheros($numpar,$ordenadores,$sw=false) ________________________________________________________________________________________________________*/ function cargaPerfiles($cmd,$idambito,$ambito) { - global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta global $conPerfil; // Contador de elementos anteriores global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; - $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idperfilsoft,ordenadores_particiones.numpar,perfilessoft.descripcion as perfilsoft, - group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) - ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador - INNER JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft"; + $cmd->texto="SELECT count(*) AS con, + ordenadores_particiones.idperfilsoft, + ordenadores_particiones.numpar, + perfilessoft.descripcion AS perfilsoft, + GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + JOIN perfilessoft ON perfilessoft.idperfilsoft=ordenadores_particiones.idperfilsoft"; - switch($ambito){ + switch ($ambito) { case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; break; } - $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idperfilsoft"; + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idperfilsoft"; //echo "carga perfiles:".$cmd->texto; $rs=new Recordset; $rs->Comando=&$cmd; @@ -425,14 +431,19 @@ function cargaPerfiles($cmd,$idambito,$ambito) ________________________________________________________________________________________________________*/ function tomaPerfiles($numpar,$ordenadores) { - global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbPerfil; // Tabla contenedora de ordenadores incluidos en la consulta global $conPerfil; // Contador de elementos anteriores - for($k=0;$k<$conPerfil;$k++){ - $pos = strpos($tbPerfil[$k]["ordenadores"], $ordenadores); - if ($pos !== false) { // Cadena encontrada - if($tbPerfil[$k]["numpar"]==$numpar) - return($tbPerfil[$k]["perfilsoft"]); + for ($k=0; $k<$conPerfil; $k++){ + //$pos = strpos($tbPerfil[$k]["ordenadores"], $ordenadores); + //if ($pos !== false) { // Cadena encontrada + //if($tbPerfil[$k]["numpar"]==$numpar) + if ($tbPerfil[$k]["numpar"] == $numpar) { + $pcs = explode (",", $ordenadores); + $intersec = array_intersect (explode(",", $tbPerfil[$k]["ordenadores"]), $pcs); + if (array_diff ($pcs, $intersec) == NULL) { + return ($tbPerfil[$k]["perfilsoft"]); + } } } } @@ -442,33 +453,36 @@ function tomaPerfiles($numpar,$ordenadores) ________________________________________________________________________________________________________*/ function cargaImagenes($cmd,$idambito,$ambito) { - global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta global $conImg; // Contador de elementos anteriores global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; - $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idimagen,ordenadores_particiones.numpar,imagenes.descripcion as imagen, - group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) - ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador - INNER JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen"; + $cmd->texto="SELECT count(*) as con, + ordenadores_particiones.idimagen, + ordenadores_particiones.numpar, + imagenes.descripcion as imagen, + GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + JOIN imagenes ON imagenes.idimagen=ordenadores_particiones.idimagen"; switch($ambito){ case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; break; } - $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idimagen"; + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idimagen"; //echo "carga imagenes:".$cmd->texto; $rs=new Recordset; $rs->Comando=&$cmd; @@ -492,14 +506,19 @@ function cargaImagenes($cmd,$idambito,$ambito) ________________________________________________________________________________________________________*/ function tomaImagenes($numpar,$ordenadores) { - global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbImg; // Tabla contenedora de ordenadores incluidos en la consulta global $conImg; // Contador de elementos anteriores - for($k=0;$k<$conImg;$k++){ - $pos = strpos($tbImg[$k]["ordenadores"], $ordenadores); - if ($pos !== false) { // Cadena encontrada - if($tbImg[$k]["numpar"]==$numpar) - return($tbImg[$k]["imagen"]); + for ($k=0; $k<$conImg; $k++) { + //$pos = strpos($tbImg[$k]["ordenadores"], $ordenadores); + //if ($pos !== false) { // Cadena encontrada + //if($tbImg[$k]["numpar"]==$numpar){ + if ($tbImg[$k]["numpar"] == $numpar) { + $pcs = explode (",", $ordenadores); + $intersec = array_intersect (explode(",", $tbImg[$k]["ordenadores"]), $pcs); + if (array_diff ($pcs, $intersec) == NULL) { + return ($tbImg[$k]["imagen"]); + } } } } @@ -509,33 +528,35 @@ function tomaImagenes($numpar,$ordenadores) ________________________________________________________________________________________________________*/ function cargaNombresSO($cmd,$idambito,$ambito) { - global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta global $conSO; // Contador de elementos anteriores global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; - $cmd->texto="SELECT count(*) as con,ordenadores_particiones.idnombreso,ordenadores_particiones.numpar,nombresos.nombreso, - group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) - ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador - INNER JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso"; + $cmd->texto="SELECT COUNT(*) AS con, + ordenadores_particiones.idnombreso, + ordenadores_particiones.numpar,nombresos.nombreso, + GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador + JOIN nombresos ON nombresos.idnombreso=ordenadores_particiones.idnombreso"; switch($ambito){ case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; break; } - $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.idnombreso"; + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.idnombreso"; //echo "carga nombresos:".$cmd->texto; $rs=new Recordset; $rs->Comando=&$cmd; @@ -559,14 +580,18 @@ function cargaNombresSO($cmd,$idambito,$ambito) ________________________________________________________________________________________________________*/ function tomaNombresSO($numpar,$ordenadores) { - global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbSO; // Tabla contenedora de ordenadores incluidos en la consulta global $conSO; // Contador de elementos anteriores - for($k=0;$k<$conSO;$k++){ - $pos = strpos($tbSO[$k]["ordenadores"], $ordenadores); - if ($pos !== false) { // Cadena encontrada - if($tbSO[$k]["numpar"]==$numpar) - return($tbSO[$k]["nombreso"]); + for($k=0; $k<$conSO; $k++) { + if ($tbSO[$k]["numpar"]==$numpar) { + //$pos = strpos($tbSO[$k]["ordenadores"], $ordenadores); + //if ($pos !== false) { // Cadena encontrada + $pcs = explode (",", $ordenadores); + $intersec = array_intersect (explode(",", $tbSO[$k]["ordenadores"]), $pcs); + if (array_diff ($pcs, $intersec) == NULL) { + return ($tbSO[$k]["nombreso"]); + } } } } @@ -576,32 +601,34 @@ function tomaNombresSO($numpar,$ordenadores) ________________________________________________________________________________________________________*/ function cargaTamano($cmd,$idambito,$ambito) { - global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta global $conTam; // Contador de elementos anteriores global $AMBITO_AULAS; global $AMBITO_GRUPOSORDENADORES; global $AMBITO_ORDENADORES; - $cmd->texto="SELECT count(*) as con,ordenadores_particiones.tamano,ordenadores_particiones.numpar, - group_concat(cast(ordenadores_particiones.idordenador AS char( 11) ) - ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores - FROM ordenadores - INNER JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador"; + $cmd->texto="SELECT COUNT(*) AS con, + ordenadores_particiones.tamano, + ordenadores_particiones.numpar, + GROUP_CONCAT(CAST(ordenadores_particiones.idordenador AS CHAR(11) ) + ORDER BY ordenadores_particiones.idordenador SEPARATOR ',' ) AS ordenadores + FROM ordenadores + JOIN ordenadores_particiones ON ordenadores_particiones.idordenador=ordenadores.idordenador"; switch($ambito){ case $AMBITO_AULAS : - $cmd->texto.=" INNER JOIN aulas ON aulas.idaula = ordenadores.idaula - WHERE aulas.idaula =".$idambito; - break; + $cmd->texto.=" JOIN aulas ON aulas.idaula = ordenadores.idaula + WHERE aulas.idaula =".$idambito; + break; case $AMBITO_GRUPOSORDENADORES : - $cmd->texto.=" INNER JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid - WHERE gruposordenadores.idgrupo =".$idambito; + $cmd->texto.=" JOIN gruposordenadores ON gruposordenadores.idgrupo = ordenadores.grupoid + WHERE gruposordenadores.idgrupo =".$idambito; break; case $AMBITO_ORDENADORES : - $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; + $cmd->texto.=" WHERE ordenadores.idordenador =".$idambito; break; } - $cmd->texto.=" GROUP BY ordenadores_particiones.numpar,ordenadores_particiones.tamano"; + $cmd->texto.=" GROUP BY ordenadores_particiones.numpar, ordenadores_particiones.tamano"; //echo "carga tamaños:".$cmd->texto; $rs=new Recordset; $rs->Comando=&$cmd; @@ -624,16 +651,21 @@ function cargaTamano($cmd,$idambito,$ambito) ________________________________________________________________________________________________________*/ function tomaTamano($numpar,$ordenadores) { - global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta + global $tbTam; // Tabla contenedora de ordenadores incluidos en la consulta global $conTam; // Contador de elementos anteriores - for($k=0;$k<$conTam;$k++){ - $pos = strpos($tbTam[$k]["ordenadores"], $ordenadores); - if ($pos !== false) { // Cadena encontrada - if($tbTam[$k]["numpar"]==$numpar) - return($tbTam[$k]["tamano"]); + for ($k=0; $k<$conTam; $k++) { + if ($tbTam[$k]["numpar"] == $numpar) { +// $pos = strpos ($tbTam[$k]["ordenadores"], $ordenadores); +// if ($pos !== FALSE) { // Cadena encontrada + $pcs = explode (",", $ordenadores); + $intersec = array_intersect (explode(",", $tbTam[$k]["ordenadores"]), $pcs); + if (array_diff ($pcs, $intersec) == NULL) { + return ($tbTam[$k]["tamano"]); + } } } } ?> + diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php index 071ddf44..b8fee010 100644 --- a/admin/WebConsole/principal/aulas.php +++ b/admin/WebConsole/principal/aulas.php @@ -834,8 +834,13 @@ function ContextualXMLOrdenadores(){ $layerXML.=' imgitem="../images/iconos/acciones.gif"'; $layerXML.=' textoitem="Log"'; $layerXML.='></ITEM>'; - - + + $layerXML.='<ITEM'; + $layerXML.=' alpulsar="ver_log_seguimiento('.$AMBITO_ORDENADORES.')"'; + $layerXML.=' imgitem="../images/iconos/acciones.gif"'; + $layerXML.=' textoitem="Log_seguimiento"'; + $layerXML.='></ITEM>'; + $layerXML.='<ITEM'; $layerXML.=' alpulsar="mover_ordenador()"'; $layerXML.=' imgitem="../images/iconos/mover.gif"'; diff --git a/admin/WebConsole/principal/boot.php b/admin/WebConsole/principal/boot.php index 8fda145d..5bfe0fa1 100644..120000 --- a/admin/WebConsole/principal/boot.php +++ b/admin/WebConsole/principal/boot.php @@ -1,217 +1 @@ -<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.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> +boot_grub4dos.php
\ No newline at end of file diff --git a/admin/WebConsole/principal/boot_pxelinux.php b/admin/WebConsole/principal/boot_pxelinux.php new file mode 100644 index 00000000..8fda145d --- /dev/null +++ b/admin/WebConsole/principal/boot_pxelinux.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.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/configuraciones.php b/admin/WebConsole/principal/configuraciones.php index c49c3a6d..435ea935 100644 --- a/admin/WebConsole/principal/configuraciones.php +++ b/admin/WebConsole/principal/configuraciones.php @@ -147,48 +147,68 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc) global $tbKeys; // Tabla contenedora de claves de configuración global $conKeys; // Contador de claves de configuración global $TbMsg; - + $colums=7; - echo '<TR height=16>'; - echo '<TH align=center> '.$TbMsg[20].' </TH>'; // Número de partición - echo '<TH align=center> '.$TbMsg[24].' </TH>'; // Tipo de partición - echo '<TH align=center> '.$TbMsg[27].' </TH>'; // Sistema de ficheros - echo '<TH align=center> '.$TbMsg[21].' </TH>'; // Sistema Operativo Instalado - echo '<TH align=center> '.$TbMsg[22].' </TH>'; // Tamaño - echo '<TH align=center> '.$TbMsg[25].' </TH>'; // Imagen instalada - echo '<TH align=center> '.$TbMsg[26].' </TH>'; // Perfil software - echo '</TR>'; + echo '<tr height="16">'; + echo '<th align="center"> '.$TbMsg[20].' </th>'; // Número de partición + echo '<th align="center"> '.$TbMsg[24].' </th>'; // Tipo de partición + echo '<th align="center"> '.$TbMsg[27].' </th>'; // Sistema de ficheros + echo '<th align="center"> '.$TbMsg[21].' </th>'; // Sistema Operativo Instalado + echo '<th align="center"> '.$TbMsg[22].' </th>'; // Tamaño + echo '<th align="center"> '.$TbMsg[25].' </th>'; // Imagen instalada + echo '<th align="center"> '.$TbMsg[26].' </th>'; // Perfil software + echo '</tr>'; $auxCfg=split("@",$configuraciones); // Crea lista de particiones for($i=0;$i<sizeof($auxCfg);$i++){ - $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion - for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición - if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas - echo'<TR height=16>'.chr(13); - echo'<TD align=center> '.$tbKeys[$k]["numpar"].' </TD>'.chr(13); - echo'<TD align=center> '.$tbKeys[$k]["tipopar"].' </TD>'.chr(13); + $auxKey=split(";",$auxCfg[$i]); // Toma clave de configuracion + for($k=0;$k<$conKeys;$k++){ // Busca los literales para las claves de esa partición + if($tbKeys[$k]["cfg"]==$auxCfg[$i]){ // Claves encontradas + if ($tbKeys[$k]["numpar"] == 0) { // Info del disco (umpart=0) + //$disksize = formatomiles ($tbKeys[$k]["tamano"]); + $disksize = tomaTamano($tbKeys[$k]["numpar"],$idordenadores); + if (empty ($disksize)) { + $disksize = '<em>'.$TbMsg[42].'</em>'; + } + } + else { // Información de partición (numpart>0) + echo'<tr height="16">'.chr(13); + echo'<td align="center">'.$tbKeys[$k]["numpar"].'</td>'.chr(13); + echo'<td align="center">'.$tbKeys[$k]["tipopar"].'</td>'.chr(13); + //echo'<td align="center">'.$tbKeys[$k]["sistemafichero"].'</td>'.chr(13); + echo'<td align="center"> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); - //echo'<TD align=center> '.$tbKeys[$k]["sistemafichero"].' </TD>'.chr(13); - echo'<TD align=center> '.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + //echo '<td align="center">'.$tbKeys[$k]["nombreso"].'</td>'.chr(13); + echo '<td align="center"> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); - //echo '<TD> '.$tbKeys[$k]["nombreso"].' </TD>'.chr(13); - echo '<TD align=center> '.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + //echo'<td align="right">'.formatomiles($tbKeys[$k]["tamano"]).' </td>'.chr(13); + echo'<td align="right"> '.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); - //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> '.$tbKeys[$k]["imagen"].' </TD>'.chr(13); - echo'<TD align=center> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + //echo'<td align="center">'.$tbKeys[$k]["imagen"].'</td>'.chr(13); + echo'<td align="center"> '.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); - //echo'<TD> '.$tbKeys[$k]["perfilsoft"].' </TD>'.chr(13); - echo'<TD align=center> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).' </TD>'.chr(13); + //echo'<td align="center">'.$tbKeys[$k]["perfilsoft"].'</td>'.chr(13); + echo'<td align="center"> '.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).' </td>'.chr(13); - echo'</TR>'.chr(13); - break; + echo'</tr>'.chr(13); } + break; } + } + } + // Mostrar información del disco, si se ha obtenido. + if (!empty ($disksize)) { + echo'<tr height="16">'.chr(13); + echo'<td align="center"> '.$TbMsg[35].' </td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td align="right"> '.$disksize.' </td>'.chr(13); + echo'<td></td>'.chr(13); + echo'<td></td>'.chr(13); + echo'</tr>'.chr(13); } - echo '<TR height=5><TD colspan='.$colums.' style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </TD></TR>'; + echo '<tr height="5"><td colspan="'.$colums.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;"> </td></tr>'; } //________________________________________________________________________________________________________ function datosAulas($cmd,$idaula) diff --git a/admin/WebConsole/principal/verlogseguimiento.php b/admin/WebConsole/principal/verlogseguimiento.php index e74e17f7..cc0fa3e7 100644 --- a/admin/WebConsole/principal/verlogseguimiento.php +++ b/admin/WebConsole/principal/verlogseguimiento.php @@ -48,7 +48,7 @@ else <TITLE>Log: <? echo $_GET["nombreordenador"] ?> </TITLE> <HEAD> <? -echo "<meta http-equiv='Refresh' content='2;URL=./verlogseguimiento.php?nombreordenador=". $_GET["nombreordenador"] ."&ip=".$ip ."'"; +echo "<meta http-equiv='Refresh' content='2;URL=http://".$ip."/cgi-bin/httpd-log.sh'"; ?> diff --git a/admin/WebConsole/propiedades/propiedades_ordenadores.php b/admin/WebConsole/propiedades/propiedades_ordenadores.php index 69f44b4c..dd166637 100644 --- a/admin/WebConsole/propiedades/propiedades_ordenadores.php +++ b/admin/WebConsole/propiedades/propiedades_ordenadores.php @@ -191,7 +191,7 @@ include_once("../includes/opcionesbotonesop.php"); // // Frame con la información de la configuración echo '<DIV align=center>'; -echo '<IFRAME scrolling=yes height=150 width=90% +echo '<IFRAME scrolling=yes height=170 width=90% src="../principal/configuraciones.php?swp=1&idambito='.$idordenador.'&ambito='.$AMBITO_ORDENADORES.'"></IFRAME>'; echo '</DIV>'; //________________________________________________________________________________________________________ |