summaryrefslogtreecommitdiffstats
path: root/admin
diff options
context:
space:
mode:
authoririna <irinagomez@us.es>2014-10-23 11:13:05 +0000
committeririna <irinagomez@us.es>2014-10-23 11:13:05 +0000
commit1de07b8ab5806d8daa2fe7a31501a32cbde8a018 (patch)
treee51bb92382fc913e7999bdc4a939e8cf99c56544 /admin
parentcd86637886efa13643903f464a4ac6274d25812c (diff)
#665 IniciarSesion: envia accion a los equipos comunes entre la seleccion de la configuración y el filtro.
git-svn-id: https://opengnsys.es/svn/branches/version1.0@4409 a21b9725-9963-47de-94b9-378ad31fedc9
Diffstat (limited to 'admin')
-rw-r--r--admin/WebConsole/comandos/IniciarSesion.php25
-rw-r--r--admin/WebConsole/comandos/jscripts/IniciarSesion.js51
-rw-r--r--admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js1
-rw-r--r--admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js1
-rw-r--r--admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js1
-rw-r--r--admin/WebConsole/includes/ConfiguracionesParticiones.php22
-rw-r--r--admin/WebConsole/includes/pintaTablaConfiguraciones.php8
-rw-r--r--admin/WebConsole/jscripts/arrays.js30
8 files changed, 122 insertions, 17 deletions
diff --git a/admin/WebConsole/comandos/IniciarSesion.php b/admin/WebConsole/comandos/IniciarSesion.php
index 792f8b15..3ef3b9c5 100644
--- a/admin/WebConsole/comandos/IniciarSesion.php
+++ b/admin/WebConsole/comandos/IniciarSesion.php
@@ -7,6 +7,9 @@
// Nombre del fichero: IniciarSesion.php
// Descripción :
// Implementación� del comando "Iniciar Sesión"
+// Version 0.1 - En ambito distinto a ordenador muestra los equipos agrupados en configuraciones iguales.
+// Fecha: 2014-10-23
+// Autora: Irina Gomez, ETSII Universidad de Sevilla
// *************************************************************************************************************************************************
include_once("../includes/ctrlacc.php");
include_once("../clases/AdoPhp.php");
@@ -15,6 +18,7 @@ include_once("../includes/comunes.php");
include_once("../includes/CreaComando.php");
include_once("../includes/HTMLSELECT.php");
include_once("../includes/TomaDato.php");
+include_once("../includes/RecopilaIpesMacs.php");
include_once("../includes/ConfiguracionesParticiones.php");
include_once("../includes/pintaTablaConfiguraciones.php");
include_once("../idiomas/php/".$idioma."/comandos/iniciarsesion_".$idioma.".php");
@@ -34,9 +38,11 @@ if (!$cmd)
<LINK rel="stylesheet" type="text/css" href="../estilos.css">
<SCRIPT language="javascript" src="./jscripts/IniciarSesion.js"></SCRIPT>
<SCRIPT language="javascript" src="../clases/jscripts/HttpLib.js"></SCRIPT>
+<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
+<SCRIPT language="javascript" src="../jscripts/constantes.js"></SCRIPT>
+<SCRIPT language="javascript" src="../jscripts/arrays.js"></SCRIPT>
<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/iniciarsesion_'.$idioma.'.js"></SCRIPT>'?>
<?php echo '<SCRIPT language="javascript" src="../idiomas/javascripts/'.$idioma.'/comandos/comunescomandos_'.$idioma.'.js"></SCRIPT>'?>
-<SCRIPT language="javascript" src="./jscripts/comunescomandos.js"></SCRIPT>
</HEAD>
<BODY>
<?php
@@ -45,13 +51,24 @@ if (!$cmd)
//
include_once("./includes/FiltradoAmbito.php");
//________________________________________________________________________________________________________
-?>
+ if($ambito!=$AMBITO_ORDENADORES){
+ $cadenaid="";
+ $cadenaip="";
+ $cadenamac="";
+ RecopilaIpesMacs($cmd,$ambito,$idambito);
+
+ ?>
<P align=center>
<SPAN align=center class=subcabeceras><? echo $TbMsg[7] ?></SPAN>
</BR>
-<form align=center name="fdatos">
- <?php tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito); ?>
+<form align=center name="fdatos" method="POST">
+ <INPUT type="hidden" name="idambito" value="<? echo $idambito?>">
+ <INPUT type="hidden" name="ambito" value="<? echo $ambito?>">
+ <INPUT type="hidden" name="cadenaid" value="<? echo $cadenaid?>">
</form>
+ <?php } // fin if $ambito!=$AMBITO_ORDENADORES
+
+ tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito); ?>
<?php
//________________________________________________________________________________________________________
include_once("./includes/formularioacciones.php");
diff --git a/admin/WebConsole/comandos/jscripts/IniciarSesion.js b/admin/WebConsole/comandos/jscripts/IniciarSesion.js
index 3967f665..343524e3 100644
--- a/admin/WebConsole/comandos/jscripts/IniciarSesion.js
+++ b/admin/WebConsole/comandos/jscripts/IniciarSesion.js
@@ -6,24 +6,57 @@
// Nombre del fichero: IniciarSesion.js
// Descripción :
// Este fichero implementa las funciones javascript del fichero IniciarSesion.php (Comandos)
+// Version: 0.1 - el valor del filtro = ips de los equipos comunes entre la seleccion de la configuración y el filtro.
+// Nota: no se utiliza document.fdatosejecucion.idambito.value. Su valor no es correcto.
+// Fecha: 2014-10-23
+// Autora: Irina Gomez, ETSII Universidad de Sevilla
// *************************************************************************************************************************************************
function confirmar(){
if (comprobar_datos()){
+ var RC="@";
+ // UHU - Ahora puede ser cualquier disco
+ var atributos="";
+ // devuelve las ip de los ordenadores del filtro o vacio si estan todos seleccionados.
+ filtrado();
+ var ipfiltro=document.fdatosejecucion.filtro.value;
// Compone atributos del comando
tb_conf=document.getElementById("tabla_conf");
- var ochecks=tb_conf.getElementsByTagName('INPUT')
- var diskPart;
+ var ochecks=tb_conf.getElementsByTagName('INPUT');
for(var i=0;i<ochecks.length;i++){
if(ochecks[i].checked){
- diskPart=ochecks[i].value.split(";");
+ var diskPart = ochecks[i].value.split(";");
+ var disco = diskPart[0];
+ var numpar= diskPart[1];
+ atributos+="dsk="+disco+RC;
+ atributos+="par="+numpar+RC;
+ // Datos bloque de configuracion: ip equipos.
+ var cc=ochecks[i].getAttribute('idcfg');
+ var tbOrd=document.getElementById("tbOrd_"+cc);
+ var iptabla=tbOrd.getAttribute('value');
+
+ // Elimino los ordenadores del filtro que no estén en la tabla.
+ if (ipfiltro!=''){
+ var arraytabla = iptabla.split(",");
+ var arrayfiltro =ipfiltro.split(";");
+ arrayfiltro = array_interset (arrayfiltro.sort(), arraytabla.sort());
+ ipfiltro = arrayfiltro.join(";");
+ if (ipfiltro ==''){
+ alert(TbMsg["FILTER"]);
+ return(false);
+ }
+ }
+ else {
+ ipfiltro=iptabla.replace(",", ";");
+ }
+ document.fdatosejecucion.filtro.value=ipfiltro;
+ document.fdatosejecucion.atributos.value=atributos;
+ document.fdatosejecucion.submit();
+ break;
+
+
}
}
- var RC='@';
- var disk = diskPart[0];
- var particion = diskPart[1];
- document.fdatosejecucion.atributos.value="dsk="+disk+RC+"par="+particion+RC;
- filtrado();
- document.fdatosejecucion.submit();
+
}
}
//________________________________________________________________________________________________________
diff --git a/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js b/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js
index 2708a5fe..09b21331 100644
--- a/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js
+++ b/admin/WebConsole/idiomas/javascripts/cat/comandos/iniciarsesion_cat.js
@@ -6,3 +6,4 @@
TbMsg=new Array;
TbMsg[0]="";
TbMsg[1]="Debe elegir al menos una partición";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js b/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js
index 9af3afc2..86cd4cb3 100644
--- a/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js
+++ b/admin/WebConsole/idiomas/javascripts/eng/comandos/iniciarsesion_eng.js
@@ -6,3 +6,4 @@
TbMsg=new Array;
TbMsg[0]="";
TbMsg[1]="You must choose at least one partition";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js
index 2708a5fe..09b21331 100644
--- a/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js
+++ b/admin/WebConsole/idiomas/javascripts/esp/comandos/iniciarsesion_esp.js
@@ -6,3 +6,4 @@
TbMsg=new Array;
TbMsg[0]="";
TbMsg[1]="Debe elegir al menos una partición";
+TbMsg["FILTER"]="Debe seleccionar al menos un ordenador que tenga la configuración elegida.";
diff --git a/admin/WebConsole/includes/ConfiguracionesParticiones.php b/admin/WebConsole/includes/ConfiguracionesParticiones.php
index bf5b1e6a..98891fea 100644
--- a/admin/WebConsole/includes/ConfiguracionesParticiones.php
+++ b/admin/WebConsole/includes/ConfiguracionesParticiones.php
@@ -291,17 +291,23 @@ function pintaConfiguraciones($cmd,$idambito,$ambito,$colums,$sws,$swr,$pintaPar
// $idordenadores: Cadena con los identificadores de los ordenadores separados por ","
// $maxcontor: Número máximo de ordenadores por fila
// $cc: Identificador del bloque de configuración
+// $tipoid: define si el "value" de la tabla es una cadena de ip o de id de los equipos.
+// Valores ipordenador o idordenador (por defecto id).
+// Versión 0.1 - Se incluye parametro tipoid.
+// Fecha 2014-10-23
+// Autora: Irina Gomez, ETSII Universidad de Sevilla
//________________________________________________________________________________________________________
-function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc)
+function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc,$tipoid='idordenador')
{
$tablaHtml="";
+ $ipordenadores="";
$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";
$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>';
+ // Cada ordenador es una celda de la tabla.
while (!$rs->EOF){
$contor++;
$tablaHtml.= '<td align="center" style="BACKGROUND-COLOR: #FFFFFF;">
@@ -311,10 +317,22 @@ function pintaOrdenadores($cmd,$idordenadores,$maxcontor,$cc)
$contor=0;
$tablaHtml.='</tr><tr>';
}
+ $ipordenadores.=$rs->campos["ip"].',';
$rs->Siguiente();
}
$tablaHtml.='</tr>';
$tablaHtml.= '</table>';
+
+ //Quitamos coma final en ipordenadores
+ $ipordenadores = trim($ipordenadores, ',');
+
+ // Inicio tabla: el identificador de los ordenadores puede ser las ips o las ids.
+ if ($tipoid == 'ipordenador')
+ $inicioTablaHtml='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$ipordenadores.'"><tr>';
+ else
+ $inicioTablaHtml='<table align="left" border="0" id="tbOrd_'.$cc.'" value="'.$idordenadores.'"><tr>';
+
+ $tablaHtml=$inicioTablaHtml.$tablaHtml;
return($tablaHtml);
}
/*________________________________________________________________________________________________________
diff --git a/admin/WebConsole/includes/pintaTablaConfiguraciones.php b/admin/WebConsole/includes/pintaTablaConfiguraciones.php
index da18949d..aec4695e 100644
--- a/admin/WebConsole/includes/pintaTablaConfiguraciones.php
+++ b/admin/WebConsole/includes/pintaTablaConfiguraciones.php
@@ -3,6 +3,10 @@ include_once("../idiomas/php/".$idioma."/pintaParticiones_".$idioma.".php");
/*________________________________________________________________________________________________________
Crea la tabla de configuraciones y perfiles a crear
+// Version 0.1 - En ambito distinto a ordenador muestra los equipos agrupados en configuraciones iguales.
+// Fecha: 2014-10-23
+// Autora: Irina Gomez, ETSII Universidad de Sevilla
+
________________________________________________________________________________________________________*/
function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){
// TODO despues de las pruebas: idnombreso <> 5
@@ -85,7 +89,7 @@ function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){
while (!$rs->EOF){
$cc++;
echo '<tr><td colspan="'.$columns.'" style="background-color: #ffffff;">';
- echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc);
+ echo pintaOrdenadores($cmd,$rs->campos["idordenadores"],10,$cc,'ipordenador');
echo "</td></tr>";
$configuraciones=explode("@",$rs->campos["configuraciones"]);
echo $cabeceraTabla;
@@ -101,7 +105,7 @@ function tablaConfiguracionesIniciarSesion($cmd,$idambito,$ambito){
}
$tablaHtml.='<tr><td><input name="particion" idcfg="'.$cc.'" id="'.$cc.'_'.$datos[0].'_'.$datos[1].'" value="'.$datos[0].';'.$datos[1].'" type="radio"></td>'.chr(13);
$tablaHtml.='<td align="center">&nbsp;'.$datos[1].'&nbsp;</td>'.chr(13);
- $tablaHtml.='<td>&nbsp;'.$datos[2].'&nbsp;'.$sistOperativo[$datos[2]].'</td></tr>'.chr(13);
+ $tablaHtml.='<td>&nbsp;'.$sistOperativo[$datos[2]].'</td></tr>'.chr(13);
}
echo $tablaHtml;
diff --git a/admin/WebConsole/jscripts/arrays.js b/admin/WebConsole/jscripts/arrays.js
new file mode 100644
index 00000000..4af858f6
--- /dev/null
+++ b/admin/WebConsole/jscripts/arrays.js
@@ -0,0 +1,30 @@
+/// @file arrays.js
+/// @brief: implementa funciones de uso común para arrays.
+/// @date: 2014-10-23
+
+/// @function array_interset
+/// @brief Devuelve un array con los elementos comunes a los dos arrays iniciales.
+/// @brief Los arrays deben estar ordenados.
+/// @param 1 {Array} array ordenado.
+/// @param 2 {Array} array ordenado.
+/// @return {Array} array con elementos comunes.
+/// @date: 2014-10-23
+function array_interset (a, b) {
+ var ai=0, bi=0;
+ var result = new Array();
+ while( ai < a.length && bi < b.length )
+ if (a[ai] < b[bi] ){ ai++; }
+ else if (a[ai] > b[bi] ){ bi++; }
+ else /* they're equal */
+ {
+ result.push(a[ai]);
+ ai++;
+ bi++;
+ }
+ return result;
+}
+
+
+
+
+