source: admin/WebConsole/comandos/includes/FiltradoAmbito.php @ 69650cb

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 69650cb was 69650cb, checked in by ramon <ramongomez@…>, 13 years ago

Versión 1.0.4, #505: Integrar código del ticket para filtro de ejecución comandos.

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

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