source: admin/WebConsole/comandos/includes/FiltradoAmbitoMovAulas.php @ 5249c5d

Last change on this file since 5249c5d was 756b483, checked in by OpenGnSys Support Team <soporte-og@…>, 5 years ago

#980 Add Virtual status

Since version 1.2.0, OpenGnsys supports ogVDI hypervisor OS. This commit
a new status which indicates that clients are running ogVDI

  • Property mode set to 100644
File size: 8.6 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
18
19
20                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito;
21                RecorriendoAulas($cmd);
22
23
24echo '<P><INPUT type="hidden" id="cadenaip" value="'.$cadenaip.'"></P>';
25echo '<P><INPUT type="hidden" name="num" value="'.$num.'"></P>';
26//________________________________________________________________________________________________________
27//
28//________________________________________________________________________________________________________
29//
30//________________________________________________________________________________________________________
31//
32function 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.'">&nbsp;&nbsp;
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//
61function 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//
113echo '<SCRIPT language="javascript">';
114echo 'var cid='.$cid.';';
115echo '</SCRIPT>';
116?>
117<SCRIPT language="javascript">
118function 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//
128function retornoSondeo(resul)
129{
130        // No se hace nada
131}
132//________________________________________________________________________________________________________
133//
134function 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//
144function 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//
172function 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                case 'VDI':
202                        MimgOrdenador="ordenador_VDI.png";  // macOS
203                        break;
204                default:
205                        MimgOrdenador="ordenador_OFF.png";  // Apagado
206                        break;
207        }
208        return(MimgOrdenador);
209}
210//______________________________________________________________________________________________________
211//
212function selector(oSLCT,op,id)
213{
214        var sw=oSLCT.checked;
215        var objTB=document.getElementById("tbo-"+id);
216
217                if(objTB){
218                        var imagenes = objTB.getElementsByTagName('img');
219                        for(var i=0;i<imagenes.length;i++){
220                                var ip=imagenes[i].id.split("-")[1];
221                                var estado=imagenes[i].getAttribute("sondeo");
222                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox
223
224                                switch(parseInt(op)){
225                                        case 1: // Apagados
226                                                if(estado=="ordenador_OFF.png")
227                                                        oCHK.checked=sw;
228                                                break; 
229                                        case 2: // Ocupados
230                                                if(estado=="ordenador_BSY.png")
231                                                        oCHK.checked=sw;
232                                                break;
233                                        case 3: // OpenGnsys
234                                                if(estado=="ordenador_OPG.png")
235                                                        oCHK.checked=sw;
236                                                break;
237                                        case 4: // Windows
238                                                if(estado=="ordenador_WIN.png")
239                                                        oCHK.checked=sw;
240                                                break;
241                                        case 5: // Sesión Windows
242                                                if(estado=="ordenador_WINS.png")
243                                                        oCHK.checked=sw;
244                                                break;
245                                        case 6: // Linux
246                                                if(estado=="ordenador_LNX.png")
247                                                        oCHK.checked=sw;
248                                                break;
249                                        case 7: // Sesión Linux
250                                                if(estado=="ordenador_LNXS.png")
251                                                        oCHK.checked=sw;
252                                                break;
253                                        case 8: // macOS
254                                                if(estado=="ordenador_OSX.png")
255                                                        oCHK.checked=sw;
256                                                break;
257                                        case 9: // Virtual
258                                                if(estado=="ordenador_VDI.png")
259                                                        oCHK.checked=sw;
260                                                break;
261                                }
262                        }
263                }
264}
265
266//______________________________________________________________________________________________________
267//
268function filtrado()
269{
270        var ipes="";
271        for(var j=1; j<=cid; j++){
272
273                var objTB=document.getElementById("tbo-"+j);
274                if(objTB){
275                        var imagenes = objTB.getElementsByTagName('img');
276                        for(var i=0;i<imagenes.length;i++){
277                                var ip=imagenes[i].id.split("-")[1];
278                                var oCHK = document.getElementById('chk-'+ip); // Recupera checkbox
279                                if(oCHK.checked){
280                                        ipes+=ip+";";
281                                }
282                        }
283                }
284        }
285        var preipes=document.getElementById("cadenaip").value;
286        if(preipes!=ipes)
287                document.fdatosejecucion.filtro.value=ipes;
288        else
289                document.fdatosejecucion.filtro.value="";
290}
291</SCRIPT>
292
Note: See TracBrowser for help on using the repository browser.