From 8673743720cbbaf04dc2ce33443ecbee9afc1274 Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Thu, 17 May 2018 11:01:23 +0200 Subject: #794: integrar r5448 de SVN en rama {{{pjlink}}} de Git. --- admin/Database/ogAdmBD.sql | 17 +++++ admin/WebConsole/includes/constantes.php | 2 + admin/WebConsole/principal/aulas.php | 115 ++++++++++++++++++++++++++++++- 3 files changed, 131 insertions(+), 3 deletions(-) diff --git a/admin/Database/ogAdmBD.sql b/admin/Database/ogAdmBD.sql index b45b59d8..2ca20128 100644 --- a/admin/Database/ogAdmBD.sql +++ b/admin/Database/ogAdmBD.sql @@ -782,6 +782,23 @@ CREATE TABLE `programaciones` ( -- -------------------------------------------------------- +-- +-- Estructura de tabla para la tabla `projector` +-- + +DROP TABLE IF EXISTS projectors; +CREATE TABLE `projectors` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(50) NOT NULL DEFAULT '', + `model` varchar(50) NOT NULL DEFAULT '', + `type` enum('standalone', 'pjlink', 'unknown') NOT NULL DEFAULT 'standalone', + `ipaddr` varchar(16) NOT NULL DEFAULT '', + `lab_id` int(11) DEFAULT NULL, + PRIMARY KEY(`id`) +) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1; + +-- -------------------------------------------------------- + -- -- Estructura de tabla para la tabla `remotepc` -- diff --git a/admin/WebConsole/includes/constantes.php b/admin/WebConsole/includes/constantes.php index 40c568e1..d37d8a7b 100644 --- a/admin/WebConsole/includes/constantes.php +++ b/admin/WebConsole/includes/constantes.php @@ -23,6 +23,7 @@ $AMBITO_PERFILESHARD=0x26; $AMBITO_PERFILESSOFT=0x27; $AMBITO_MENUS=0x28; $AMBITO_REPOSITORIOS=0x29; +$AMBITO_PROYECTORES=0x30; $AMBITO_RESERVAS=0x31; // Código del resto de ámbitos (grupos) @@ -62,6 +63,7 @@ $LITAMBITO_PERFILESHARD="perfileshard"; $LITAMBITO_PERFILESSOFT="perfilessoft"; $LITAMBITO_MENUS="menus"; $LITAMBITO_REPOSITORIOS="repositorios"; +$LITAMBITO_PROYECTORES="proyectores"; $LITAMBITO_RESERVAS="reservas"; $LITAMBITO_ADMINISTRACION="administracion"; diff --git a/admin/WebConsole/principal/aulas.php b/admin/WebConsole/principal/aulas.php index 631e68dc..7dc29034 100644 --- a/admin/WebConsole/principal/aulas.php +++ b/admin/WebConsole/principal/aulas.php @@ -72,8 +72,10 @@ $XMLcontextual=ContextualXMLGruposOrdenadores(); // Grupos de ordenadores echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLOrdenadores(); // Ordenadores echo $flotante->CreaMenuContextual($XMLcontextual); +$XMLcontextual=ContextualXMLProyectores(); // Proyectores +echo $flotante->CreaMenuContextual($XMLcontextual); -// Crea contextual de los comandos para los distintos �bitos +// Crea contextual de los comandos para los distintos ámbitos $XMLcontextual=ContextualXMLComandos($LITAMBITO_CENTROS,$AMBITO_CENTROS); echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLComandos($LITAMBITO_GRUPOSAULAS,$AMBITO_GRUPOSAULAS); @@ -85,7 +87,7 @@ echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLComandos($LITAMBITO_ORDENADORES,$AMBITO_ORDENADORES); echo $flotante->CreaMenuContextual($XMLcontextual); -// Crea contextual de los comandos para los distintos �bitos +// Crea contextual de los comandos para los distintos ámbitos $XMLcontextual=ContextualXMLSincronizacion($LITAMBITO_AULAS,$AMBITO_AULAS); echo $flotante->CreaMenuContextual($XMLcontextual); $XMLcontextual=ContextualXMLSincronizacion($LITAMBITO_GRUPOSORDENADORES,$AMBITO_GRUPOSORDENADORES); @@ -177,6 +179,7 @@ function SubarbolXML_grupos_aulas($cmd,$idcentro,$grupoid){ $cadenaXML.=' nodoid='.$LITAMBITO_AULAS.'-'.$rs->campos["idaula"]; $cadenaXML.='>'; $cadenaXML.=SubarbolXML_aulas_ordenadores($cmd,$rs->campos["idaula"],0); + $cadenaXML.=SubarbolXML_aulas_proyectores($cmd,$rs->campos["idaula"],0); // La siguiente línea está prevista para añadir operatores de aulas. //$cadenaXML.=SubarbolXML_aulas_operadores($cmd,$rs->campos["idaula"],$cc); $cadenaXML.=''; @@ -257,6 +260,34 @@ function SubarbolXML_aulas_ordenadores($cmd,$idaula,$grupoid){ return($cadenaXML); } //________________________________________________________________________________________________________ +function SubarbolXML_aulas_proyectores($cmd,$idaula){ + global $TbMsg; + global $LITAMBITO_PROYECTORES; + $cadenaXML=""; + $rs=new Recordset; + $cmd->texto = "SELECT id, name + FROM projectors + WHERE lab_id='$idaula'"; + $rs->Comando=&$cmd; + if (!$rs->Abrir()) return($cadenaXML); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + $cadenaXML.='campos["name"].'"'; + $cadenaXML.=' nodoid='.$LITAMBITO_PROYECTORES.'-'.$rs->campos["id"]; + $cadenaXML.='>'; + $rs->Siguiente(); + } + $rs->Cerrar(); + return($cadenaXML); +} +//________________________________________________________________________________________________________ // // Mens Contextuales //________________________________________________________________________________________________________ @@ -513,7 +544,7 @@ function ContextualXMLAulas(){ $layerXML.=' imgitem="../images/iconos/carpeta.gif"'; $layerXML.=' textoitem='.$TbMsg[8]; $layerXML.='>'; - + $layerXML.=' Date: Thu, 17 May 2018 11:49:39 +0200 Subject: #794: instalar y actualizar dependencias para PJLink. --- installer/opengnsys_installer.sh | 6 ++++-- installer/opengnsys_update.sh | 6 ++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/installer/opengnsys_installer.sh b/installer/opengnsys_installer.sh index 76563275..8998a442 100755 --- a/installer/opengnsys_installer.sh +++ b/installer/opengnsys_installer.sh @@ -167,7 +167,7 @@ OSVERSION="${OSVERSION%%.*}" # Configuración según la distribución GNU/Linux (usar minúsculas). case "$OSDISTRIB" in ubuntu|debian|linuxmint) - DEPENDENCIES=( subversion apache2 php php-ldap libapache2-mod-php mysql-server php-mysql isc-dhcp-server bittorrent tftp-hpa tftpd-hpa xinetd build-essential g++-multilib libmysqlclient-dev wget curl doxygen graphviz bittornado ctorrent samba rsync unzip netpipes debootstrap schroot squashfs-tools btrfs-tools procps arp-scan realpath php-curl gettext moreutils jq wakeonlan udpcast shim-signed grub-efi-amd64-signed ) + DEPENDENCIES=( subversion apache2 php php-ldap libapache2-mod-php mysql-server php-mysql isc-dhcp-server bittorrent tftp-hpa tftpd-hpa xinetd build-essential g++-multilib libmysqlclient-dev wget curl doxygen graphviz bittornado ctorrent samba rsync unzip netpipes debootstrap schroot squashfs-tools btrfs-tools procps arp-scan realpath php-curl gettext moreutils jq wakeonlan udpcast shim-signed grub-efi-amd64-signed python-pip ) UPDATEPKGLIST="apt-get update" INSTALLPKG="apt-get -y install --force-yes" CHECKPKG="dpkg -s \$package 2>/dev/null | grep Status | grep -qw install" @@ -204,7 +204,7 @@ case "$OSDISTRIB" in TFTPCFGDIR=/var/lib/tftpboot ;; fedora|centos) - DEPENDENCIES=( subversion httpd mod_ssl php php-ldap mysql-server mysql-devel mysql-devel.i686 php-mysql dhcp tftp-server tftp xinetd binutils gcc gcc-c++ glibc-devel glibc-devel.i686 glibc-static glibc-static.i686 libstdc++-devel.i686 make wget curl doxygen graphviz ctorrent samba samba-client rsync unzip debootstrap schroot squashfs-tools python-crypto arp-scan procps-ng gettext moreutils jq net-tools http://ftp.altlinux.org/pub/distributions/ALTLinux/5.1/branch/$(arch)/RPMS.classic/netpipes-4.2-alt1.$(arch).rpm ) + DEPENDENCIES=( subversion httpd mod_ssl php php-ldap mysql-server mysql-devel mysql-devel.i686 php-mysql dhcp tftp-server tftp xinetd binutils gcc gcc-c++ glibc-devel glibc-devel.i686 glibc-static glibc-static.i686 libstdc++-devel.i686 make wget curl doxygen graphviz ctorrent samba samba-client rsync unzip debootstrap schroot squashfs-tools python-crypto arp-scan procps-ng gettext moreutils jq net-tools http://ftp.altlinux.org/pub/distributions/ALTLinux/5.1/branch/$(arch)/RPMS.classic/netpipes-4.2-alt1.$(arch).rpm python-pip ) INSTALLEXTRADEPS=( 'pushd /tmp; wget -t3 http://download.bittornado.com/download/BitTornado-0.3.18.tar.gz && tar xvzf BitTornado-0.3.18.tar.gz && cd BitTornado-CVS && python setup.py install && ln -fs btlaunchmany.py /usr/bin/btlaunchmany && ln -fs bttrack.py /usr/bin/bttrack; popd' ) INSTALLPKG="yum install -y libstdc++ libstdc++.i686" CHECKPKG="rpm -q --quiet \$package" @@ -329,6 +329,8 @@ case "$OSDISTRIB" in [ $OSVERSION -ge 20 ] && DEPENDENCIES=( ${DEPENDENCIES[*]/mysql-/mariadb-} ) ;; esac +# Instalar dependencias de Python. +pip install -U pjlink } diff --git a/installer/opengnsys_update.sh b/installer/opengnsys_update.sh index 212501db..99eac4a9 100755 --- a/installer/opengnsys_update.sh +++ b/installer/opengnsys_update.sh @@ -114,7 +114,7 @@ function autoConfigure() # Configuración según la distribución de Linux. if [ -f /etc/debian_version ]; then # Distribución basada en paquetes Deb. - DEPENDENCIES=( curl rsync btrfs-tools procps arp-scan realpath php-curl gettext moreutils jq wakeonlan udpcast ) + DEPENDENCIES=( curl rsync btrfs-tools procps arp-scan realpath php-curl gettext moreutils jq wakeonlan udpcast python-pip ) UPDATEPKGLIST="add-apt-repository -y ppa:ondrej/php; apt-get update" INSTALLPKGS="apt-get -y install" DELETEPKGS="apt-get -y purge" @@ -134,7 +134,7 @@ function autoConfigure() INETDCFGDIR=/etc/xinetd.d elif [ -f /etc/redhat-release ]; then # Distribución basada en paquetes rpm. - DEPENDENCIES=( curl rsync btrfs-progs procps-ng arp-scan gettext moreutils jq net-tools ) + DEPENDENCIES=( curl rsync btrfs-progs procps-ng arp-scan gettext moreutils jq net-tools python-pip ) # En CentOS 7 instalar arp-scan de CentOS 6. [ "$OSDISTRIB$OSVERSION" == "centos7" ] && DEPENDENCIES=( ${DEPENDENCIES[*]/arp-scan/http://dag.wieers.com/redhat/el6/en/$(arch)/dag/RPMS/arp-scan-1.9-1.el6.rf.$(arch).rpm} ) INSTALLPKGS="yum install -y" @@ -390,6 +390,8 @@ function installDependencies() fi fi fi + # Dependencias Python. + pip install -U pjlink } -- cgit v1.2.3-18-g5258 From bf518ed5fe81d7931ad459dcfec1cc78282b385d Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Thu, 14 Jun 2018 14:30:34 +0200 Subject: #794: Projector properties form (initial version). --- admin/WebConsole/gestores/gestor_proyectores.php | 201 +++++++++++++++++++++ .../php/esp/propiedades_proyectores_esp.php | 16 ++ .../propiedades/propiedades_proyectores.php | 149 +++++++++++++++ 3 files changed, 366 insertions(+) create mode 100644 admin/WebConsole/gestores/gestor_proyectores.php create mode 100644 admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php create mode 100644 admin/WebConsole/propiedades/propiedades_proyectores.php diff --git a/admin/WebConsole/gestores/gestor_proyectores.php b/admin/WebConsole/gestores/gestor_proyectores.php new file mode 100644 index 00000000..dd2f663f --- /dev/null +++ b/admin/WebConsole/gestores/gestor_proyectores.php @@ -0,0 +1,201 @@ +Conexion->Cerrar(); +} +if($opcion!=$op_movida){ + echo ''; + echo ''; + echo ' '; + echo ''; + echo '

'; + echo ' '; + echo ''; + echo ' '; + echo ''; +} +/*________________________________________________________________________________________________________ + Inserta, modifica o elimina datos en la tabla proyectores +________________________________________________________________________________________________________*/ +function Gestiona(){ + global $cmd; + global $opcion; + global $idproyector; + global $nombreproyector; + global $modelo; + global $tipo; + global $ip; + global $idaula; + + global $op_alta; + global $op_modificacion; + global $op_eliminacion; + global $op_movida; + global $tablanodo; + + global $datosduplicados; + + $cmd->CreaParametro("@idaula",$idaula,1); + $cmd->CreaParametro("@idproyector",$idproyector,1); + $cmd->CreaParametro("@nombreproyector",$nombreproyector,0); + $cmd->CreaParametro("@modelo",$modelo,0); + $cmd->CreaParametro("@tipo",$tipo,0); + $cmd->CreaParametro("@ip",$ip,0); + + switch($opcion){ + case $op_alta : + // Comprueba que no existan duplicados + $ipduplicada='no'; + $nombreduplicado='no'; + $cmd->texto=<<Comando=&$cmd; + if (!$rs->Abrir()) return(0); // Error al abrir recordset + $rs->Primero(); + while (!$rs->EOF){ + if ( $nombreproyector == $rs->campos["nombreproyector"]) $datosduplicados ="nombre: $nombreproyector,"; + if ( $ip == $rs->campos["ip"]) $datosduplicados .=" ip: $ip,"; + $rs->Siguiente(); + } + $rs->Cerrar(); + // quitamos última coma + $datosduplicados = trim($datosduplicados, ','); + + // Si no hay datos duplicados insertamos el proyector; + if ( $datosduplicados == "" ) { + $cmd->texto = <<Ejecutar(); + if ($resul){ // Crea una tabla nodo para devolver a la página que llamó ésta + $idproyector=$cmd->Autonumerico(); + // Insertar datos en el árbol de configuración. + $arbolXML=SubarbolXML_proyectores($idproyector,$nombreproyector); + $baseurlimg="../images/signos"; // Url de las imagenes de signo + $clasedefault="texto_arbol"; // Hoja de estilo (Clase por defecto) del árbol + $arbol=new ArbolVistaXML($arbolXML,0,$baseurlimg,$clasedefault); + $tablanodo=$arbol->CreaArbolVistaXML(); + } + break; + case $op_modificacion: + $cmd->texto=<<Ejecutar(); + break; + case $op_eliminacion : + $resul=EliminaProyectores($cmd,$idproyector,"idproyector");// Eliminación en cascada + break; + case $op_movida : + $cmd->texto=<<Ejecutar(); + break; + default: + break; + } + return($resul); +} +/*________________________________________________________________________________________________________ + Crea un arbol XML para el nuevo nodo insertado +________________________________________________________________________________________________________*/ +function SubarbolXML_proyectores($idproyector,$nombreproyector){ + global $LITAMBITO_ORDENADORES; + $cadenaXML=' + +Administración web de aulas + + + + + + + '?> + + +
+ + + +


+

+ + + + + '.$nombreproyector.''."\n"; + } else { + echo ''."\n"; + } + ?> + + + + + '.$ip.''."\n"; + } else { + echo ''."\n"; + } + ?> + + + + + '.$mac.''; + } else { + echo ''."\n"; + } + ?> + + + + + '.$mac.''."\n"; + } else { + $tiposproy ="standalone=standalone".chr(13); + $tiposproy.="pjlink=pjlink".chr(13); + $tiposproy.="unknown=unknown"; + echo ''."\n"; + } + ?> + + +
  
  
  
  '.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100).'
+
+ +
+ + +texto=<<Comando=&$cmd; + if (!$rs->Abrir()) return(false); // Error al abrir recordset + $rs->Primero(); + if (!$rs->EOF){ + $nombreproyector=$rs->campos["name"]; + $modelo=$rs->campos["model"] == 1; + $tipo=$rs->campos["type"]; + $ip=$rs->campos["ipaddr"]; + $rs->Cerrar(); + return(true); + } + return(false); +} -- cgit v1.2.3-18-g5258 From 300acb26b95a96191bb4c6d29723c25512e55118 Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Mon, 25 Jun 2018 13:15:22 +0200 Subject: #794: New projector form and properties. --- admin/WebConsole/gestores/gestor_proyectores.php | 24 +++--- .../javascripts/esp/propiedades_proyectores_esp.js | 8 ++ admin/WebConsole/idiomas/php/esp/aulas_esp.php | 7 +- .../idiomas/php/esp/gestor_proyectores_esp.php | 8 ++ .../php/esp/propiedades_proyectores_esp.php | 2 +- admin/WebConsole/jscripts/comunes.js | 8 +- .../WebConsole/jscripts/propiedades_proyectores.js | 90 ++++++++++++++++++++++ admin/WebConsole/principal/aulas.php | 16 ++-- .../propiedades/propiedades_proyectores.php | 48 ++++++------ 9 files changed, 159 insertions(+), 52 deletions(-) create mode 100644 admin/WebConsole/idiomas/javascripts/esp/propiedades_proyectores_esp.js create mode 100644 admin/WebConsole/idiomas/php/esp/gestor_proyectores_esp.php create mode 100644 admin/WebConsole/jscripts/propiedades_proyectores.js diff --git a/admin/WebConsole/gestores/gestor_proyectores.php b/admin/WebConsole/gestores/gestor_proyectores.php index dd2f663f..b5a9b703 100644 --- a/admin/WebConsole/gestores/gestor_proyectores.php +++ b/admin/WebConsole/gestores/gestor_proyectores.php @@ -15,13 +15,13 @@ include_once("../includes/CreaComando.php"); include_once("../includes/constantes.php"); //include_once("./relaciones/proyectores_eliminacion.php"); include_once("../includes/opciones.php"); -//include_once("../idiomas/php/".$idioma."/gestor_proyectores_".$idioma.".php"); +include_once("../idiomas/php/".$idioma."/gestor_proyectores_".$idioma.".php"); //________________________________________________________________________________________________________ $opcion=0; // Inicializa parametros -$idaula=0; -$idproyector=0; +$idaula=0; +$idproyector=0; $nombreproyector=""; $modelo=""; $tipo=""; @@ -77,7 +77,7 @@ if ($resul){ if ($opcion==$op_alta ) { if ( $datosduplicados != '') { echo $literal."(0,'".$TbMsg["DUPLICADO"].$datosduplicados." ',".$idproyector.",o.innerHTML);".chr(13); - } else { + } else { echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idproyector.",o.innerHTML);".chr(13); } } @@ -90,7 +90,7 @@ else if($opcion!=$op_movida){ echo ' '; echo ' '; - echo ''; + echo ''; } /*________________________________________________________________________________________________________ Inserta, modifica o elimina datos en la tabla proyectores @@ -128,7 +128,7 @@ function Gestiona(){ $cmd->texto=<<Comando=&$cmd; @@ -144,10 +144,10 @@ EOD; $datosduplicados = trim($datosduplicados, ','); // Si no hay datos duplicados insertamos el proyector; - if ( $datosduplicados == "" ) { + if ($datosduplicados == "") { $cmd->texto = <<Ejecutar(); @@ -189,13 +189,13 @@ EOD; Crea un arbol XML para el nuevo nodo insertado ________________________________________________________________________________________________________*/ function SubarbolXML_proyectores($idproyector,$nombreproyector){ - global $LITAMBITO_ORDENADORES; + global $LITAMBITO_PROYECTORES; $cadenaXML=' - + $TbMsg[51]='"Añadir nuevo proyector"'; + $TbMsg[52]='"Estado"'; + $TbMsg[53]='"Eliminar proyector"'; diff --git a/admin/WebConsole/idiomas/php/esp/gestor_proyectores_esp.php b/admin/WebConsole/idiomas/php/esp/gestor_proyectores_esp.php new file mode 100644 index 00000000..bd9f089a --- /dev/null +++ b/admin/WebConsole/idiomas/php/esp/gestor_proyectores_esp.php @@ -0,0 +1,8 @@ +'; $layerXML.=''; @@ -737,13 +736,14 @@ function CreacontextualXMLProyectores(){ $layerXML.=' clase="menu_contextual"'; $layerXML.='>'; - // Modificar proyector $wLeft=140; $wTop=115; $wWidth=400; $wHeight=320; - $wpages="../propiedades/propiedades_proyector.php"; + $wpages="../propiedades/propiedades_proyectores.php"; $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'"; + + // Modificar proyector $layerXML.=' diff --git a/admin/WebConsole/propiedades/propiedades_proyectores.php b/admin/WebConsole/propiedades/propiedades_proyectores.php index 775e43a2..8c79a523 100644 --- a/admin/WebConsole/propiedades/propiedades_proyectores.php +++ b/admin/WebConsole/propiedades/propiedades_proyectores.php @@ -4,7 +4,7 @@ // Fecha Creación: junio 2018 // Fecha Última modificación: junio 2018 // Nombre del fichero: propiedades_proyectores.php -// Descripción : +// Descripción : // Presenta el formulario de captura de datos de un proyector para insertar, modificar y eliminar // **************************************************************************************************** include_once("../includes/ctrlacc.php"); @@ -20,17 +20,17 @@ include_once("../idiomas/php/".$idioma."/avisos_".$idioma.".php"); $opcion=0; $opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]); //________________________________________________________________________________________________________ -$idproyector=0; +$idproyector=0; $nombreproyector=""; $ip=""; $modelo=""; $tipo=""; $idaula=0; -if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros -if (isset($_GET["idproyector"])) $idordenador=$_GET["idproyector"]; -if (isset($_GET["idaula"])) $idaula=$_GET["idaula"]; -if (isset($_GET["identificador"])) $idordenador=$_GET["identificador"]; +if (isset($_GET["opcion"])) $opcion=$_GET["opcion"]; // Recoge parametros. +if (isset($_GET["idproyector"])) $idordenador=$_GET["idproyector"]; +if (isset($_GET["idaula"])) $idaula=$_GET["idambito"]; +if (isset($_GET["identificador"])) $idordenador=$_GET["identificador"]; //________________________________________________________________________________________________________ $cmd=CreaComando($cadenaconexion); // Crea objeto comando if (!$cmd) @@ -53,7 +53,7 @@ if ($opcion!=$op_alta){ '?> -
+ @@ -69,16 +69,6 @@ if ($opcion!=$op_alta){ echo ''."\n"; } ?> - - - -    - '.$ip.''."\n"; - } else { - echo ''."\n"; - } - ?> @@ -89,7 +79,7 @@ if ($opcion!=$op_alta){ echo ''."\n"; } ?> - +    @@ -102,7 +92,17 @@ if ($opcion!=$op_alta){ echo ''.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100).''."\n"; } ?> - + + + +    + '.$ip.''."\n"; + } else { + echo ''."\n"; + } + ?> +
@@ -117,8 +117,8 @@ include_once("../includes/opcionesbotonesop.php"); texto=<<Comando=&$cmd; + $rs->Comando=&$cmd; if (!$rs->Abrir()) return(false); // Error al abrir recordset - $rs->Primero(); + $rs->Primero(); if (!$rs->EOF){ $nombreproyector=$rs->campos["name"]; $modelo=$rs->campos["model"] == 1; -- cgit v1.2.3-18-g5258 From 46d9f3e65096f04297ae18a9b67f580db4a10e0c Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Thu, 28 Jun 2018 13:51:16 +0200 Subject: #794: Enabling contextual menu for projectors and correcting errata. --- admin/WebConsole/gestores/gestor_proyectores.php | 6 +++++- .../idiomas/javascripts/esp/comunes_esp.js | 2 +- .../javascripts/esp/propiedades_proyectores_esp.js | 2 +- .../WebConsole/jscripts/propiedades_proyectores.js | 8 ++++++++ admin/WebConsole/principal/aulas.php | 22 +++------------------- .../propiedades/propiedades_proyectores.php | 18 +++++++++--------- 6 files changed, 27 insertions(+), 31 deletions(-) diff --git a/admin/WebConsole/gestores/gestor_proyectores.php b/admin/WebConsole/gestores/gestor_proyectores.php index b5a9b703..e7c51dc9 100644 --- a/admin/WebConsole/gestores/gestor_proyectores.php +++ b/admin/WebConsole/gestores/gestor_proyectores.php @@ -170,7 +170,11 @@ EOD; $resul=$cmd->Ejecutar(); break; case $op_eliminacion : - $resul=EliminaProyectores($cmd,$idproyector,"idproyector");// Eliminación en cascada + $cmd->texto=<<Ejecutar(); break; case $op_movida : $cmd->texto=<<texto = "SELECT id, name FROM projectors @@ -275,8 +277,6 @@ function SubarbolXML_aulas_proyectores($cmd,$idaula){ $cadenaXML.='campos["name"].'"'; @@ -725,7 +725,7 @@ function CreacontextualXMLUsuarios(){ return($layerXML); } //________________________________________________________________________________________________________ -function CreacontextualXMLProyectores(){ +function ContextualXMLProyectores(){ global $LITAMBITO_PROYECTORES; global $TbMsg; @@ -1049,22 +1049,6 @@ function ContextualXMLOrdenadores(){ return($layerXML); } //________________________________________________________________________________________________________ -function ContextualXMLProyectores(){ - global $TbMsg; - global $AMBITO_PROYECTORES; - global $LITAMBITO_PROYECTORES; - - $layerXML='    '.$mac.''; + echo ''.$modelo.''; } else { echo ''."\n"; } @@ -84,12 +84,12 @@ if ($opcion!=$op_alta){    '.$mac.''."\n"; + echo ''.$tipo.''."\n"; } else { $tiposproy ="standalone=standalone".chr(13); $tiposproy.="pjlink=pjlink".chr(13); $tiposproy.="unknown=unknown"; - echo ''.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100).''."\n"; + echo ''.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100, "activaip").''."\n"; } ?> @@ -99,7 +99,7 @@ if ($opcion!=$op_alta){ '.$ip.''."\n"; } else { - echo ''."\n"; + echo ''."\n"; } ?> @@ -123,15 +123,15 @@ include_once("../includes/opcionesbotonesop.php"); //________________________________________________________________________________________________________ function TomaPropiedades($cmd,$id){ global $nombreproyector; - global $ip; global $modelo; global $tipo; + global $ip; $rs=new Recordset; $cmd->texto=<<Comando=&$cmd; @@ -139,7 +139,7 @@ EOD; $rs->Primero(); if (!$rs->EOF){ $nombreproyector=$rs->campos["name"]; - $modelo=$rs->campos["model"] == 1; + $modelo=$rs->campos["model"]; $tipo=$rs->campos["type"]; $ip=$rs->campos["ipaddr"]; $rs->Cerrar(); -- cgit v1.2.3-18-g5258 From 910a4c358af0191b5c83f45f93a444b60a633fff Mon Sep 17 00:00:00 2001 From: "Ramón M. Gómez" Date: Fri, 29 Jun 2018 13:46:11 +0200 Subject: #794: New projector types. --- admin/Database/ogAdmBD.sql | 2 +- admin/WebConsole/gestores/gestor_proyectores.php | 14 +++++++++----- admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js | 2 +- .../idiomas/php/esp/propiedades_proyectores_esp.php | 4 ++++ admin/WebConsole/jscripts/propiedades_proyectores.js | 15 ++++++++++----- admin/WebConsole/propiedades/propiedades_proyectores.php | 13 +++++++------ 6 files changed, 32 insertions(+), 18 deletions(-) diff --git a/admin/Database/ogAdmBD.sql b/admin/Database/ogAdmBD.sql index 2ca20128..98f56c41 100644 --- a/admin/Database/ogAdmBD.sql +++ b/admin/Database/ogAdmBD.sql @@ -791,7 +791,7 @@ CREATE TABLE `projectors` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(50) NOT NULL DEFAULT '', `model` varchar(50) NOT NULL DEFAULT '', - `type` enum('standalone', 'pjlink', 'unknown') NOT NULL DEFAULT 'standalone', + `type` enum('no-net', 'net-pjlink', 'net-other', 'unknown') NOT NULL DEFAULT 'no-net', `ipaddr` varchar(16) NOT NULL DEFAULT '', `lab_id` int(11) DEFAULT NULL, PRIMARY KEY(`id`) diff --git a/admin/WebConsole/gestores/gestor_proyectores.php b/admin/WebConsole/gestores/gestor_proyectores.php index e7c51dc9..83c2c66c 100644 --- a/admin/WebConsole/gestores/gestor_proyectores.php +++ b/admin/WebConsole/gestores/gestor_proyectores.php @@ -13,7 +13,6 @@ include_once("../clases/XmlPhp.php"); include_once("../clases/ArbolVistaXML.php"); include_once("../includes/CreaComando.php"); include_once("../includes/constantes.php"); -//include_once("./relaciones/proyectores_eliminacion.php"); include_once("../includes/opciones.php"); include_once("../idiomas/php/".$idioma."/gestor_proyectores_".$idioma.".php"); @@ -112,6 +111,7 @@ function Gestiona(){ global $tablanodo; global $datosduplicados; + $resul=""; $cmd->CreaParametro("@idaula",$idaula,1); $cmd->CreaParametro("@idproyector",$idproyector,1); @@ -126,17 +126,21 @@ function Gestiona(){ $ipduplicada='no'; $nombreduplicado='no'; $cmd->texto=<<Comando=&$cmd; if (!$rs->Abrir()) return(0); // Error al abrir recordset $rs->Primero(); while (!$rs->EOF){ - if ( $nombreproyector == $rs->campos["nombreproyector"]) $datosduplicados ="nombre: $nombreproyector,"; - if ( $ip == $rs->campos["ip"]) $datosduplicados .=" ip: $ip,"; + if ($nombreproyector == $rs->campos["nombre"]) $datosduplicados ="nombre: $nombreproyector,"; + if ($ip == $rs->campos["ip"]) $datosduplicados .=" ip: $ip,"; $rs->Siguiente(); } $rs->Cerrar(); diff --git a/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js b/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js index 99b954fd..f9a92c4e 100644 --- a/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js +++ b/admin/WebConsole/idiomas/javascripts/esp/aulas_esp.js @@ -3,7 +3,7 @@ // Fichero de idiomas javascript: aulas_esp.js // Idioma: Español //________________________________________________________________________________________________________ -TbMsg=new Array; +var TbMsg=new Array; TbMsg[0]="La plantilla de ordenador ha sido registrada correctamente y los ordenadores de este aula han sido actualizados con dicha plantilla"; TbMsg[1]=" ATENCIÓN: Este ámbito será refrescado. ¿ Está seguro ?"; TbMsg[2]=""; diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php index 1573adff..8d4ea6c9 100644 --- a/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php +++ b/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php @@ -14,3 +14,7 @@ $TbMsg["PROP_IPADDR"]="Dirección IP"; $TbMsg["PROP_MODEL"]="Marca y Modelo"; $TbMsg["PROP_NAME"]="Nombre"; $TbMsg["PROP_TYPE"]="Tipo de Proyector"; +$TbMsg["TYPE_NONET"]="No conectado"; +$TbMsg["TYPE_NETPJLINK"]="Conectado PJLink"; +$TbMsg["TYPE_NETOTHER"]="Conectado otro"; +$TbMsg["TYPE_UNKNOWN"]="Desconocido"; \ No newline at end of file diff --git a/admin/WebConsole/jscripts/propiedades_proyectores.js b/admin/WebConsole/jscripts/propiedades_proyectores.js index f5284e3f..b1e2a4e3 100644 --- a/admin/WebConsole/jscripts/propiedades_proyectores.js +++ b/admin/WebConsole/jscripts/propiedades_proyectores.js @@ -83,10 +83,15 @@ function comprobar_datos(){ return true; } - var form = document.fdatos; - return validate(form.nombreproyector, validate_notspace, 0) && - validate(form.nombreproyector, validate_text_notnull, 0) && - validate(form.ip, validate_ipadress_notnull, 1); + var form = document.fdatos; + if (form.tipo.valuue === 'net-pjlink' || form.tipo.value === 'net-other') { + return validate(form.nombreproyector, validate_notspace, 0) && + validate(form.nombreproyector, validate_text_notnull, 0) && + validate(form.ip, validate_ipadress_notnull, 1); + } else { + return validate(form.nombreproyector, validate_notspace, 0) && + validate(form.nombreproyector, validate_text_notnull, 0); + } } // @@ -94,5 +99,5 @@ function comprobar_datos(){ // function activaip(type) { var ip = document.getElementsByName('ip')[0]; - ip.readOnly = type.value !== 'pjlink'; + ip.readOnly = type.value !== 'net-pjlink' && type.value !== 'net-other'; } diff --git a/admin/WebConsole/propiedades/propiedades_proyectores.php b/admin/WebConsole/propiedades/propiedades_proyectores.php index 52c2e38f..946f4e54 100644 --- a/admin/WebConsole/propiedades/propiedades_proyectores.php +++ b/admin/WebConsole/propiedades/propiedades_proyectores.php @@ -43,11 +43,11 @@ if ($opcion!=$op_alta){ //________________________________________________________________________________________________________ ?> -Administración web de aulas + Administración web de aulas - + '?> @@ -86,10 +86,11 @@ if ($opcion!=$op_alta){ '.$tipo.''."\n"; } else { - $tiposproy ="standalone=standalone".chr(13); - $tiposproy.="pjlink=pjlink".chr(13); - $tiposproy.="unknown=unknown"; - echo ''.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100, "activaip").''."\n"; + $tiposproy ="no-net=".$TbMsg["TYPE_NONET"].chr(13); + $tiposproy.="net-pjlink=".$TbMsg["TYPE_NETPJLINK"].chr(13); + $tiposproy.="net-other=".$TbMsg["TYPE_NETOTHER"].chr(13); + $tiposproy.="unknown=".$TbMsg["TYPE_UNKNOWN"]; + echo ''.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,120, "activaip").''."\n"; } ?> -- cgit v1.2.3-18-g5258