summaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
Diffstat (limited to 'admin')
-rw-r--r--admin/Database/ogAdmBD-1.0-1.0.2.sql (renamed from admin/Database/ogAdmBD-1.0-1.0.1.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0pre-1.0.2.sql (renamed from admin/Database/ogAdmBD-1.0pre-1.0.1.sql)0
-rw-r--r--admin/Database/ogAdmBD-1.0pre-1.0.sql21
-rwxr-xr-xadmin/Interface/CambiarAcceso5
-rwxr-xr-xadmin/Interface/CrearImagen15
-rwxr-xr-xadmin/Interface/EjecutarScript32
-rwxr-xr-xadmin/Interface/RestaurarImagen80
-rwxr-xr-xadmin/Interface/getConfiguration55
-rw-r--r--admin/Sources/Clients/ogAdmClient/ogAdmClient.cfg2
-rw-r--r--admin/Sources/Services/ogAdmAgent/Makefile9
-rw-r--r--admin/Sources/Services/ogAdmBoot/Makefile9
-rw-r--r--admin/Sources/Services/ogAdmRepo/Makefile9
-rwxr-xr-xadmin/Sources/Services/ogAdmRepoAux36
-rw-r--r--admin/Sources/Services/ogAdmServer/Makefile9
-rwxr-xr-xadmin/Sources/Services/opengnsys.init106
-rw-r--r--admin/WebConsole/acceso.php5
-rw-r--r--admin/WebConsole/acceso_esp.php7
-rw-r--r--admin/WebConsole/asistentes/AsistenteParticionado.php21
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php41
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/formParticionado.php177
-rw-r--r--admin/WebConsole/asistentes/jscripts/asistentes.js284
-rw-r--r--admin/WebConsole/gestores/gestor_pxe.php29
-rw-r--r--admin/WebConsole/gestores/gestor_pxe_grub4dos.php47
-rw-r--r--admin/WebConsole/idiomas/javascripts/eng/ejecutarprocedimientos_eng.js8
-rw-r--r--admin/WebConsole/idiomas/php/cat/configuraciones_cat.php12
-rw-r--r--admin/WebConsole/idiomas/php/eng/configuraciones_eng.php44
-rw-r--r--admin/WebConsole/idiomas/php/esp/configuraciones_esp.php34
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php358
-rw-r--r--admin/WebConsole/principal/aulas.php9
l---------[-rw-r--r--]admin/WebConsole/principal/boot.php218
-rw-r--r--admin/WebConsole/principal/boot_pxelinux.php217
-rw-r--r--admin/WebConsole/principal/configuraciones.php80
-rw-r--r--admin/WebConsole/principal/verlogseguimiento.php2
-rw-r--r--admin/WebConsole/propiedades/propiedades_ordenadores.php2
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>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
echo'<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</TD>'.chr(13);
@@ -376,7 +384,7 @@ function pintaParticiones($cmd,$configuraciones,$idordenadores,$cc)
echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
//echo'<TD align=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
+ echo'<TD align=right>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
//echo'<TD>&nbsp;'.$tbKeys[$k]["imagen"].'&nbsp;</TD>'.chr(13);
echo'<TD align=center>&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</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">&nbsp;'.$TbMsg[35].'&nbsp;</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">&nbsp;'.$disksize.'&nbsp;</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;">&nbsp;</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&oacute;n </TD>
-<TD > Tipo </TD>
-<TD > Tama&ntilde;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&oacute;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&oacute;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&oacute;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&oacute;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&ntilde;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&oacute;gicas';
+$TbMsg[38]='Menor espacio libre (KB)';
+$TbMsg[39]='Personalizar';
+$TbMsg[40]='Sin modificar tama&ntilde;o';
+$TbMsg[41]='Generar Instrucci&oacute;n OG';
+
+$TbMsg[42]='Variable';
+$TbMsg[43]='Sin configuraci&oacute;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&ntilde;o';
+$TbMsg[41]='Generate Instruction';
+
+$TbMsg[42]='Variable';
+$TbMsg[43]='Sin configuraci&oacute;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]='&Aacute;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&oacute;n";
+$TbMsg[7]="Ca&ntilde;&oacute;n";
$TbMsg[8]="Pizarra";
$TbMsg[9]="Puestos";
$TbMsg[10]="URL Imagen";
-$TbMsg[11]="Menú";
+$TbMsg[11]="Men&uacute;";
$TbMsg[12]="Comentarios";
$TbMsg[13]="Ordenadores";
$TbMsg[14]="Nombre";
-$TbMsg[15]="Dirección IP";
-$TbMsg[16]="Dirección MAC";
+$TbMsg[15]="Direcci&oacute;n IP";
+$TbMsg[16]="Direcci&oacute;n MAC";
$TbMsg[17]="Perfil Hardware";
-$TbMsg[18]="DESAGRUPAR SEGÚN VALORES DISTINTOS DE:";
+$TbMsg[18]="DESAGRUPAR SEG&Uacute;N VALORES DISTINTOS DE:";
$TbMsg[19]="Datos a suministrar";
-$TbMsg[20]='Partición';
+$TbMsg[20]='Partici&oacute;n';
$TbMsg[21]='S.O. Instalado';
-$TbMsg[22]='Tamaño';
-$TbMsg[23]='Datos de configuración';
+$TbMsg[22]='Tama&ntilde;o (KB)';
+$TbMsg[23]='Datos de configuraci&oacute;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&ntilde;o de partici&oacute;n';
$TbMsg[33]='Nombre de la Imagen ';
$TbMsg[34]='Perfil software';
+$TbMsg[35]='Disco';
+$TbMsg[36]='Particiones Primarias';
+$TbMsg[37]='Particiones L&oacute;gicas';
+$TbMsg[38]='Menor espacio libre (KB)';
+$TbMsg[39]='Personalizar';
+$TbMsg[40]='Sin modificar tama&ntilde;o';
+$TbMsg[41]='Generar Instrucci&oacute;n OG';
+
+$TbMsg[42]='Variable';
+$TbMsg[43]='Sin configuraci&oacute;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>&nbsp;'.$TbMsg[20].'&nbsp;</TH>'; // Número de partición
- echo '<TH align=center>&nbsp;'.$TbMsg[24].'&nbsp;</TH>'; // Tipo de partición
- echo '<TH align=center>&nbsp;'.$TbMsg[27].'&nbsp;</TH>'; // Sistema de ficheros
- echo '<TH align=center>&nbsp;'.$TbMsg[21].'&nbsp;</TH>'; // Sistema Operativo Instalado
- echo '<TH align=center>&nbsp;'.$TbMsg[22].'&nbsp;</TH>'; // Tamaño
- echo '<TH align=center>&nbsp;'.$TbMsg[25].'&nbsp;</TH>'; // Imagen instalada
- echo '<TH align=center>&nbsp;'.$TbMsg[26].'&nbsp;</TH>'; // Perfil software
- echo '</TR>';
+ echo '<tr height="16">';
+ echo '<th align="center">&nbsp;'.$TbMsg[20].'&nbsp;</th>'; // Número de partición
+ echo '<th align="center">&nbsp;'.$TbMsg[24].'&nbsp;</th>'; // Tipo de partición
+ echo '<th align="center">&nbsp;'.$TbMsg[27].'&nbsp;</th>'; // Sistema de ficheros
+ echo '<th align="center">&nbsp;'.$TbMsg[21].'&nbsp;</th>'; // Sistema Operativo Instalado
+ echo '<th align="center">&nbsp;'.$TbMsg[22].'&nbsp;</th>'; // Tamaño
+ echo '<th align="center">&nbsp;'.$TbMsg[25].'&nbsp;</th>'; // Imagen instalada
+ echo '<th align="center">&nbsp;'.$TbMsg[26].'&nbsp;</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>&nbsp;'.$tbKeys[$k]["numpar"].'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.$tbKeys[$k]["tipopar"].'&nbsp;</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">&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</td>'.chr(13);
- //echo'<TD align=center>&nbsp;'.$tbKeys[$k]["sistemafichero"].'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.tomaSistemasFicheros($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
+ //echo '<td align="center">'.$tbKeys[$k]["nombreso"].'</td>'.chr(13);
+ echo '<td align="center">&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</td>'.chr(13);
- //echo '<TD>&nbsp;'.$tbKeys[$k]["nombreso"].'&nbsp;</TD>'.chr(13);
- echo '<TD align=center>&nbsp;'.tomaNombresSO($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
+ //echo'<td align="right">'.formatomiles($tbKeys[$k]["tamano"]).'&nbsp;</td>'.chr(13);
+ echo'<td align="right">&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</td>'.chr(13);
- //echo'<TD align=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.tomaTamano($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
-
- //echo'<TD>&nbsp;'.$tbKeys[$k]["imagen"].'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
+ //echo'<td align="center">'.$tbKeys[$k]["imagen"].'</td>'.chr(13);
+ echo'<td align="center">&nbsp;'.tomaImagenes($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</td>'.chr(13);
- //echo'<TD>&nbsp;'.$tbKeys[$k]["perfilsoft"].'&nbsp;</TD>'.chr(13);
- echo'<TD align=center>&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</TD>'.chr(13);
+ //echo'<td align="center">'.$tbKeys[$k]["perfilsoft"].'</td>'.chr(13);
+ echo'<td align="center">&nbsp;'.tomaPerfiles($tbKeys[$k]["numpar"],$idordenadores).'&nbsp;</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">&nbsp;'.$TbMsg[35].'&nbsp;</td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td></td>'.chr(13);
+ echo'<td align="right">&nbsp;'.$disksize.'&nbsp;</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;">&nbsp;</TD></TR>';
+ echo '<tr height="5"><td colspan="'.$colums.'" style="BORDER-TOP: #999999 1px solid;BACKGROUND-COLOR: #FFFFFF;">&nbsp;</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>';
//________________________________________________________________________________________________________