[64af069] | 1 | <?php |
---|
| 2 | // ****************************************************************************************************************** |
---|
| 3 | // Aplicación WEB: ogAdmWebCon |
---|
| 4 | // Autor: José Manuel Alonso (E.T.S.I.I.) Universidad de Sevilla |
---|
| 5 | // Fecha Creación: Año 2012 |
---|
| 6 | // Fecha última modificación: Febrero-2012 |
---|
| 7 | // Nombre del fichero: FiltradoAmbito.php |
---|
| 8 | // Descripción: |
---|
| 9 | // Colección de funciones en php y javascript que implementan la posibilidad de aplicar filtro de selección |
---|
| 10 | // a un determinado grupo de ordenadores dentro de un aula para aplicarles comandos. |
---|
| 11 | // |
---|
| 12 | // ******************************************************************************************************************** |
---|
| 13 | // |
---|
| 14 | include_once("../idiomas/php/".$idioma."/estados_".$idioma.".php"); |
---|
| 15 | |
---|
| 16 | $cadenaip=""; |
---|
| 17 | $cid=0; // Identificadores para tablas de ordenadores |
---|
| 18 | |
---|
| 19 | |
---|
| 20 | $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito; |
---|
| 21 | RecorriendoAulas($cmd); |
---|
| 22 | |
---|
| 23 | |
---|
| 24 | echo '<P><INPUT type="hidden" id="cadenaip" value="'.$cadenaip.'"></P>'; |
---|
| 25 | echo '<P><INPUT type="hidden" name="num" value="'.$num.'"></P>'; |
---|
| 26 | //________________________________________________________________________________________________________ |
---|
| 27 | // |
---|
| 28 | //________________________________________________________________________________________________________ |
---|
| 29 | // |
---|
| 30 | //________________________________________________________________________________________________________ |
---|
| 31 | // |
---|
| 32 | function RecorriendoAulas($cmd) |
---|
| 33 | { |
---|
| 34 | global $TbMsg; |
---|
| 35 | global $netmask; |
---|
| 36 | |
---|
| 37 | $rs=new Recordset; |
---|
| 38 | $rs->Comando=&$cmd; |
---|
| 39 | if (!$rs->Abrir()) return; // Error al abrir recordset |
---|
| 40 | $rs->Primero(); |
---|
| 41 | while (!$rs->EOF){ |
---|
| 42 | $idaula=$rs->campos["idaula"]; |
---|
| 43 | $nombreaula=$rs->campos["nombreaula"]; |
---|
| 44 | $netmask=$rs->campos["netmask"]; |
---|
| 45 | |
---|
| 46 | $urlimg='../images/iconos/aula.gif'; |
---|
| 47 | $ambito=$TbMsg[2]; |
---|
| 48 | echo '<p align=center><IMG src="'.$urlimg.'"> |
---|
| 49 | <span class=subcabeceras><U>'.$ambito.':'.$nombreaula.'</U></span></p>'; |
---|
| 50 | |
---|
| 51 | $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE idaula=".$idaula; |
---|
| 52 | RecorriendoOrdenadores($cmd); |
---|
| 53 | $rs->Siguiente(); |
---|
| 54 | } |
---|
| 55 | $rs->Cerrar(); |
---|
| 56 | } |
---|
| 57 | //________________________________________________________________________________________________________ |
---|
| 58 | // |
---|
| 59 | //____________________________________________________________________________________________________ |
---|
| 60 | // |
---|
| 61 | function RecorriendoOrdenadores($cmd) |
---|
| 62 | { |
---|
| 63 | global $TbMsg; |
---|
| 64 | global $cadenaip; |
---|
| 65 | global $cid; |
---|
| 66 | global $movordaul; |
---|
| 67 | global $num; |
---|
| 68 | global $cadenaidord; |
---|
| 69 | |
---|
| 70 | $cid++; |
---|
| 71 | $cmd->texto.= " ORDER BY nombreordenador"; |
---|
| 72 | $rs=new Recordset; |
---|
| 73 | $rs->Comando=&$cmd; |
---|
| 74 | if (!$rs->Abrir()) return; // Error al abrir recordset |
---|
| 75 | $rs->Primero(); |
---|
| 76 | $htmlCode=""; |
---|
| 77 | $con=0; |
---|
| 78 | $num=0; |
---|
| 79 | |
---|
| 80 | $htmlCode.='<BR>'; |
---|
| 81 | $htmlCode.='<TABLE id="tbo-'.$cid.'" border=0 align=center>'; |
---|
| 82 | $htmlCode.='<TR>'; |
---|
| 83 | |
---|
| 84 | while (!$rs->EOF){ |
---|
| 85 | $htmlCode.= '<TD style="border: 1px solid #999999;">'; |
---|
| 86 | $idordenador=$rs->campos["idordenador"]; |
---|
| 87 | $nombreordenador=$rs->campos["nombreordenador"]; |
---|
| 88 | $ip=$rs->campos["ip"]; |
---|
| 89 | $cadenaip.=$ip.";"; |
---|
| 90 | $htmlCode.='<TABLE cellspacing=1 cellpadding=0>'; |
---|
| 91 | $htmlCode.=' <TR><TD align="center"><img sondeo="ordenador_OFF.png" id="img-'.$ip.'" width=24 src="../images/ordenador_OFF.png"></TD></TR>'; |
---|
| 92 | $htmlCode.=' <TR><TD align="center"><SPAN style="FONT-SIZE:9px; COLOR: #4f4f4f;">'.$nombreordenador.'</SPAN></TD></TR>'; |
---|
| 93 | $htmlCode.=' <TR><TD align="center"><SPAN style="FONT-SIZE:8px; COLOR: #4f4f4f;">'.$ip.'</SPAN></TD></TR>'; |
---|
| 94 | $htmlCode.=' <TR><TD align="center"><INPUT type="checkbox" name="chk-'.$num.'" value="'.$idordenador.'"></TD></TR>'; |
---|
| 95 | $htmlCode.=' <TR><TD align="center"><INPUT type="hidden" name="select_num" value="'.$num.'"></TD></TR>'; |
---|
| 96 | $htmlCode.='</TABLE>'; |
---|
| 97 | $htmlCode.='</TD>'; |
---|
| 98 | $con++; |
---|
| 99 | if($con>15){ |
---|
| 100 | $htmlCode.='</TR>'; |
---|
| 101 | $htmlCode.='<TR>'; |
---|
| 102 | $con=0; |
---|
| 103 | } |
---|
| 104 | $num++; |
---|
| 105 | $rs->Siguiente(); |
---|
| 106 | } |
---|
| 107 | $htmlCode.='</TR>'; |
---|
| 108 | $htmlCode.='</TABLE>'; |
---|
| 109 | echo $htmlCode; |
---|
| 110 | } |
---|
| 111 | //______________________________________________________________________________________________________ |
---|
| 112 | // |
---|
| 113 | echo '<SCRIPT language="javascript">'; |
---|
| 114 | echo 'var cid='.$cid.';'; |
---|
| 115 | echo '</SCRIPT>'; |
---|
| 116 | ?> |
---|
| 117 | <SCRIPT language="javascript"> |
---|
| 118 | function Sondeo(){ |
---|
| 119 | var ambito=<?php echo $ambito?>; |
---|
| 120 | var idambito=<?php echo $idambito?>; |
---|
| 121 | var wurl="../principal/sondeo.php"; |
---|
| 122 | var prm="ambito="+ambito+"&idambito="+idambito+"&sw=1"; |
---|
| 123 | CallPage(wurl,prm,"retornoSondeo","POST"); |
---|
| 124 | setTimeout("respuestaSondeo();",100); |
---|
| 125 | } |
---|
| 126 | //______________________________________________________________________________________________________ |
---|
| 127 | // |
---|
| 128 | function retornoSondeo(resul) |
---|
| 129 | { |
---|
| 130 | // No se hace nada |
---|
| 131 | } |
---|
| 132 | //________________________________________________________________________________________________________ |
---|
| 133 | // |
---|
| 134 | function respuestaSondeo(){ |
---|
| 135 | var ambito=<?php echo $ambito?>; |
---|
| 136 | var idambito=<?php echo $idambito?>; |
---|
| 137 | var wurl="../principal/sondeo.php"; |
---|
| 138 | var prm="ambito="+ambito+"&idambito="+idambito+"&sw=2"; |
---|
| 139 | CallPage(wurl,prm,"retornorespuestaSondeo","POST"); |
---|
| 140 | setTimeout("respuestaSondeo();",5000); |
---|
| 141 | } |
---|
| 142 | //______________________________________________________________________________________________________ |
---|
| 143 | // |
---|
| 144 | function retornorespuestaSondeo(resul) |
---|
| 145 | { |
---|
| 146 | if(resul.length>0){ |
---|
| 147 | var ip=""; // Dirección IP del ordenador |
---|
| 148 | var so=""; // Sistema operativo activo |
---|
| 149 | var objOrd=null; // Objeto ordenador |
---|
| 150 | var imgOrd=""; |
---|
| 151 | var cadena=resul.split(";"); |
---|
| 152 | for (var i=0;i<cadena.length;i++){ |
---|
| 153 | var dual=cadena[i].split("/"); |
---|
| 154 | ip=dual[0].replace(/\n*/,""); |
---|
| 155 | so=dual[1]; |
---|
| 156 | objOrd=document.getElementById("img-"+ip); |
---|
| 157 | if(objOrd){ |
---|
| 158 | imgOrd=soIMG(so); |
---|
| 159 | if(objOrd.getAttribute("sondeo")!=imgOrd){ |
---|
| 160 | objOrd.setAttribute("src", "../images/"+imgOrd); |
---|
| 161 | objOrd.setAttribute("sondeo",imgOrd); |
---|
| 162 | var objChk=document.getElementById("chk-"+ip); |
---|
| 163 | if(objChk) |
---|
| 164 | objChk.checked=true; |
---|
| 165 | } |
---|
| 166 | } |
---|
| 167 | } |
---|
| 168 | } |
---|
| 169 | } |
---|
| 170 | //______________________________________________________________________________________________________ |
---|
| 171 | // |
---|
| 172 | function soIMG(so) |
---|
| 173 | { |
---|
| 174 | var MimgOrdenador=""; |
---|
| 175 | switch(so){ |
---|
| 176 | case 'INI': |
---|
| 177 | MimgOrdenador="ordenador_INI.png"; // Cliente iniciando |
---|
| 178 | break; |
---|
| 179 | case 'BSY': |
---|
| 180 | MimgOrdenador="ordenador_BSY.png"; // Cliente ocupado |
---|
| 181 | break; |
---|
| 182 | case 'OPG': |
---|
| 183 | MimgOrdenador="ordenador_OPG.png"; // Cliente OpenGnsys |
---|
| 184 | break; |
---|
| 185 | case 'WIN': |
---|
| 186 | case 'WXP': |
---|
| 187 | MimgOrdenador="ordenador_WIN.png"; // Windows |
---|
| 188 | break; |
---|
| 189 | case 'WINS': |
---|
| 190 | MimgOrdenador="ordenador_WINS.png"; // Sesión Windows |
---|
| 191 | break; |
---|
| 192 | case 'LNX': |
---|
| 193 | MimgOrdenador="ordenador_LNX.png"; // Linux |
---|
| 194 | break; |
---|
| 195 | case 'LNXS': |
---|
| 196 | MimgOrdenador="ordenador_LNXS.png"; // Sesión Linux |
---|
| 197 | break; |
---|
| 198 | case 'OSX': |
---|
| 199 | MimgOrdenador="ordenador_OSX.png"; // macOS |
---|
| 200 | break; |
---|
| 201 | default: |
---|
| 202 | MimgOrdenador="ordenador_OFF.png"; // Apagado |
---|
| 203 | break; |
---|
| 204 | } |
---|
| 205 | return(MimgOrdenador); |
---|
| 206 | } |
---|
| 207 | //______________________________________________________________________________________________________ |
---|
| 208 | // |
---|
| 209 | function selector(oSLCT,op,id) |
---|
| 210 | { |
---|
| 211 | var sw=oSLCT.checked; |
---|
| 212 | var objTB=document.getElementById("tbo-"+id); |
---|
| 213 | |
---|
| 214 | if(objTB){ |
---|
| 215 | var imagenes = objTB.getElementsByTagName('img'); |
---|
| 216 | for(var i=0;i<imagenes.length;i++){ |
---|
| 217 | var ip=imagenes[i].id.split("-")[1]; |
---|
| 218 | var estado=imagenes[i].getAttribute("sondeo"); |
---|
| 219 | var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox |
---|
| 220 | |
---|
| 221 | switch(parseInt(op)){ |
---|
| 222 | case 1: // Apagados |
---|
| 223 | if(estado=="ordenador_OFF.png") |
---|
| 224 | oCHK.checked=sw; |
---|
| 225 | break; |
---|
| 226 | case 2: // Ocupados |
---|
| 227 | if(estado=="ordenador_BSY.png") |
---|
| 228 | oCHK.checked=sw; |
---|
| 229 | break; |
---|
| 230 | case 3: // OpenGnsys |
---|
| 231 | if(estado=="ordenador_OPG.png") |
---|
| 232 | oCHK.checked=sw; |
---|
| 233 | break; |
---|
| 234 | case 4: // Windows |
---|
| 235 | if(estado=="ordenador_WIN.png") |
---|
| 236 | oCHK.checked=sw; |
---|
| 237 | break; |
---|
| 238 | case 5: // Sesión Windows |
---|
| 239 | if(estado=="ordenador_WINS.png") |
---|
| 240 | oCHK.checked=sw; |
---|
| 241 | break; |
---|
| 242 | case 6: // Linux |
---|
| 243 | if(estado=="ordenador_LNX.png") |
---|
| 244 | oCHK.checked=sw; |
---|
| 245 | break; |
---|
| 246 | case 7: // Sesión Linux |
---|
| 247 | if(estado=="ordenador_LNXS.png") |
---|
| 248 | oCHK.checked=sw; |
---|
| 249 | break; |
---|
| 250 | case 8: // macOS |
---|
| 251 | if(estado=="ordenador_OSX.png") |
---|
| 252 | oCHK.checked=sw; |
---|
| 253 | break; |
---|
| 254 | } |
---|
| 255 | } |
---|
| 256 | } |
---|
| 257 | } |
---|
| 258 | |
---|
| 259 | //______________________________________________________________________________________________________ |
---|
| 260 | // |
---|
| 261 | function filtrado() |
---|
| 262 | { |
---|
| 263 | var ipes=""; |
---|
| 264 | for(var j=1; j<=cid; j++){ |
---|
| 265 | |
---|
| 266 | var objTB=document.getElementById("tbo-"+j); |
---|
| 267 | if(objTB){ |
---|
| 268 | var imagenes = objTB.getElementsByTagName('img'); |
---|
| 269 | for(var i=0;i<imagenes.length;i++){ |
---|
| 270 | var ip=imagenes[i].id.split("-")[1]; |
---|
| 271 | var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox |
---|
| 272 | if(oCHK.checked){ |
---|
| 273 | ipes+=ip+";"; |
---|
| 274 | } |
---|
| 275 | } |
---|
| 276 | } |
---|
| 277 | } |
---|
| 278 | var preipes=document.getElementById("cadenaip").value; |
---|
| 279 | if(preipes!=ipes) |
---|
| 280 | document.fdatosejecucion.filtro.value=ipes; |
---|
| 281 | else |
---|
| 282 | document.fdatosejecucion.filtro.value=""; |
---|
| 283 | } |
---|
| 284 | </SCRIPT> |
---|
| 285 | |
---|