source: admin/WebConsole/includes/RecopilaIpesMacs.php

qndtest
Last change on this file was b6ec162, checked in by Ramón M. Gómez <ramongomez@…>, 5 years ago

#834: Remove all redundant PHP closing tags.

  • Property mode set to 100644
File size: 6.1 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 2009-2010
6// Fecha Última modificación: Agosto-2010
7// Nombre del fichero: RecopilaIpesMacs.php
8// Descripción :
9//              Recopila las IPes, las Macs y los identificadores de ordenadores de un ámbito determinado
10//
11// Especificaciones:
12//              Esta Función recibe tres parámatros:
13//                      cmd : Un objeto comando totalmente operativo
14//                      ambito:  Ámbito
15//                       idambito: Identificador del ámbito
16//
17//      Devuelve:
18//              Todas los identificadores de ordenadores , las ipes y las macs de los ordenadores que componen el ámbito
19//              Para ellos habrá que tener declarada tres variables globales :
20//                              $cadenaid, $cadenaip y $cadenamac
21// *************************************************************************************************************************************************
22function RecopilaIpesMacs($cmd,$ambito,$idambito,$filtroip=""){
23        global $cadenaid;
24        global $cadenaip;
25        global $cadenamac;
26
27        global $AMBITO_CENTROS;
28        global $AMBITO_GRUPOSAULAS;
29        global $AMBITO_AULAS;
30        global $AMBITO_GRUPOSORDENADORES;
31        global $AMBITO_ORDENADORES;
32
33        $cadenaid="";
34        $cadenaip="";
35        $cadenamac="";
36
37        $rs=new Recordset; 
38               
39        if(!empty($filtroip)){
40                $filtroip="'".str_replace(";","','",$filtroip)."'"; // Cambia caracter ; para consulta alfanumérica
41                $cmd->texto="SELECT ip, mac, nombreordenador, idordenador, agentkey
42                               FROM ordenadores
43                              WHERE ip IN (".$filtroip.")";
44                RecorreOrdenadores($cmd);
45        }
46        else{
47                switch($ambito){
48                        case $AMBITO_CENTROS :
49                                $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito;
50                                RecorreCentro($cmd);
51                                break;
52                        case $AMBITO_GRUPOSAULAS :
53                                $cmd->texto="SELECT idgrupo,nombregrupo   FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS;
54                                RecorreGruposAulas($cmd);
55                                break;
56                        case $AMBITO_AULAS :
57                                $cmd->texto="SELECT idaula,nombreaula  FROM aulas WHERE idaula=".$idambito;
58                                RecorreAulas($cmd);
59                                break;
60                        case $AMBITO_GRUPOSORDENADORES :
61                                $cmd->texto="SELECT idgrupo,nombregrupoordenador   FROM gruposordenadores WHERE idgrupo=".$idambito;
62                                RecorreGruposOrdenadores($cmd);
63                                break;
64                        case $AMBITO_ORDENADORES :
65                                $cmd->texto="SELECT ip, mac, nombreordenador, idordenador, agentkey
66                                               FROM ordenadores
67                                              WHERE idordenador=".$idambito;
68                                RecorreOrdenadores($cmd);
69                                break;
70                        default: // Se trata de un conjunto aleatorio de ordenadores
71                                $cmd->texto="SELECT ip, mac, nombreordenador, idordenador, agentkey
72                                               FROM ordenadores
73                                              WHERE idordenador IN (".$idambito.")";
74                                RecorreOrdenadores($cmd);
75                }
76        }
77        $cadenaid=substr($cadenaid,0,strlen($cadenaid)-1); // Quita la coma
78        $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma
79        $cadenamac=substr($cadenamac,0,strlen($cadenamac)-1); // Quita la coma
80}
81//________________________________________________________________________________________________________
82function RecorreCentro($cmd){
83        global $AMBITO_GRUPOSAULAS;
84        $rs=new Recordset; 
85        $rs->Comando=&$cmd; 
86        if (!$rs->Abrir()) return; // Error al abrir recordset
87        $rs->Primero(); 
88        if(!$rs->EOF){
89                $idcentro=$rs->campos["idcentro"];
90                $cmd->texto="SELECT idgrupo,nombregrupo  FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0  AND tipo=".$AMBITO_GRUPOSAULAS;
91                RecorreGruposAulas($cmd);
92                $cmd->texto="SELECT idaula,nombreaula   FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0";
93                RecorreAulas($cmd);
94        }
95        $rs->Cerrar();
96}
97//________________________________________________________________________________________________________
98function RecorreGruposAulas($cmd){
99        global $AMBITO_GRUPOSAULAS;
100        $rs=new Recordset; 
101        $rs->Comando=&$cmd; 
102        if (!$rs->Abrir()) return; // Error al abrir recordset
103        $rs->Primero(); 
104        while (!$rs->EOF){
105                $idgrupo=$rs->campos["idgrupo"];
106                $cmd->texto="SELECT idgrupo,nombregrupo   FROM grupos WHERE grupoid=".$idgrupo. "  AND tipo=".$AMBITO_GRUPOSAULAS;
107                RecorreGruposAulas($cmd);
108                $cmd->texto="SELECT idaula,nombreaula   FROM aulas WHERE  grupoid=".$idgrupo;
109                RecorreAulas($cmd);
110                $rs->Siguiente();
111        }
112        $rs->Cerrar();
113}
114//________________________________________________________________________________________________________
115function RecorreAulas($cmd){
116        $rs=new Recordset; 
117        $rs->Comando=&$cmd; 
118        if (!$rs->Abrir()) return; // Error al abrir recordset
119        $rs->Primero(); 
120        while (!$rs->EOF){
121                $idaula=$rs->campos["idaula"];
122                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idaula=".$idaula." AND grupoid=0";
123                RecorreGruposOrdenadores($cmd);
124                $cmd->texto="SELECT ip, mac, nombreordenador, idordenador, agentkey
125                               FROM ordenadores
126                              WHERE idaula=".$idaula." AND grupoid=0";
127                RecorreOrdenadores($cmd);
128                $rs->Siguiente();
129        }
130        $rs->Cerrar();
131}
132//________________________________________________________________________________________________________
133function RecorreGruposOrdenadores($cmd){
134        $rs=new Recordset; 
135        $rs->Comando=&$cmd; 
136        if (!$rs->Abrir()) return; // Error al abrir recordset
137        $rs->Primero(); 
138        while (!$rs->EOF){
139                $idgrupo=$rs->campos["idgrupo"];
140                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE grupoid=".$idgrupo;
141                RecorreGruposOrdenadores($cmd);
142                $cmd->texto="SELECT ip, mac, nombreordenador, idordenador, agentkey
143                               FROM ordenadores
144                              WHERE grupoid=".$idgrupo;
145                RecorreOrdenadores($cmd);
146                $rs->Siguiente();
147        }
148        $rs->Cerrar();
149}
150//________________________________________________________________________________________________________
151function RecorreOrdenadores($cmd){
152        global $cadenaid;
153        global $cadenaip;
154        global $cadenamac;
155        global $cadenaoga;
156        $rs=new Recordset; 
157        $rs->Comando=&$cmd; 
158        if (!$rs->Abrir()) return; // Error al abrir recordset
159        while (!$rs->EOF){
160                $cadenaid.=$rs->campos["idordenador"].",";
161                $cadenaip.=$rs->campos["ip"].";";
162                $cadenamac.=$rs->campos["mac"].";";
163                $cadenaoga.=(is_null($rs->campos["agentkey"])?"":$rs->campos["agentkey"]).";";
164                $rs->Siguiente();
165        }
166        $rs->Cerrar();
167}
168
169
Note: See TracBrowser for help on using the repository browser.