summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorccabezu <carmel@upv.es>2017-06-28 11:18:35 +0000
committerccabezu <carmel@upv.es>2017-06-28 11:18:35 +0000
commitcb6f357844060bcfb0e35d0edfaf204e358e705c (patch)
tree3f0a6b0629d5078c003f28b74e8bd5d71ebf57c0
parent37d4bbf698cc032f7677695f6a9bf759d621540e (diff)
#798: Modificar las consultas a las tablas para que se muestren en los desplegables de restaurar imagen y el asistente de deploy en orden alfabético
git-svn-id: https://opengnsys.es/svn/branches/version1.1@5393 a21b9725-9963-47de-94b9-378ad31fedc9
-rw-r--r--admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php922
-rw-r--r--admin/WebConsole/comandos/RestaurarImagen.php2
2 files changed, 462 insertions, 462 deletions
diff --git a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
index 19aab97c..486eed9f 100644
--- a/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
+++ b/admin/WebConsole/asistentes/includes/asistentes/AyudanteFormularios.php
@@ -1,461 +1,461 @@
-<?php
-// version 1.1: cliente con varios repositorios - htmlOPTION_images: Imagenes de todos los repositorios de la UO.
-// autor: Irina Gomez, Universidad de Sevilla
-// fecha 2015-06-17
-// version 1.1: htmlOPTION_images: se modifica el valor de la imagen iprepo_nombreca_idimagen_idperfilsoft (ticket #757)
-// autor: Irina Gomez, ETSII Universidad de Sevilla
-// fecha: 2016-10-27
-
-
-/// funciones php
-
-#devuelve los elementos [texto] multicast para un formulario.
-#$ambito (aula=4 y ordenadores=16)
-function htmlForm_mcast($cmd,$ambito,$idambito)
-{
-global $TbMsg;
-
-//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
-if ($ambito == 4)
-{
-$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas where aulas.idaula=' . $idambito ;
-}
-
-if ($ambito == 8)
-{
-$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula where gruposordenadores.idgrupo=' . $idambito ;
-}
-
-if ($ambito == 16)
-{
-$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN ordenadores ON ordenadores.idaula=aulas.idaula where ordenadores.idordenador=' . $idambito ;
-}
-
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-if ($rs->Abrir()){
- $rs->Primero();
- $SelectHtml = $TbMsg["WDI24"] . ':<input type="text" size="3" name="mcastpuerto" value="'.$rs->campos["pormul"] . '" /> <br />';
- $rs->Siguiente();
- $SelectHtml.= $TbMsg["WDI25"] . ':<input type="text" size="15" maxlength="15" name="mcastdireccion" value="'.$rs->campos["ipmul"] . '" /> <br />';
- $rs->Siguiente();
- switch ($rs->campos["modomul"])
- {
- case 1:
- $modomulticast="half-duplex";
- break;
- default:
- $modomulticast="full-duplex";
- break;
- }
- $SelectHtml.= $TbMsg["WDI26"] . ':<input type="text" size="8" name="mcastmodo" value="'.$modomulticast. '" /> <br />';
- $rs->Siguiente();
- $SelectHtml.= $TbMsg["WDI27"] . ':<input type="text" size="6" name="mcastvelocidad" value="'.$rs->campos["velmul"] . '" /> <br />';
-
- $rs->Cerrar();
- }
- $SelectHtml.= $TbMsg["WDI28"] . ':<input type="text" size="8" name="mcastnclien" value="50" /> <br />';
- $SelectHtml.= $TbMsg["WDI29"] . ' :<input type="text" size="8" name="mcastseg" value="60" /> <br />';
-
- return($SelectHtml);
-}
-
-
-#devuelve los elementos [texto] p2p para un formulario.
-#$ambito (aula=4 y ordenadores=16)
-function htmlForm_p2p($cmd,$ambito,$idambito)
-{
-global $TbMsg;
-//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
-if ($ambito == 4)
-{
-$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas where aulas.idaula=' . $idambito ;
-}
-if ($ambito == 8)
-{
-$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula where gruposordenadores.idgrupo=' . $idambito ;
-}
-
-
-if ($ambito == 16)
-{
-$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas JOIN ordenadores ON ordenadores.idaula=aulas.idaula where ordenadores.idordenador=' . $idambito ;
-}
-
- $SelectHtml="";
- $rs=new Recordset;
- $rs->Comando=&$cmd;
- if ($rs->Abrir()){
- $rs->Primero();
- $SelectHtml.= $TbMsg["WDI26"] . ' :<input type="text" size="10" name="modp2p" value="'.$rs->campos["modp2p"] . '" /> <br />';
- $rs->Siguiente();
- $SelectHtml.= $TbMsg["WDI30"] . ' :<input type="text" size="10" maxlength="15" name="timep2p" value="'.$rs->campos["timep2p"] . '" /> <br />';
- $rs->Siguiente();
- $rs->Cerrar();
- }
-
-return($SelectHtml);
-}
-
-
-function htmlForm_unicast($cmd,$ambito,$idambito)
-{
-global $TbMsg;
-//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
-if ($ambito == 4)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
-}
-
-if ($ambito == 8)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where grupoid=' . $idambito ;
-}
-if ($ambito == 16)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
-}
-
- $SelectHtml="";
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-
- if ($rs->Abrir()){
- $rs->Primero();
- $ucastclient="";
- while (!$rs->EOF){
- $ucastclient.= $rs->campos["ip"] . ":" ;
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- $SelectHtml.= $TbMsg["WDI24"] . ' :<input type="text" size="8" name="ucastport" value="8000" /> <br />';
- $SelectHtml.= $TbMsg["WDI28"] . ' :<input type="text" size="98" name="ucastclient" value="' . $ucastclient . '" /> <br />';
-
- return($SelectHtml);
-}
-
-
-
-function htmlOPTION_equipos($cmd,$ambito,$idambito)
-{
-
-//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
-if ($ambito == 4)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
-}
-
-if ($ambito == 8)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where grupoid=' . $idambito ;
-}
-if ($ambito == 16)
-{
-$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
-}
-
- $SelectHtml="";
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["ip"] . '" ';
- $SelectHtml.='>';
- $SelectHtml.= $rs->campos["nombreordenador"] .'</OPTION>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- //$SelectHtml.= '</SELECT>';
- return($SelectHtml);
-}
-
-
-
-
-
-
-function htmlOPTION_images($cmd,$ambito,$idambito)
-{
-// 1.1 Imagenes de todos los repositorios de la UO.
-if ($ambito == 4)
-{
-// ambito aulas
-$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas where repositorios.idcentro=aulas.idcentro AND idaula='.$idambito;
-}
-if ($ambito == 8)
-{
-$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas INNER JOIN gruposordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=gruposordenadores.idaula AND idgrupo='.$idambito;
-}
-if ($ambito == 16)
-{
-$subconsultarepo='select repositorios.idrepositorio from repositorios INNER JOIN aulas INNER JOIN ordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=ordenadores.idaula AND idordenador='.$idambito;
-}
-
-
- $SelectHtml="";
- // 1.0.5 imagenes.tipo =1 para que solo muestre las monoloticas.
- $cmd->texto="SELECT *,repositorios.ip as iprepositorio, repositorios.nombrerepositorio as nombrerepo FROM imagenes
- INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
- AND repositorios.idrepositorio IN (" . $subconsultarepo . ") WHERE imagenes.tipo=1";
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["iprepositorio"] ."_".$rs->campos["nombreca"]."_".$rs->campos["idimagen"].'_'.$rs->campos["idperfilsoft"].'" ';
- //$SelectHtml.='<OPTION value="'.$rs->campos["nombreca"] . '" ';
- $SelectHtml.='>';
- $SelectHtml.= $rs->campos["descripcion"] .' ('.$rs->campos["nombrerepo"].') </OPTION>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- else
- {
- $SelectHtml.='<option value=""> ERROR: Ambito con multiples Repositorios --</option>';
-
- }
- return($SelectHtml);
-}
-
-
-
-function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw)
-{
- $SelectHtml="";
- $cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
- INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
- if($sw) // Imágenes con el mismo tipo de partición
- $cmd->texto.= " WHERE imagenes.codpar=".$codpar;
- else
- $cmd->texto.= " WHERE imagenes.codpar<>".$codpar;
-
- $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0"; // La imagene debe existir y estar creada
- $rs=new Recordset;
- $rs->Comando=&$cmd;
- if($sw) $des=1; else $des=0;
- $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$icp.'_'.$des.'" style="WIDTH:220">';
- $SelectHtml.= ' <OPTION value="0"></OPTION>';
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"';
- if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected ";
- $SelectHtml.='>';
- $SelectHtml.= $rs->campos["descripcion"].'</OPTION>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- $SelectHtml.= '</SELECT>';
- return($SelectHtml);
-}
-
-
-
-function htmlOPTION_typepartnotcache($cmd)
-{
- $SelectHtml="";
- $cmd->texto='SELECT tipopar FROM tipospar WHERE NOT tipopar = "CACHE"';
- $rs=new Recordset;
- $rs->Comando=&$cmd;
- //$SelectHtml.= '<SELECT class="formulariodatos" name="nombre" id="identificador" style="WIDTH:220" ;" >';
- //$SelectHtml.= ' <OPTION value="0"></OPTION>';
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["tipopar"] . '" ';
- $SelectHtml.='>';
- $SelectHtml.= $rs->campos["tipopar"] .'</OPTION>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- //$SelectHtml.= '</SELECT>';
- return($SelectHtml);
-}
-
-
-function htmlForm_typepart($cmd,$numpar)
-{
- $SelectHtml="";
- $cmd->texto='SELECT DISTINCT tipopar FROM tipospar
- JOIN ordenadores_particiones ON ordenadores_particiones.codpar = tipospar.codpar
- WHERE numpar = ' .$numpar;
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $valor=$rs->campos["tipopar"];
- $SelectHtml.='<option value="'.$valor.'"> '.$valor.' </option>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- return($SelectHtml);
-}
-
-
-function htmlForm_typepartnotcacheEngine10($npart)
-{
-$SelectHtml="";
-if ($npart == 4) {
- $SelectHtml.='<OPTION value="CACHE"> CACHE </OPTION>';
-}
-$SelectHtml.='<OPTION value="NTFS"> NTFS </OPTION>';
-$SelectHtml.='<OPTION value="FAT32"> FAT32 </OPTION>';
-$SelectHtml.='<OPTION value="FAT16"> FAT16 </OPTION>';
-$SelectHtml.='<OPTION value="FAT12"> FAT12 </OPTION>';
-$SelectHtml.='<OPTION value="HNTFS"> Hidden NTFS </OPTION>';
-$SelectHtml.='<OPTION value="HFAT32"> Hidden FAT32 </OPTION>';
-$SelectHtml.='<OPTION value="HFAT16"> Hidden FAT16 </OPTION>';
-$SelectHtml.='<OPTION value="HFAT12"> Hidden FAT12 </OPTION>';
-$SelectHtml.='<OPTION value="LINUX"> LINUX </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-SWAP"> LINUX-SWAP </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-RAID"> LINUX-RAID </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-LVM"> LINUX-LVM </OPTION>';
-$SelectHtml.='<OPTION value="HFS"> HFS </OPTION>';
-$SelectHtml.='<OPTION value="FREEBSD"> FREEBSD </OPTION>';
-$SelectHtml.='<OPTION value="OPENBSD"> OPENBSD </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS"> SOLARIS </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS-BOOT"> SOLARIS-BOOT </OPTION>';
-$SelectHtml.='<OPTION value="VMFS"> VMFS </OPTION>';
-$SelectHtml.='<OPTION value="DATA"> DATA </OPTION>';
-$SelectHtml.='<OPTION value="EFI"> EFI </OPTION>';
-$SelectHtml.='<OPTION value="GPT"> GPT </OPTION>';
-if ($npart <= 4) {
- $SelectHtml.='<OPTION value="EXTENDED"> EXTENDED </OPTION>';
-}
-return($SelectHtml);
-}
-
-function htmlForm_typepartnotcacheGPT($npart)
-{
-$SelectHtml="";
-if ($npart == 4) {
- $SelectHtml.='<OPTION value="CACHE"> CACHE </OPTION>';
-}
-$SelectHtml.='<OPTION value="WINDOWS"> Windows </OPTION>';
-$SelectHtml.='<OPTION value="WIN-RESERV"> Windows Reserved </OPTION>';
-$SelectHtml.='<OPTION value="LINUX"> Linux </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-RESERV"> Linux Reserved </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-SWAP"> Linux Swap </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-RAID"> Linux RAID </OPTION>';
-$SelectHtml.='<OPTION value="LINUX-LVM"> Linux LVM </OPTION>';
-$SelectHtml.='<OPTION value="CHROMEOS"> ChromeOS </OPTION>';
-$SelectHtml.='<OPTION value="CHROMEOS-KRN"> ChromeOS Kernel </OPTION>';
-$SelectHtml.='<OPTION value="CHROMEOS-RESERV"> ChromeOS Reserved </OPTION>';
-$SelectHtml.='<OPTION value="HFS"> MacOS HFS </OPTION>';
-$SelectHtml.='<OPTION value="HFS-BOOT"> MacOS HFS Boot </OPTION>';
-$SelectHtml.='<OPTION value="HFS-RAID"> MacOS HFS RAID </OPTION>';
-$SelectHtml.='<OPTION value="FREEBSD"> FreeBSD </OPTION>';
-$SelectHtml.='<OPTION value="FREEBSD-DISK"> FreeBSD Disk </OPTION>';
-$SelectHtml.='<OPTION value="FREEBSD-BOOT"> FreeBSD Boot </OPTION>';
-$SelectHtml.='<OPTION value="FREEBSD-SWAP"> FreeBSD Swap </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS"> Solaris </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS-DISK"> Solaris Disk </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS-BOOT"> Solaris Boot </OPTION>';
-$SelectHtml.='<OPTION value="SOLARIS-SWAP"> Solaris Swap </OPTION>';
-$SelectHtml.='<OPTION value="EFI"> EFI </OPTION>';
-$SelectHtml.='<OPTION value="MBR"> MBR </OPTION>';
-$SelectHtml.='<OPTION value="BIOS-BOOT"> BIOS Boot </OPTION>';
-return($SelectHtml);
-}
-
-function htmlForm_sizepart($cmd,$numpar)
-{
- $SelectHtml="";
- $cmd->texto='SELECT DISTINCT tamano FROM ordenadores_particiones WHERE numpar = ' .$numpar . ' AND NOT tamano = 0';
- $rs=new Recordset;
- $rs->Comando=&$cmd;
-
- if ($rs->Abrir()){
- $rs->Primero();
- while (!$rs->EOF){
- $SelectHtml.='<OPTION value="'.$rs->campos["tamano"] . '" ';
- $SelectHtml.='>';
- $SelectHtml.= $rs->campos["tamano"] .'</OPTION>';
- $rs->Siguiente();
- }
- $rs->Cerrar();
- }
- return($SelectHtml);
-}
-
-
-function pintaParticionesAsistenteDeployImage($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>';
-
- $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
- 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);
-
- //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>&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=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&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);
-
- //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'</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 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>';
-}
-
-?>
+<?php
+// version 1.1: cliente con varios repositorios - htmlOPTION_images: Imagenes de todos los repositorios de la UO.
+// autor: Irina Gomez, Universidad de Sevilla
+// fecha 2015-06-17
+// version 1.1: htmlOPTION_images: se modifica el valor de la imagen iprepo_nombreca_idimagen_idperfilsoft (ticket #757)
+// autor: Irina Gomez, ETSII Universidad de Sevilla
+// fecha: 2016-10-27
+
+
+/// funciones php
+
+#devuelve los elementos [texto] multicast para un formulario.
+#$ambito (aula=4 y ordenadores=16)
+function htmlForm_mcast($cmd,$ambito,$idambito)
+{
+global $TbMsg;
+
+//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if ($ambito == 4)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas where aulas.idaula=' . $idambito ;
+}
+
+if ($ambito == 8)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula where gruposordenadores.idgrupo=' . $idambito ;
+}
+
+if ($ambito == 16)
+{
+$cmd->texto='SELECT aulas.pormul,aulas.ipmul,aulas.modomul,aulas.velmul,aulas.modp2p,aulas.timep2p FROM aulas JOIN ordenadores ON ordenadores.idaula=aulas.idaula where ordenadores.idordenador=' . $idambito ;
+}
+
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+if ($rs->Abrir()){
+ $rs->Primero();
+ $SelectHtml = $TbMsg["WDI24"] . ':<input type="text" size="3" name="mcastpuerto" value="'.$rs->campos["pormul"] . '" /> <br />';
+ $rs->Siguiente();
+ $SelectHtml.= $TbMsg["WDI25"] . ':<input type="text" size="15" maxlength="15" name="mcastdireccion" value="'.$rs->campos["ipmul"] . '" /> <br />';
+ $rs->Siguiente();
+ switch ($rs->campos["modomul"])
+ {
+ case 1:
+ $modomulticast="half-duplex";
+ break;
+ default:
+ $modomulticast="full-duplex";
+ break;
+ }
+ $SelectHtml.= $TbMsg["WDI26"] . ':<input type="text" size="8" name="mcastmodo" value="'.$modomulticast. '" /> <br />';
+ $rs->Siguiente();
+ $SelectHtml.= $TbMsg["WDI27"] . ':<input type="text" size="6" name="mcastvelocidad" value="'.$rs->campos["velmul"] . '" /> <br />';
+
+ $rs->Cerrar();
+ }
+ $SelectHtml.= $TbMsg["WDI28"] . ':<input type="text" size="8" name="mcastnclien" value="50" /> <br />';
+ $SelectHtml.= $TbMsg["WDI29"] . ' :<input type="text" size="8" name="mcastseg" value="60" /> <br />';
+
+ return($SelectHtml);
+}
+
+
+#devuelve los elementos [texto] p2p para un formulario.
+#$ambito (aula=4 y ordenadores=16)
+function htmlForm_p2p($cmd,$ambito,$idambito)
+{
+global $TbMsg;
+//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if ($ambito == 4)
+{
+$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas where aulas.idaula=' . $idambito ;
+}
+if ($ambito == 8)
+{
+$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas JOIN gruposordenadores ON aulas.idaula=gruposordenadores.idaula where gruposordenadores.idgrupo=' . $idambito ;
+}
+
+
+if ($ambito == 16)
+{
+$cmd->texto='SELECT aulas.modp2p,aulas.timep2p FROM aulas JOIN ordenadores ON ordenadores.idaula=aulas.idaula where ordenadores.idordenador=' . $idambito ;
+}
+
+ $SelectHtml="";
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if ($rs->Abrir()){
+ $rs->Primero();
+ $SelectHtml.= $TbMsg["WDI26"] . ' :<input type="text" size="10" name="modp2p" value="'.$rs->campos["modp2p"] . '" /> <br />';
+ $rs->Siguiente();
+ $SelectHtml.= $TbMsg["WDI30"] . ' :<input type="text" size="10" maxlength="15" name="timep2p" value="'.$rs->campos["timep2p"] . '" /> <br />';
+ $rs->Siguiente();
+ $rs->Cerrar();
+ }
+
+return($SelectHtml);
+}
+
+
+function htmlForm_unicast($cmd,$ambito,$idambito)
+{
+global $TbMsg;
+//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if ($ambito == 4)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
+}
+
+if ($ambito == 8)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where grupoid=' . $idambito ;
+}
+if ($ambito == 16)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
+}
+
+ $SelectHtml="";
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ $ucastclient="";
+ while (!$rs->EOF){
+ $ucastclient.= $rs->campos["ip"] . ":" ;
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ $SelectHtml.= $TbMsg["WDI24"] . ' :<input type="text" size="8" name="ucastport" value="8000" /> <br />';
+ $SelectHtml.= $TbMsg["WDI28"] . ' :<input type="text" size="98" name="ucastclient" value="' . $ucastclient . '" /> <br />';
+
+ return($SelectHtml);
+}
+
+
+
+function htmlOPTION_equipos($cmd,$ambito,$idambito)
+{
+
+//if (isset($_GET["idambito"])) $idambito=$_GET["idambito"];
+if ($ambito == 4)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
+}
+
+if ($ambito == 8)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where grupoid=' . $idambito ;
+}
+if ($ambito == 16)
+{
+$cmd->texto='SELECT nombreordenador,idordenador,ip FROM ordenadores where idaula=' . $idambito ;
+}
+
+ $SelectHtml="";
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["ip"] . '" ';
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["nombreordenador"] .'</OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ //$SelectHtml.= '</SELECT>';
+ return($SelectHtml);
+}
+
+
+
+
+
+
+function htmlOPTION_images($cmd,$ambito,$idambito)
+{
+// 1.1 Imagenes de todos los repositorios de la UO.
+if ($ambito == 4)
+{
+// ambito aulas
+$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas where repositorios.idcentro=aulas.idcentro AND idaula='.$idambito;
+}
+if ($ambito == 8)
+{
+$subconsultarepo='select idrepositorio from repositorios INNER JOIN aulas INNER JOIN gruposordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=gruposordenadores.idaula AND idgrupo='.$idambito;
+}
+if ($ambito == 16)
+{
+$subconsultarepo='select repositorios.idrepositorio from repositorios INNER JOIN aulas INNER JOIN ordenadores where repositorios.idcentro=aulas.idcentro AND aulas.idaula=ordenadores.idaula AND idordenador='.$idambito;
+}
+
+
+ $SelectHtml="";
+ // 1.0.5 imagenes.tipo =1 para que solo muestre las monoloticas.
+ $cmd->texto="SELECT *,repositorios.ip as iprepositorio, repositorios.nombrerepositorio as nombrerepo FROM imagenes
+ INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio
+ AND repositorios.idrepositorio IN (" . $subconsultarepo . ") WHERE imagenes.tipo=1 ORDER BY imagenes.descripcion";
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["iprepositorio"] ."_".$rs->campos["nombreca"]."_".$rs->campos["idimagen"].'_'.$rs->campos["idperfilsoft"].'" ';
+ //$SelectHtml.='<OPTION value="'.$rs->campos["nombreca"] . '" ';
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["descripcion"] .' ('.$rs->campos["nombrerepo"].') </OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ else
+ {
+ $SelectHtml.='<option value=""> ERROR: Ambito con multiples Repositorios --</option>';
+
+ }
+ return($SelectHtml);
+}
+
+
+
+function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw)
+{
+ $SelectHtml="";
+ $cmd->texto="SELECT *,repositorios.ip as iprepositorio FROM imagenes
+ INNER JOIN repositorios ON repositorios.idrepositorio=imagenes.idrepositorio";
+ if($sw) // Imágenes con el mismo tipo de partición
+ $cmd->texto.= " WHERE imagenes.codpar=".$codpar;
+ else
+ $cmd->texto.= " WHERE imagenes.codpar<>".$codpar;
+
+ $cmd->texto.=" AND imagenes.numpar>0 AND imagenes.codpar>0 AND imagenes.idrepositorio>0"; // La imagene debe existir y estar creada
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ if($sw) $des=1; else $des=0;
+ $SelectHtml.= '<SELECT class="formulariodatos" id="despleimagen_'.$icp.'_'.$des.'" style="WIDTH:220">';
+ $SelectHtml.= ' <OPTION value="0"></OPTION>';
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["idimagen"]."_".$rs->campos["nombreca"]."_".$rs->campos["iprepositorio"]."_".$rs->campos["idperfilsoft"].'"';
+ if($idimagen==$rs->campos["idimagen"]) $SelectHtml.=" selected ";
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["descripcion"].'</OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ $SelectHtml.= '</SELECT>';
+ return($SelectHtml);
+}
+
+
+
+function htmlOPTION_typepartnotcache($cmd)
+{
+ $SelectHtml="";
+ $cmd->texto='SELECT tipopar FROM tipospar WHERE NOT tipopar = "CACHE"';
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+ //$SelectHtml.= '<SELECT class="formulariodatos" name="nombre" id="identificador" style="WIDTH:220" ;" >';
+ //$SelectHtml.= ' <OPTION value="0"></OPTION>';
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["tipopar"] . '" ';
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["tipopar"] .'</OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ //$SelectHtml.= '</SELECT>';
+ return($SelectHtml);
+}
+
+
+function htmlForm_typepart($cmd,$numpar)
+{
+ $SelectHtml="";
+ $cmd->texto='SELECT DISTINCT tipopar FROM tipospar
+ JOIN ordenadores_particiones ON ordenadores_particiones.codpar = tipospar.codpar
+ WHERE numpar = ' .$numpar;
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $valor=$rs->campos["tipopar"];
+ $SelectHtml.='<option value="'.$valor.'"> '.$valor.' </option>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ return($SelectHtml);
+}
+
+
+function htmlForm_typepartnotcacheEngine10($npart)
+{
+$SelectHtml="";
+if ($npart == 4) {
+ $SelectHtml.='<OPTION value="CACHE"> CACHE </OPTION>';
+}
+$SelectHtml.='<OPTION value="NTFS"> NTFS </OPTION>';
+$SelectHtml.='<OPTION value="FAT32"> FAT32 </OPTION>';
+$SelectHtml.='<OPTION value="FAT16"> FAT16 </OPTION>';
+$SelectHtml.='<OPTION value="FAT12"> FAT12 </OPTION>';
+$SelectHtml.='<OPTION value="HNTFS"> Hidden NTFS </OPTION>';
+$SelectHtml.='<OPTION value="HFAT32"> Hidden FAT32 </OPTION>';
+$SelectHtml.='<OPTION value="HFAT16"> Hidden FAT16 </OPTION>';
+$SelectHtml.='<OPTION value="HFAT12"> Hidden FAT12 </OPTION>';
+$SelectHtml.='<OPTION value="LINUX"> LINUX </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-SWAP"> LINUX-SWAP </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-RAID"> LINUX-RAID </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-LVM"> LINUX-LVM </OPTION>';
+$SelectHtml.='<OPTION value="HFS"> HFS </OPTION>';
+$SelectHtml.='<OPTION value="FREEBSD"> FREEBSD </OPTION>';
+$SelectHtml.='<OPTION value="OPENBSD"> OPENBSD </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS"> SOLARIS </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS-BOOT"> SOLARIS-BOOT </OPTION>';
+$SelectHtml.='<OPTION value="VMFS"> VMFS </OPTION>';
+$SelectHtml.='<OPTION value="DATA"> DATA </OPTION>';
+$SelectHtml.='<OPTION value="EFI"> EFI </OPTION>';
+$SelectHtml.='<OPTION value="GPT"> GPT </OPTION>';
+if ($npart <= 4) {
+ $SelectHtml.='<OPTION value="EXTENDED"> EXTENDED </OPTION>';
+}
+return($SelectHtml);
+}
+
+function htmlForm_typepartnotcacheGPT($npart)
+{
+$SelectHtml="";
+if ($npart == 4) {
+ $SelectHtml.='<OPTION value="CACHE"> CACHE </OPTION>';
+}
+$SelectHtml.='<OPTION value="WINDOWS"> Windows </OPTION>';
+$SelectHtml.='<OPTION value="WIN-RESERV"> Windows Reserved </OPTION>';
+$SelectHtml.='<OPTION value="LINUX"> Linux </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-RESERV"> Linux Reserved </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-SWAP"> Linux Swap </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-RAID"> Linux RAID </OPTION>';
+$SelectHtml.='<OPTION value="LINUX-LVM"> Linux LVM </OPTION>';
+$SelectHtml.='<OPTION value="CHROMEOS"> ChromeOS </OPTION>';
+$SelectHtml.='<OPTION value="CHROMEOS-KRN"> ChromeOS Kernel </OPTION>';
+$SelectHtml.='<OPTION value="CHROMEOS-RESERV"> ChromeOS Reserved </OPTION>';
+$SelectHtml.='<OPTION value="HFS"> MacOS HFS </OPTION>';
+$SelectHtml.='<OPTION value="HFS-BOOT"> MacOS HFS Boot </OPTION>';
+$SelectHtml.='<OPTION value="HFS-RAID"> MacOS HFS RAID </OPTION>';
+$SelectHtml.='<OPTION value="FREEBSD"> FreeBSD </OPTION>';
+$SelectHtml.='<OPTION value="FREEBSD-DISK"> FreeBSD Disk </OPTION>';
+$SelectHtml.='<OPTION value="FREEBSD-BOOT"> FreeBSD Boot </OPTION>';
+$SelectHtml.='<OPTION value="FREEBSD-SWAP"> FreeBSD Swap </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS"> Solaris </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS-DISK"> Solaris Disk </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS-BOOT"> Solaris Boot </OPTION>';
+$SelectHtml.='<OPTION value="SOLARIS-SWAP"> Solaris Swap </OPTION>';
+$SelectHtml.='<OPTION value="EFI"> EFI </OPTION>';
+$SelectHtml.='<OPTION value="MBR"> MBR </OPTION>';
+$SelectHtml.='<OPTION value="BIOS-BOOT"> BIOS Boot </OPTION>';
+return($SelectHtml);
+}
+
+function htmlForm_sizepart($cmd,$numpar)
+{
+ $SelectHtml="";
+ $cmd->texto='SELECT DISTINCT tamano FROM ordenadores_particiones WHERE numpar = ' .$numpar . ' AND NOT tamano = 0';
+ $rs=new Recordset;
+ $rs->Comando=&$cmd;
+
+ if ($rs->Abrir()){
+ $rs->Primero();
+ while (!$rs->EOF){
+ $SelectHtml.='<OPTION value="'.$rs->campos["tamano"] . '" ';
+ $SelectHtml.='>';
+ $SelectHtml.= $rs->campos["tamano"] .'</OPTION>';
+ $rs->Siguiente();
+ }
+ $rs->Cerrar();
+ }
+ return($SelectHtml);
+}
+
+
+function pintaParticionesAsistenteDeployImage($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>';
+
+ $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
+ 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);
+
+ //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>&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=rigth>&nbsp;'.formatomiles($tbKeys[$k]["tamano"]).'&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);
+
+ //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'</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 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>';
+}
+
+?>
diff --git a/admin/WebConsole/comandos/RestaurarImagen.php b/admin/WebConsole/comandos/RestaurarImagen.php
index 033f11a3..047f6174 100644
--- a/admin/WebConsole/comandos/RestaurarImagen.php
+++ b/admin/WebConsole/comandos/RestaurarImagen.php
@@ -172,7 +172,7 @@ function HTMLSELECT_imagenes($cmd,$idimagen,$numpar,$codpar,$icp,$sw,$idambito,$
$selectrepo='select idrepositorio from repositorios INNER JOIN aulas where repositorios.idcentro=aulas.idcentro AND idaula='.$idambito;
break;
}
- $cmd->texto.=" AND repositorios.idrepositorio IN (".$selectrepo.")";
+ $cmd->texto.=" AND repositorios.idrepositorio IN (".$selectrepo.") ORDER BY imagenes.descripcion";
$rs=new Recordset;
$rs->Comando=&$cmd;