source: admin/WebConsole/comandos/includes/FiltradoAmbito.php @ 52ff489

918-git-images-111dconfigfileconfigure-oglivegit-imageslgromero-new-oglivemainmaint-cronmount-efivarfsmultivmmultivm-ogboot-installerogClonningEngineogboot-installer-jenkinsoglive-ipv6test-python-scriptsticket-301ticket-50ticket-50-oldticket-577ticket-585ticket-611ticket-612ticket-693ticket-700ubu24tplunification2use-local-agent-oglivevarios-instalacionwebconsole3
Last change on this file since 52ff489 was 79a6616, checked in by Ramón M. Gómez <ramongomez@…>, 6 years ago

#834: Fix some HTML tags, remove trailing tabs and convert newlines to Unix format.

  • Property mode set to 100644
File size: 12.2 KB
Line 
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//
14include_once("../idiomas/php/".$idioma."/estados_".$idioma.".php");
15
16$cadenaip="";
17$cid=0; // Identificadores para tablas de ordenadores
18switch($ambito)
19{
20        case $AMBITO_CENTROS :
21                $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito;
22                RecorriendoCentro($cmd);
23                break;
24        case $AMBITO_GRUPOSAULAS :
25                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE tipo=".$AMBITO_GRUPOSAULAS." AND idgrupo=".$idambito;
26                RecorriendoGruposAulas($cmd);
27                break;
28        case $AMBITO_AULAS :
29                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito;
30                RecorriendoAulas($cmd);
31                break;
32        case $AMBITO_GRUPOSORDENADORES :
33                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito;
34                RecorriendoGruposOrdenadores($cmd);
35                break;
36}
37echo '<P><INPUT type="hidden" id="cadenaip" value="'.$cadenaip.'"></P>';
38//________________________________________________________________________________________________________
39//
40function RecorriendoCentro($cmd)
41{
42        global $AMBITO_GRUPOSAULAS;
43        global $TbMsg;
44
45        $rs=new Recordset;
46        $rs->Comando=&$cmd;
47        if (!$rs->Abrir()) return; // Error al abrir recordset
48        $rs->Primero();
49        if(!$rs->EOF){
50                $idcentro=$rs->campos["idcentro"];
51                $nombrecentro=$rs->campos["nombrecentro"];
52
53                $urlimg='../images/iconos/centros.gif';
54                $ambito=$TbMsg[0];
55                echo '<p align=center><IMG src="'.$urlimg.'">&nbsp;&nbsp;
56                <span class=subcabeceras><U>'.$ambito.':'.$nombrecentro.'</U></span></p>';
57
58                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0
59                                                AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo ";
60                RecorriendoGruposAulas($cmd);
61                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0 ORDER BY nombreaula";
62                RecorriendoAulas($cmd);
63        }
64        $rs->Cerrar();
65}
66//________________________________________________________________________________________________________
67//
68function RecorriendoGruposAulas($cmd)
69{
70        global $AMBITO_GRUPOSAULAS;
71        global $TbMsg;
72
73        $rs=new Recordset;
74        $rs->Comando=&$cmd;
75        if (!$rs->Abrir()) return; // Error al abrir recordset
76        $rs->Primero();
77        while (!$rs->EOF){
78                $idgrupo=$rs->campos["idgrupo"];
79                $nombregrupo=$rs->campos["nombregrupo"];
80
81                $urlimg='../images/iconos/carpeta.gif';
82                $ambito=$TbMsg[1];
83                echo '<p align=center><IMG src="'.$urlimg.'">&nbsp;&nbsp;
84                <span class=subcabeceras><U>'.$ambito.':'.$nombregrupo.'</U></span></p>';
85
86                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo."
87                                                AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo";
88                RecorriendoGruposAulas($cmd);
89                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE  grupoid=".$idgrupo." ORDER BY nombreaula";
90                RecorriendoAulas($cmd);
91                $rs->Siguiente();
92        }
93        $rs->Cerrar();
94}
95//________________________________________________________________________________________________________
96//
97function RecorriendoAulas($cmd)
98{
99        global $TbMsg;
100
101        $rs=new Recordset;
102        $rs->Comando=&$cmd;
103        if (!$rs->Abrir()) return; // Error al abrir recordset
104        $rs->Primero();
105        while (!$rs->EOF){
106                $idaula=$rs->campos["idaula"];
107                $nombreaula=$rs->campos["nombreaula"];
108
109                $urlimg='../images/iconos/aula.gif';
110                $ambito=$TbMsg[2];
111                echo '<p align=center><IMG src="'.$urlimg.'">&nbsp;&nbsp;
112                <span class=subcabeceras><U>'.$ambito.':'.$nombreaula.'</U></span></p>';
113
114                $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE  idaula=".$idaula;
115                RecorriendoOrdenadores($cmd);
116                $rs->Siguiente();
117        }
118        $rs->Cerrar();
119}
120//________________________________________________________________________________________________________
121//
122function RecorriendoGruposOrdenadores($cmd)
123{
124        global $TbMsg;
125
126        $rs=new Recordset;
127        $rs->Comando=&$cmd;
128        if (!$rs->Abrir()) return; // Error al abrir recordset
129        $rs->Primero();
130        while (!$rs->EOF){
131                $idgrupo=$rs->campos["idgrupo"];
132                $nombregrupo=$rs->campos["nombregrupo"];
133
134                $urlimg='../images/iconos/carpeta.gif';
135                $ambito=$TbMsg[3];
136                echo '<p align=center><IMG src="'.$urlimg.'">&nbsp;&nbsp;
137                <span class=subcabeceras><U>'.$ambito.':'.$nombregrupo.'</U></span></p>';
138
139                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador";
140                RecorriendoGruposOrdenadores($cmd);
141                $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE  grupoid=".$idgrupo;
142                RecorriendoOrdenadores($cmd);
143                $rs->Siguiente();
144        }
145        $rs->Cerrar();
146}
147//____________________________________________________________________________________________________
148//
149function RecorriendoOrdenadores($cmd)
150{
151        global $TbMsg;
152        global $cadenaip;
153        global $cid;
154
155        $cid++;
156        $cmd->texto.= " ORDER BY nombreordenador";
157        $rs=new Recordset;
158        $rs->Comando=&$cmd;
159        if (!$rs->Abrir()) return; // Error al abrir recordset
160        $rs->Primero();
161        $htmlCode="";
162        $con=0;
163
164        $htmlCode.='
165<TABLE border=0 class="tabla_busquedas" align=center>
166<TR>
167
168<TD align="center">'.$TbMsg["STATUS_OFF"].'</TD>
169<TD><INPUT  type="checkbox" checked onclick="selector(this,1,'.$cid.')"></TD>
170
171<TD align="center">'.$TbMsg["STATUS_BSY"].'</TD>
172<TD><INPUT   type="checkbox" checked onclick="selector(this,2,'.$cid.')"></TD>
173
174<TD align="center">'.$TbMsg["STATUS_OPG"].'</TD>
175<TD><INPUT  type="checkbox" checked onclick="selector(this,3,'.$cid.')"></TD>
176</TR>
177
178<TR>
179<TD align="center">'.$TbMsg["STATUS_WIN"].'</TD>
180<TD><INPUT  type="checkbox" checked onclick="selector(this,4,'.$cid.')"></TD>
181
182<TD align="center">'.$TbMsg["STATUS_WINS"].'</TD>
183<TD><INPUT  type="checkbox" checked onclick="selector(this,5,'.$cid.')"></TD>
184
185<TD align="center">'.$TbMsg["STATUS_LNX"].'</TD>
186<TD><INPUT  type="checkbox" checked onclick="selector(this,6,'.$cid.')"></TD>
187
188<TD align="center">'.$TbMsg["STATUS_LNXS"].'</TD>
189<TD><INPUT  type="checkbox" checked onclick="selector(this,7,'.$cid.')"></TD>
190
191<TD align="center">'.$TbMsg["STATUS_OSX"].'</TD>
192<TD><INPUT  type="checkbox" checked onclick="selector(this,8,'.$cid.')"></TD>
193
194</TR>
195</TABLE>';
196
197        $htmlCode.='<BR>';
198        $htmlCode.='<TABLE id="tbo-'.$cid.'" border=0 align=center>';
199        $htmlCode.='<TR>';
200
201        while (!$rs->EOF){
202                $htmlCode.= '<TD style="border: 1px solid #999999;">';
203                $nombreordenador=$rs->campos["nombreordenador"];
204                $ip=$rs->campos["ip"];
205                $cadenaip.=$ip.";";
206                $htmlCode.='<TABLE  cellspacing=1 cellpadding=0>';
207                $htmlCode.='    <TR><TD align="center"><img sondeo="ordenador_OFF.png" id="img-'.$ip.'" width=24 src="../images/ordenador_OFF.png"></TD></TR>';
208                $htmlCode.='    <TR><TD align="center"><SPAN style="FONT-SIZE:9px;      COLOR: #4f4f4f;">'.$nombreordenador.'</SPAN></TD></TR>';
209                $htmlCode.='    <TR><TD align="center"><SPAN style="FONT-SIZE:8px;      COLOR: #4f4f4f;">'.$ip.'</SPAN></TD></TR>';
210                $htmlCode.='    <TR><TD align="center"><INPUT id="chk-'.$ip.'" type="checkbox" checked></TD></TR>';
211                $htmlCode.='</TABLE>';
212                $htmlCode.='</TD>';
213                $con++;
214                if($con>15){
215                        $htmlCode.='</TR>';
216                        $htmlCode.='<TR>';
217                        $con=0;
218                }
219                $rs->Siguiente();
220        }
221        $htmlCode.='</TR>';
222        $htmlCode.='</TABLE>';
223        echo $htmlCode;
224}
225//______________________________________________________________________________________________________
226//
227echo '<SCRIPT language="javascript">';
228echo 'var cid='.$cid.';';
229echo '</SCRIPT>';
230?>
231<SCRIPT language="javascript">
232function Sondeo(){
233        var ambito=<?php echo $ambito?>;
234        var idambito=<?php echo $idambito?>;
235        var wurl="../principal/sondeo.php";
236        var prm="ambito="+ambito+"&idambito="+idambito+"&sw=1";
237        CallPage(wurl,prm,"retornoSondeo","POST");
238        setTimeout("respuestaSondeo();",100);
239}
240//______________________________________________________________________________________________________
241//
242function retornoSondeo(resul)
243{
244        // No se hace nada
245}
246//________________________________________________________________________________________________________
247//
248function respuestaSondeo(){
249        var ambito=<?php echo $ambito?>;
250        var idambito=<?php echo $idambito?>;
251        var wurl="../principal/sondeo.php";
252        var prm="ambito="+ambito+"&idambito="+idambito+"&sw=2";
253        CallPage(wurl,prm,"retornorespuestaSondeo","POST");
254        setTimeout("respuestaSondeo();",5000);
255}
256//______________________________________________________________________________________________________
257//
258function retornorespuestaSondeo(resul)
259{
260        if(resul.length>0){
261                var ip=""; // Dirección IP del ordenador
262                var so=""; // Sistema operativo activo
263                var objOrd=null; // Objeto ordenador
264                var imgOrd="";
265                var cadena=resul.split(";");
266                for (var i=0;i<cadena.length;i++){
267                        var dual=cadena[i].split("/");
268                        ip=dual[0].replace(/\n*/,"");
269                        so=dual[1];
270                        objOrd=document.getElementById("img-"+ip);
271                        if(objOrd){
272                                        imgOrd=soIMG(so);
273                                        if(objOrd.getAttribute("sondeo")!=imgOrd){
274                                                objOrd.setAttribute("src", "../images/"+imgOrd);
275                                                objOrd.setAttribute("sondeo",imgOrd);
276                                                var objChk=document.getElementById("chk-"+ip);
277                                                if(objChk)
278                                                        objChk.checked=true;
279                                        }
280                        }
281                }
282        }
283}
284//______________________________________________________________________________________________________
285//
286function soIMG(so)
287{
288        var MimgOrdenador="";
289        switch(so){
290                case 'INI':
291                        MimgOrdenador="ordenador_INI.png";  // Cliente iniciando
292                        break;
293                case 'BSY':
294                        MimgOrdenador="ordenador_BSY.png";  // Cliente ocupado
295                        break;
296                case 'OPG':
297                        MimgOrdenador="ordenador_OPG.png";  // Cliente OpenGnsys
298                        break;
299                case 'WIN':
300                case 'WXP':
301                        MimgOrdenador="ordenador_WIN.png";  // Windows
302                        break;
303                case 'WINS':
304                        MimgOrdenador="ordenador_WINS.png"; // Sesión Windows
305                        break;
306                case 'LNX':
307                        MimgOrdenador="ordenador_LNX.png";  // Linux
308                        break;
309                case 'LNXS':
310                        MimgOrdenador="ordenador_LNXS.png"; // Sesión Linux
311                        break;
312                case 'OSX':
313                        MimgOrdenador="ordenador_OSX.png";  // macOS
314                        break;
315                default:
316                        MimgOrdenador="ordenador_OFF.png";  // Apagado
317                        break;
318        }
319        return(MimgOrdenador);
320}
321//______________________________________________________________________________________________________
322//
323function selector(oSLCT,op,id)
324{
325        var sw=oSLCT.checked;
326        var objTB=document.getElementById("tbo-"+id);
327
328                if(objTB){
329                        var imagenes = objTB.getElementsByTagName('img');
330                        for(var i=0;i<imagenes.length;i++){
331                                var ip=imagenes[i].id.split("-")[1];
332                                var estado=imagenes[i].getAttribute("sondeo");
333                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox
334
335                                switch(parseInt(op)){
336                                        case 1: // Apagados
337                                                if(estado=="ordenador_OFF.png")
338                                                        oCHK.checked=sw;
339                                                break; 
340                                        case 2: // Ocupados
341                                                if(estado=="ordenador_BSY.png")
342                                                        oCHK.checked=sw;
343                                                break;
344                                        case 3: // OpenGnsys
345                                                if(estado=="ordenador_OPG.png")
346                                                        oCHK.checked=sw;
347                                                break;
348                                        case 4: // Windows
349                                                if(estado=="ordenador_WIN.png")
350                                                        oCHK.checked=sw;
351                                                break;
352                                        case 5: // Sesión Windows
353                                                if(estado=="ordenador_WINS.png")
354                                                        oCHK.checked=sw;
355                                                break;
356                                        case 6: // Linux
357                                                if(estado=="ordenador_LNX.png")
358                                                        oCHK.checked=sw;
359                                                break;
360                                        case 7: // Sesión Linux
361                                                if(estado=="ordenador_LNXS.png")
362                                                        oCHK.checked=sw;
363                                                break;
364                                        case 8: // macOS
365                                                if(estado=="ordenador_OSX.png")
366                                                        oCHK.checked=sw;
367                                                break;
368                                }
369                        }
370                }
371}
372
373//______________________________________________________________________________________________________
374//
375function filtrado()
376{
377        var ipes="";
378        for(var j=1; j<=cid; j++){
379
380                var objTB=document.getElementById("tbo-"+j);
381                if(objTB){
382                        var imagenes = objTB.getElementsByTagName('img');
383                        for(var i=0;i<imagenes.length;i++){
384                                var ip=imagenes[i].id.split("-")[1];
385                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox
386                                if(oCHK.checked){
387                                        ipes+=ip+";";
388                                }
389                        }
390                }
391        }
392        var preipes=document.getElementById("cadenaip").value;
393        if(preipes!=ipes)
394                document.fdatosejecucion.filtro.value=ipes;
395        else
396                document.fdatosejecucion.filtro.value="";
397}
398</SCRIPT>
399
Note: See TracBrowser for help on using the repository browser.