summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--admin/Database/ogAdmBD.sql17
-rw-r--r--admin/WebConsole/gestores/gestor_proyectores.php201
-rw-r--r--admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php16
-rw-r--r--admin/WebConsole/includes/constantes.php2
-rw-r--r--admin/WebConsole/principal/aulas.php115
-rw-r--r--admin/WebConsole/propiedades/propiedades_proyectores.php149
-rwxr-xr-xinstaller/opengnsys_installer.sh6
-rwxr-xr-xinstaller/opengnsys_update.sh6
8 files changed, 505 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/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 @@
+<?php
+// *************************************************************************************************************************************************
+// Autor: Ramón M. Gómez, ETSII Universidad de Sevilla
+// Fecha Creación:
+// Fecha Última modificación: junio 2018
+// Nombre del fichero: gestor_proyectores.php
+// Descripción :
+// Gestiona el mantenimiento de la tabla de proyectores
+// *************************************************************************************************************************************************
+include_once("../includes/ctrlacc.php");
+include_once("../clases/AdoPhp.php");
+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");
+
+//________________________________________________________________________________________________________
+$opcion=0; // Inicializa parametros
+
+$idaula=0;
+$idproyector=0;
+$nombreproyector="";
+$modelo="";
+$tipo="";
+$ip="";
+$datosduplicados="";
+if (isset($_POST["opcion"])) $opcion=$_POST["opcion"]; // Recoge parametros
+if (isset($_POST["idaula"])) $idaula=$_POST["idaula"];
+if (isset($_POST["idproyector"])) $idproyector=$_POST["idproyector"];
+if (isset($_POST["nombreproyector"])) $nombreproyector=$_POST["nombreproyector"];
+if (isset($_POST["modelo"])) $modelo=$_POST["modelo"];
+if (isset($_POST["tipo"])) $tipo=$_POST["tipo"];
+if (isset($_POST["ip"])) $ip=$_POST["ip"];
+//________________________________________________________________________________________________________
+$cmd=CreaComando($cadenaconexion); // Crea objeto comando
+$resul=false;
+if ($cmd){
+ $resul=Gestiona();
+ $cmd->Conexion->Cerrar();
+}
+if($opcion!=$op_movida){
+ echo '<HTML>';
+ echo '<HEAD>';
+ echo ' <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">';
+ echo '<BODY>';
+ echo '<P><SPAN style="visibility:hidden" id="arbol_nodo">'.$tablanodo.'</SPAN></P>';
+ echo ' <SCRIPT language="javascript" src="../jscripts/propiedades_ordenadores.js"></SCRIPT>';
+ echo '<SCRIPT language="javascript">'.chr(13);
+ if ($resul){
+ echo 'var oHTML'.chr(13);
+ echo 'var cTBODY=document.getElementsByTagName("TBODY");'.chr(13);
+ echo 'o=cTBODY.item(1);'.chr(13);
+ }
+}
+//________________________________________________________________________________________________________
+ $literal="";
+ switch($opcion){
+ case $op_alta :
+ $literal="resultado_insertar_proyectores";
+ break;
+ case $op_modificacion:
+ $literal="resultado_modificar_proyectores";
+ break;
+ case $op_eliminacion :
+ $literal="resultado_eliminar_proyectores";
+ break;
+ case $op_movida :
+ $literal="resultado_cambiar_proyectores";
+ break;
+ default:
+ break;
+ }
+if ($resul){
+ if ($opcion==$op_alta ) {
+ if ( $datosduplicados != '') {
+ echo $literal."(0,'".$TbMsg["DUPLICADO"].$datosduplicados." ',".$idproyector.",o.innerHTML);".chr(13);
+ } else {
+ echo $literal."(1,'".$cmd->DescripUltimoError()." ',".$idproyector.",o.innerHTML);".chr(13);
+ }
+ }
+ else
+ echo $literal."(1,'".$cmd->DescripUltimoError()." ','".$nombreproyector."');".chr(13);
+}
+else
+ echo $literal."(0,'".$cmd->DescripUltimoError()."',".$idproyector.")";
+
+if($opcion!=$op_movida){
+ echo ' </SCRIPT>';
+ echo '</BODY> ';
+ echo '</HTML>';
+}
+/*________________________________________________________________________________________________________
+ 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=<<<EOD
+SELECT *
+ FROM projectors
+ WHERE name=@nombreproyector OR ipddr=@ip;
+EOD;
+ $rs=new Recordset;
+ $rs->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 = <<<EOD
+INSERT INTO projectors (name, model, type, ipaddr)
+ VALUES (@nombreproyector, @modelo, @tipo, @ip);
+EOD;
+ }
+ $resul=$cmd->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=<<<EOD
+UPDATE projectors
+ SET name=@nombreordenador, model=@modelo, type=@tipo, ipaddr=@ip
+ WHERE id=@idproyector;
+EOD;
+ $resul=$cmd->Ejecutar();
+ break;
+ case $op_eliminacion :
+ $resul=EliminaProyectores($cmd,$idproyector,"idproyector");// Eliminación en cascada
+ break;
+ case $op_movida :
+ $cmd->texto=<<<EOD
+UPDATE projectors
+ SET lab_id=@idaula
+ WHERE id=@idproyector;
+EOD;
+ $resul=$cmd->Ejecutar();
+ break;
+ default:
+ break;
+ }
+ return($resul);
+}
+/*________________________________________________________________________________________________________
+ Crea un arbol XML para el nuevo nodo insertado
+________________________________________________________________________________________________________*/
+function SubarbolXML_proyectores($idproyector,$nombreproyector){
+ global $LITAMBITO_ORDENADORES;
+ $cadenaXML='<PROYECTOR';
+ // Atributos
+ $cadenaXML.=' clickcontextualnodo="menu_contextual(this,' ."'flo_".$LITAMBITO_PROYECTORES."'" .')"';
+ $cadenaXML.=' imagenodo="../images/iconos/proyector.gif"';
+ $cadenaXML.=' infonodo="'.$nombreproyector.'"';
+ $cadenaXML.=' nodoid='.$LITAMBITO_PROYECTORES.'-'.$idproyector;
+ $cadenaXML.='></PROYECTOR>';
+ return($cadenaXML);
+}
diff --git a/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php b/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php
new file mode 100644
index 00000000..b6361137
--- /dev/null
+++ b/admin/WebConsole/idiomas/php/esp/propiedades_proyectores_esp.php
@@ -0,0 +1,16 @@
+<?php
+//______________________________________________________________
+//
+// Fichero de idiomas php: propiedades_proyectores_esp.php
+// Idioma: Español
+//______________________________________________________________
+if (empty ($TbMsg)) $TbMsg=array();
+$TbMsg[0]="Sin Opci&oacute;n";
+$TbMsg[1]="Insertar";
+$TbMsg[2]="Modificar";
+$TbMsg[3]="Eliminar";
+$TbMsg[4]="Gestión Proyectores";
+$TbMsg["PROP_IPADDR"]="Direcci&oacute;n IP";
+$TbMsg["PROP_MODEL"]="Marca y Modelo";
+$TbMsg["PROP_NAME"]="Nombre";
+$TbMsg["PROP_TYPE"]="Tipo de Proyector";
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/admin/WebConsole/propiedades/propiedades_proyectores.php b/admin/WebConsole/propiedades/propiedades_proyectores.php
new file mode 100644
index 00000000..775e43a2
--- /dev/null
+++ b/admin/WebConsole/propiedades/propiedades_proyectores.php
@@ -0,0 +1,149 @@
+<?php
+// ****************************************************************************************************
+// Autor: Ramón M. Gómez, ETSII Universidad de Sevilla
+// Fecha Creación: junio 2018
+// Fecha Última modificación: junio 2018
+// Nombre del fichero: propiedades_proyectores.php
+// Descripción :
+// Presenta el formulario de captura de datos de un proyector para insertar, modificar y eliminar
+// ****************************************************************************************************
+include_once("../includes/ctrlacc.php");
+include_once("../includes/opciones.php");
+include_once("../includes/constantes.php");
+include_once("../includes/CreaComando.php");
+include_once("../includes/TomaDato.php");
+include_once("../includes/HTMLCTESELECT.php");
+include_once("../clases/AdoPhp.php");
+include_once("../idiomas/php/".$idioma."/propiedades_proyectores_".$idioma.".php");
+include_once("../idiomas/php/".$idioma."/avisos_".$idioma.".php");
+//________________________________________________________________________________________________________
+$opcion=0;
+$opciones=array($TbMsg[0],$TbMsg[1],$TbMsg[2],$TbMsg[3]);
+//________________________________________________________________________________________________________
+$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"];
+//________________________________________________________________________________________________________
+$cmd=CreaComando($cadenaconexion); // Crea objeto comando
+if (!$cmd)
+ Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
+if ($opcion!=$op_alta){
+ $resul=TomaPropiedades($cmd,$idproyector);
+ if (!$resul)
+ Header('Location: '.$pagerror.'?herror=3'); // Error de recuperación de datos.
+}
+//________________________________________________________________________________________________________
+?>
+<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/validators.js"></SCRIPT>
+ <script language="javascript" src="../jscripts/propiedades_proyectores.js"></script>
+ <script language="javascript" src="../jscripts/opciones.js"></script>
+ <?php echo '<script language="javascript" src="../idiomas/javascripts/'.$idioma.'/propiedades_proyectores_'.$idioma.'.js"></script>'?>
+</head>
+<body>
+<form name="fdatos" action="../gestores/gestor_proyectores.php" method="post" enctype="multipart/form-data">
+ <input type="hidden" name="opcion" value="<?php echo $opcion?>" />
+ <input type="hidden" name="idproyector" value="<?php echo $idproyector?>" />
+ <input type="hidden" name="idaula" value="<?php echo $idaula?>" />
+ <p align="center" class="cabeceras"><?php echo $TbMsg[4]?><br />
+ <span class="subcabeceras"><?php echo $opciones[$opcion]?></span></p>
+<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+ <table align="center" border="0" cellPadding="1" cellSpacing="1" class="tabla_datos">
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg["PROP_NAME"]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion) {
+ echo '<td>'.$nombreproyector.'</td>'."\n";
+ } else {
+ echo '<td><input class="formulariodatos" name="nombreproyector" type="text" value="'.$nombreproyector.'"></td>'."\n";
+ }
+ ?>
+ </tr>
+<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg["PROP_IPADDR"]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion) {
+ echo '<td>'.$ip.'</td>'."\n";
+ } else {
+ echo '<td><input class="formulariodatos" name=ip type=text value="'.$ip.'"></td>'."\n";
+ }
+ ?>
+ </tr>
+<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg["PROP_MODEL"]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion) {
+ echo '<td><input type="hidden" name="modelo" value="'.$mac.'" />'.$mac.'</td>';
+ } else {
+ echo '<td><input class="formulariodatos" name="modelo" type="text" value="'. $modelo.'"></td>'."\n";
+ }
+ ?>
+ </tr>
+<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+ <tr>
+ <th align="center">&nbsp;<?php echo $TbMsg["PROP_TYPE"]?>&nbsp;</th>
+ <?php if ($opcion==$op_eliminacion) {
+ echo '<td><input type="hidden" name="modelo" value="'.$tipo.'" />'.$mac.'</td>'."\n";
+ } else {
+ $tiposproy ="standalone=standalone".chr(13);
+ $tiposproy.="pjlink=pjlink".chr(13);
+ $tiposproy.="unknown=unknown";
+ echo '<td>'.HTMLCTESELECT($tiposproy,"tipo","estilodesple","",$tipo,100).'</td>'."\n";
+ }
+ ?>
+ </tr>
+<!------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------->
+ </table>
+</form>
+<?php
+//________________________________________________________________________________________________________
+include_once("../includes/opcionesbotonesop.php");
+//________________________________________________________________________________________________________
+?>
+<br />
+</body>
+</html>
+<?php
+//________________________________________________________________________________________________________
+// Recupera los datos de un ordenador
+// Parametros:
+// - cmd: Una comando ya operativo (con conexión abierta)
+// - id: El identificador del ordenador
+//________________________________________________________________________________________________________
+function TomaPropiedades($cmd,$id){
+ global $nombreproyector;
+ global $ip;
+ global $modelo;
+ global $tipo;
+
+ $rs=new Recordset;
+ $cmd->texto=<<<EOD
+SELECT projectors.*
+ FROM projectors
+ JOIN aulas ON aulas.idaula=projectors.id
+ WHERE id='$id';
+EOD;
+ $rs->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);
+}
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
}