source: admin/WebConsole/includes/RecopilaIpesMacs.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 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: 5.8 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 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 FROM ordenadores WHERE ip IN (".$filtroip.")";
42                RecorreOrdenadores($cmd);
43        }
44        else{
45                switch($ambito){
46                        case $AMBITO_CENTROS :
47                                $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito;
48                                RecorreCentro($cmd);
49                                break;
50                        case $AMBITO_GRUPOSAULAS :
51                                $cmd->texto="SELECT idgrupo,nombregrupo   FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS;
52                                RecorreGruposAulas($cmd);
53                                break;
54                        case $AMBITO_AULAS :
55                                $cmd->texto="SELECT idaula,nombreaula  FROM aulas WHERE idaula=".$idambito;
56                                RecorreAulas($cmd);
57                                break;
58                        case $AMBITO_GRUPOSORDENADORES :
59                                $cmd->texto="SELECT idgrupo,nombregrupoordenador   FROM gruposordenadores WHERE idgrupo=".$idambito;
60                                RecorreGruposOrdenadores($cmd);
61                                break;
62                        case $AMBITO_ORDENADORES :
63                                $cmd->texto="SELECT ip,mac,nombreordenador,idordenador  FROM ordenadores WHERE idordenador=".$idambito;
64                                RecorreOrdenadores($cmd);
65                                break;
66                        default: // Se trata de un conjunto aleatorio de ordenadores
67                                $cmd->texto="SELECT ip,mac,nombreordenador,idordenador  FROM ordenadores WHERE idordenador IN (".$idambito.")";
68                                RecorreOrdenadores($cmd);
69                               
70                }
71        }
72        $cadenaid=substr($cadenaid,0,strlen($cadenaid)-1); // Quita la coma
73        $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma
74        $cadenamac=substr($cadenamac,0,strlen($cadenamac)-1); // Quita la coma
75}
76//________________________________________________________________________________________________________
77function RecorreCentro($cmd){
78        global $AMBITO_GRUPOSAULAS;
79        $rs=new Recordset;
80        $rs->Comando=&$cmd;
81        if (!$rs->Abrir()) return; // Error al abrir recordset
82        $rs->Primero();
83        if(!$rs->EOF){
84                $idcentro=$rs->campos["idcentro"];
85                $cmd->texto="SELECT idgrupo,nombregrupo  FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0  AND tipo=".$AMBITO_GRUPOSAULAS;
86                RecorreGruposAulas($cmd);
87                $cmd->texto="SELECT idaula,nombreaula   FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0";
88                RecorreAulas($cmd);
89        }
90        $rs->Cerrar();
91}
92//________________________________________________________________________________________________________
93function RecorreGruposAulas($cmd){
94        global $AMBITO_GRUPOSAULAS;
95        $rs=new Recordset;
96        $rs->Comando=&$cmd;
97        if (!$rs->Abrir()) return; // Error al abrir recordset
98        $rs->Primero();
99        while (!$rs->EOF){
100                $idgrupo=$rs->campos["idgrupo"];
101                $cmd->texto="SELECT idgrupo,nombregrupo   FROM grupos WHERE grupoid=".$idgrupo. "  AND tipo=".$AMBITO_GRUPOSAULAS;
102                RecorreGruposAulas($cmd);
103                $cmd->texto="SELECT idaula,nombreaula   FROM aulas WHERE  grupoid=".$idgrupo;
104                RecorreAulas($cmd);
105                $rs->Siguiente();
106        }
107        $rs->Cerrar();
108}
109//________________________________________________________________________________________________________
110function RecorreAulas($cmd){
111        $rs=new Recordset;
112        $rs->Comando=&$cmd;
113        if (!$rs->Abrir()) return; // Error al abrir recordset
114        $rs->Primero();
115        while (!$rs->EOF){
116                $idaula=$rs->campos["idaula"];
117                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idaula=".$idaula." AND grupoid=0";
118                RecorreGruposOrdenadores($cmd);
119                $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE  idaula=".$idaula." AND grupoid=0";
120                RecorreOrdenadores($cmd);
121                $rs->Siguiente();
122        }
123        $rs->Cerrar();
124}
125//________________________________________________________________________________________________________
126function RecorreGruposOrdenadores($cmd){
127        $rs=new Recordset;
128        $rs->Comando=&$cmd;
129        if (!$rs->Abrir()) return; // Error al abrir recordset
130        $rs->Primero();
131        while (!$rs->EOF){
132                $idgrupo=$rs->campos["idgrupo"];
133                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE grupoid=".$idgrupo;
134                RecorreGruposOrdenadores($cmd);
135                $cmd->texto="SELECT ip,mac,nombreordenador,idordenador FROM ordenadores WHERE  grupoid=".$idgrupo;
136                RecorreOrdenadores($cmd);
137                $rs->Siguiente();
138        }
139        $rs->Cerrar();
140}
141//________________________________________________________________________________________________________
142function RecorreOrdenadores($cmd){
143        global $cadenaid;
144        global $cadenaip;
145        global $cadenamac;
146        $rs=new Recordset;
147        $rs->Comando=&$cmd;
148        if (!$rs->Abrir()) return; // Error al abrir recordset
149        while (!$rs->EOF){
150                $cadenaid.=$rs->campos["idordenador"].",";
151                $cadenaip.=$rs->campos["ip"].";";
152                $cadenamac.=$rs->campos["mac"].";";
153                $rs->Siguiente();
154        }
155        $rs->Cerrar();
156}
157?>
158
Note: See TracBrowser for help on using the repository browser.