summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/Database/ogAdmBD.sql17
-rw-r--r--admin/WebConsole/includes/constantes.php2
-rw-r--r--admin/WebConsole/principal/aulas.php115
-rwxr-xr-xinstaller/opengnsys_installer.sh6
-rwxr-xr-xinstaller/opengnsys_update.sh6
5 files changed, 139 insertions, 7 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
@@ -783,6 +783,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.='</AULA>';
@@ -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.='<PROYECTOR';
+ // Atributos.
+ $cadenaXML.=' imagenodo="../images/iconos/proyector.gif"';
+ $wpages="../propiedades/propiedades_proyectores.php";
+ $wParam="0,0,0,0,'". $wpages."'";
+ $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PROYECTORES."'" .')"';
+ $cadenaXML.=' clicksupnodo="modificar('.$wParam.')"';
+ $cadenaXML.=' infonodo="'.$rs->campos["name"].'"';
+ $cadenaXML.=' nodoid='.$LITAMBITO_PROYECTORES.'-'.$rs->campos["id"];
+ $cadenaXML.='></PROYECTOR>';
+ $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.='></ITEM>';
-
+
$layerXML.='<ITEM';
$layerXML.=' alpulsar="colocar_ordenador(1)"';
$layerXML.=' imgitem="../images/iconos/colocar.gif"';
@@ -540,7 +571,23 @@ function ContextualXMLAulas(){
$layerXML.=' imgitem="../images/iconos/aula.gif"';
$layerXML.=' textoitem='.$TbMsg[27];
$layerXML.='></ITEM>';
+
+ $layerXML.='<SEPARADOR>';
+ $layerXML.='</SEPARADOR>';
+ $wLeft=170;
+ $wTop=80;
+ $wWidth=480;
+ $wHeight=480;
+ $wpages="../propiedades/propiedades_proyectores.php";
+ $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'";
+ $layerXML.='<ITEM';
+ $layerXML.=' alpulsar="insertar('.$wParam.')"';
+ $layerXML.=' imgitem="../images/iconos/proyector.gif"';
+ //$layerXML.=' textoitem='.$TbMsg[9];
+ $layerXML.=' textoitem="Nuevo Proyector"';
+ $layerXML.='></ITEM>';
+
$layerXML.='<SEPARADOR>';
$layerXML.='</SEPARADOR>';
@@ -661,6 +708,43 @@ function CreacontextualXMLUsuarios(){
$wpages="../propiedades/propiedades_usuarios.php";
$wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'";
$layerXML.='<ITEM';
+ $layerXML.=' alpulsar="modificar('.$wParam.')"';
+ $layerXML.=' textoitem='.$TbMsg[13];
+ $layerXML.=' imgitem="../images/iconos/propiedades.gif"';
+ $layerXML.='></ITEM>';
+
+ $layerXML.='<SEPARADOR>';
+ $layerXML.='</SEPARADOR>';
+
+ $layerXML.='<ITEM';
+ $layerXML.=' alpulsar="eliminar('.$wParam.')"';
+ $layerXML.=' imgitem="../images/iconos/eliminar.gif"';
+ $layerXML.=' textoitem='.$TbMsg[36];
+ $layerXML.='></ITEM>';
+
+ $layerXML.='</MENUCONTEXTUAL>';
+ return($layerXML);
+}
+//________________________________________________________________________________________________________
+function CreacontextualXMLProyectores(){
+ global $LITAMBITO_PROYECTORES;
+ global $TbMsg;
+
+ $layerXML='<MENUCONTEXTUAL';
+ $layerXML.=' idctx="flo_'.$LITAMBITO_PROYECTORES.'"';
+ $layerXML.=' maxanchu=130';
+ $layerXML.=' swimg=1';
+ $layerXML.=' clase="menu_contextual"';
+ $layerXML.='>';
+
+ // Modificar proyector
+ $wLeft=140;
+ $wTop=115;
+ $wWidth=400;
+ $wHeight=320;
+ $wpages="../propiedades/propiedades_proyector.php";
+ $wParam=$wLeft .",".$wTop.",".$wWidth.",".$wHeight.",'". $wpages."'";
+ $layerXML.='<ITEM';
$layerXML.=' alpulsar="modificar('.$wParam.')"';
$layerXML.=' textoitem='.$TbMsg[13];
$layerXML.=' imgitem="../images/iconos/propiedades.gif"';
@@ -670,6 +754,15 @@ function CreacontextualXMLUsuarios(){
$layerXML.='</SEPARADOR>';
$layerXML.='<ITEM';
+ $layerXML.=' alpulsar="estatus('.$wParam.')"';
+ $layerXML.=' imgitem="../images/iconos/estatus.gif"';
+ $layerXML.=' textoitem='.$TbMsg['STATUS'];
+ $layerXML.='></ITEM>';
+
+ $layerXML.='<SEPARADOR>';
+ $layerXML.='</SEPARADOR>';
+
+ $layerXML.='<ITEM';
$layerXML.=' alpulsar="eliminar('.$wParam.')"';
$layerXML.=' imgitem="../images/iconos/eliminar.gif"';
$layerXML.=' textoitem='.$TbMsg[36];
@@ -954,6 +1047,22 @@ function ContextualXMLOrdenadores(){
return($layerXML);
}
//________________________________________________________________________________________________________
+function ContextualXMLProyectores(){
+ global $TbMsg;
+ global $AMBITO_PROYECTORES;
+ global $LITAMBITO_PROYECTORES;
+
+ $layerXML='<MENUCONTEXTUAL';
+ $layerXML.=' idctx="flo_'.$LITAMBITO_PROYECTORES.'"';
+ $layerXML.=' maxanchu=140';
+ $layerXML.=' swimg=1';
+ $layerXML.=' clase="menu_contextual"';
+ $layerXML.='>';
+
+ $layerXML.='</MENUCONTEXTUAL>';
+ return($layerXML);
+}
+//________________________________________________________________________________________________________
function ContextualXMLComandos($litambito,$ambito){
global $cmd;
global $TbMsg;
diff --git a/installer/opengnsys_installer.sh b/installer/opengnsys_installer.sh
index c5375050..e8cd38c2 100755
--- a/installer/opengnsys_installer.sh
+++ b/installer/opengnsys_installer.sh
@@ -169,7 +169,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"
@@ -206,7 +206,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"
@@ -331,6 +331,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 be36d643..0a6631f7 100755
--- a/installer/opengnsys_update.sh
+++ b/installer/opengnsys_update.sh
@@ -117,7 +117,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"
@@ -137,7 +137,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"
@@ -394,6 +394,8 @@ function installDependencies()
fi
fi
fi
+ # Dependencias Python.
+ pip install -U pjlink
}