source: admin/WebConsole/comandos/includes/FiltradoAmbito.php @ f6045a5

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 f6045a5 was 83b9c80, checked in by ramon <ramongomez@…>, 9 years ago

#739: incluir estados de sesión Linux y Windows en sondeo de aula y filtro de ordenadores.

git-svn-id: https://opengnsys.es/svn/branches/version1.1@4841 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 12.5 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 align=center 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 align=center 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 align=center 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 align=center 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</TR>
192</TABLE>';
193       
194        $htmlCode.='<BR>';                                     
195        $htmlCode.='<TABLE id="tbo-'.$cid.'" border=0 align=center>';
196        $htmlCode.='<TR>';
197               
198        while (!$rs->EOF){
199                $htmlCode.='<TD style="BORDER-BOTTOM: #999999 1px solid;BORDER-LEFT: #999999 1px solid;BORDER-RIGHT: #999999 1px solid;BORDER-TOP: #999999 1px solid;">';
200                $nombreordenador=$rs->campos["nombreordenador"];
201                $ip=$rs->campos["ip"];
202                $cadenaip.=$ip.";";
203                $htmlCode.='<TABLE  cellspacing=1 cellpadding=0>';
204                $htmlCode.='    <TR><TD align="center"><img sondeo="ordenador_OFF.png" id="img-'.$ip.'" width=24 src="../images/ordenador_OFF.png"></TD></TR>';
205                $htmlCode.='    <TR><TD align="center"><SPAN style="FONT-SIZE:9px;      COLOR: #4f4f4f;">'.$nombreordenador.'</SPAN></TD></TR>';                       
206                $htmlCode.='    <TR><TD align="center"><SPAN style="FONT-SIZE:8px;      COLOR: #4f4f4f;">'.$ip.'</SPAN></TD></TR>';                     
207                $htmlCode.='    <TR><TD align="center"><INPUT id="chk-'.$ip.'" type="checkbox" checked></TD></TR>';     
208                $htmlCode.='</TABLE>';
209                $htmlCode.='</TD>';
210                $con++;
211                if($con>15){
212                        $htmlCode.='</TR>';
213                        $htmlCode.='<TR>';
214                        $con=0;
215                }
216                $rs->Siguiente();
217        }
218        $htmlCode.='</TR>';
219        $htmlCode.='</TABLE>';
220        echo $htmlCode;
221}
222//______________________________________________________________________________________________________
223//
224echo '<SCRIPT language="javascript">';
225echo 'var cid='.$cid.';';
226echo '</SCRIPT>';
227?>
228<SCRIPT language="javascript">
229function Sondeo(){
230        var ambito=<? echo $ambito?>;
231        var idambito=<? echo $idambito?>;
232        var wurl="../principal/sondeo.php";
233        var prm="ambito="+ambito+"&idambito="+idambito+"&sw=1";
234        CallPage(wurl,prm,"retornoSondeo","POST");
235        setTimeout("respuestaSondeo();",100);   
236}
237//______________________________________________________________________________________________________
238//
239function retornoSondeo(resul)
240{
241        // No se hace nada
242}
243//________________________________________________________________________________________________________
244//
245function respuestaSondeo(){
246        var ambito=<? echo $ambito?>;
247        var idambito=<? echo $idambito?>;
248        var wurl="../principal/sondeo.php";
249        var prm="ambito="+ambito+"&idambito="+idambito+"&sw=2";
250        CallPage(wurl,prm,"retornorespuestaSondeo","POST");
251        setTimeout("respuestaSondeo();",5000); 
252}
253//______________________________________________________________________________________________________
254//
255function retornorespuestaSondeo(resul)
256{
257        if(resul.length>0){
258                var ip=""; // Dirección IP del ordenador
259                var so=""; // Sistema operativo activo
260                var objOrd=null; // Objeto ordenador
261                var imgOrd="";
262                var cadena=resul.split(";");
263                for (var i=0;i<cadena.length;i++){
264                        var dual=cadena[i].split("/");
265                        ip=dual[0].replace(/\n*/,"");
266                        so=dual[1];
267                        objOrd=document.getElementById("img-"+ip);
268                        if(objOrd){
269                                        imgOrd=soIMG(so);
270                                        if(objOrd.getAttribute("sondeo")!=imgOrd){
271                                                objOrd.setAttribute("src", "../images/"+imgOrd);
272                                                objOrd.setAttribute("sondeo",imgOrd);
273                                                var objChk=document.getElementById("chk-"+ip);
274                                                if(objChk)
275                                                        objChk.checked=true;
276                                        }
277                        }               
278                }
279        }
280}
281//______________________________________________________________________________________________________
282//
283function soIMG(so)
284{
285        var MimgOrdenador="";
286        switch(so){
287                case 'INI':
288                        MimgOrdenador="ordenador_INI.png";  // Cliente iniciando
289                        break;
290                case 'BSY':
291                        MimgOrdenador="ordenador_BSY.png";  // Cliente ocupado
292                        break;
293                case 'OPG':
294                        MimgOrdenador="ordenador_OPG.png";  // Cliente OpenGnsys
295                        break;
296                case 'WIN':
297                case 'WXP':
298                        MimgOrdenador="ordenador_WIN.png";  // Windows
299                        break;
300                case 'WINS':
301                        MimgOrdenador="ordenador_WINS.png"; // Sesión Windows
302                        break;
303                case 'LNX':
304                        MimgOrdenador="ordenador_LNX.png";  // Linux
305                        break;
306                case 'LNXS':
307                        MimgOrdenador="ordenador_LNXS.png"; // Sesión Linux
308                        break;
309                default:
310                        MimgOrdenador="ordenador_OFF.png";      // Apagado
311                        break;
312        }
313        return(MimgOrdenador);
314}
315//______________________________________________________________________________________________________
316//
317function selector(oSLCT,op,id)
318{
319        var sw=oSLCT.checked;
320        var objTB=document.getElementById("tbo-"+id);
321       
322                if(objTB){
323                        var imagenes = objTB.getElementsByTagName('img');
324                        for(var i=0;i<imagenes.length;i++){
325                                var ip=imagenes[i].id.split("-")[1];
326                                var estado=imagenes[i].getAttribute("sondeo");
327                               
328                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox
329
330                                switch(parseInt(op)){
331                                        case 1: // Apagados                                             
332                                                if(estado=="ordenador_OFF.png")
333                                                        oCHK.checked=sw;
334                                                break; 
335                                               
336                                        case 2: // Ocupados
337                                                if(estado=="ordenador_BSY.png")
338                                                        oCHK.checked=sw;
339                                                break;
340                                               
341                                        case 3: // Opengnsys
342                                                if(estado=="ordenador_OPG.png")
343                                                        oCHK.checked=sw;
344                                                break;
345                                               
346                                        case 4: // Windows
347                                                if(estado=="ordenador_WIN.png")
348                                                        oCHK.checked=sw;
349                                                break;
350                                               
351                                        case 5: // Windows
352                                                if(estado=="ordenador_WINS.png")
353                                                        oCHK.checked=sw;
354                                                break;
355                                               
356                                        case 5: // Linux
357                                                if(estado=="ordenador_LNX.png")
358                                                        oCHK.checked=sw;
359                                                break;
360
361                                        case 7: // Linux
362                                                if(estado=="ordenador_LNXS.png")
363                                                        oCHK.checked=sw;
364                                                break;
365
366       
367                                }
368                        }
369                }
370}
371
372//______________________________________________________________________________________________________
373//
374function filtrado()
375{
376        var ipes="";
377        for(j=1;j<=cid;j++){
378
379                var objTB=document.getElementById("tbo-"+j);
380                if(objTB){
381                        var imagenes = objTB.getElementsByTagName('img');
382                        for(var i=0;i<imagenes.length;i++){
383                                var ip=imagenes[i].id.split("-")[1];
384                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox                     
385                                if(oCHK.checked){
386                                        ipes+=ip+";";
387                                }
388                        }
389                }
390        }
391        var preipes=document.getElementById("cadenaip").value;
392        if(preipes!=ipes)
393                document.fdatosejecucion.filtro.value=ipes;
394        else
395                document.fdatosejecucion.filtro.value="";
396}
397</SCRIPT>
398
Note: See TracBrowser for help on using the repository browser.