source: admin/WebConsole/principal/ecoconsola.php @ 5701de1

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 5701de1 was 2f4f9ff, checked in by alonso <alonso@…>, 15 years ago

git-svn-id: https://opengnsys.es/svn/trunk@848 a21b9725-9963-47de-94b9-378ad31fedc9

  • Property mode set to 100644
File size: 7.5 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 2003-2004
6// Fecha Última modificación: Febrero-2005
7// Nombre del fichero: ecoconsola.php
8// Descripción :
9//              Muestra el eco de una consola remota
10// *************************************************************************************************************************************************
11include_once("../includes/ctrlacc.php");
12include_once("../clases/SockHidra.php");
13include_once("../clases/AdoPhp.php");
14include_once("../includes/constantes.php");
15include_once("../includes/CreaComando.php");
16include_once("../includes/comunes.php");
17include_once("../idiomas/php/".$idioma."/ecoremoto_".$idioma.".php");
18//________________________________________________________________________________________________________
19$litambito=0;
20$idambito=0;
21
22if (isset($_POST["litambito"])) $litambito=$_POST["litambito"]; // Recoge parametros
23if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
24
25$nombrefuncion="EcoConsola";
26$ejecutor="1";
27$cadenaip="";
28
29$cmd=CreaComando($cadenaconexion);
30if (!$cmd)
31        Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
32//________________________________________________________________________________________________________
33if($cmd){ // Compone cadena ip recorriendo ámbitos
34        switch($litambito){
35                        case $LITAMBITO_CENTROS :
36                                $cmd->texto="SELECT idcentro,nombrecentro FROM centros WHERE idcentro=".$idambito;
37                                RecorreCentro($cmd);
38                                break;
39                        case $LITAMBITO_GRUPOSAULAS :
40                                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idgrupo=".$idambito." AND tipo=".$AMBITO_GRUPOSAULAS;
41                                RecorreGruposAulas($cmd);
42                                break;
43                        case $LITAMBITO_AULAS :
44                                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idaula=".$idambito;
45                                RecorreAulas($cmd);
46                                break;
47                        case $LITAMBITO_GRUPOSORDENADORES :
48                                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposordenadores WHERE idgrupo=".$idambito;
49                                RecorreGruposOrdenadores($cmd);
50                                break;
51                        case $LITAMBITO_ORDENADORES :
52                                $cmd->texto="SELECT ip FROM ordenadores WHERE idordenador=".$idambito;
53                                RecorreOrdenadores($cmd);
54                                break;
55        }
56}
57$resul=false;
58$trama_notificacion="";
59
60if($cmd){
61        $shidra=new SockHidra($servidorhidra,$hidraport);
62        $cadenaip=ereg_replace( ";", "','", $cadenaip );
63        $cmd->texto="SELECT  ordenadores.ip as ipord,servidoresrembo.ip FROM ordenadores INNER JOIN servidoresrembo ON ordenadores.idservidorrembo =servidoresrembo.idservidorrembo WHERE ordenadores.ip IN ('".$cadenaip."') ORDER BY servidoresrembo.ip";
64        $rs=new Recordset;
65        $rs->Comando=&$cmd;
66        if (!$rs->Abrir())      $resul=false; // Error al abrir recordset
67        $rs->Primero();
68        if(!$rs->EOF){
69                $resul=true;
70                $ipservidorrembo=trim($rs->campos["ip"]); // toma ip servidor rembo
71                $cadenaip="";
72                while(!$rs->EOF && $resul){
73                        if($ipservidorrembo!=trim($rs->campos["ip"])){ // compara si cambia el servidor rembo
74                                $parametros=$ejecutor;
75                                $parametros.="nfn=".$nombrefuncion.chr(13);
76                                $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma
77                                $parametros.="iph=".$cadenaip.chr(13);
78                                $parametros.="rmb=".$ipservidorrembo.chr(13);
79                                $resul=manda_trama();
80                                $ipservidorrembo=trim($rs->campos["ip"]); // toma ip servidor rembo
81                                $cadenaip="";
82                        }
83                        $cadenaip.=trim($rs->campos["ipord"]).";"; // toma ip del cliente
84                        $rs->Siguiente();
85                }
86        }
87        $rs->Cerrar();
88        if($resul){
89                $parametros=$ejecutor;
90                $parametros.="nfn=".$nombrefuncion.chr(13);
91                $parametros.="pfe=".$pathfileco.chr(13);
92                $cadenaip=substr($cadenaip,0,strlen($cadenaip)-1); // Quita la coma
93                $parametros.="iph=".$cadenaip.chr(13);
94                $parametros.="rmb=".$ipservidorrembo.chr(13);
95                $resul=manda_trama(&$parametros);
96        }
97}
98 if(!$resul)
99        echo "alert('".$TbMsg[10]."');";
100else
101        echo $trama_notificacion; // Retorna pantalla de la consola remota
102
103//=======================================================================================================
104//      Manda una petición de eco de consola y espera respuesta
105//________________________________________________________________________________________________________
106function manda_trama(){
107        global $trama_notificacion;
108        global $parametros;
109        global $LONCABECERA;
110        global $shidra;
111        if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
112                $shidra->envia_comando($parametros);
113                $trama=$shidra->recibe_respuesta();
114                $parametros=substr($trama,$LONCABECERA,strlen($trama)-$LONCABECERA);
115                $ValorParametros=extrae_parametros($parametros,chr(13),'=');
116                $trama_notificacion=$ValorParametros["eco"];
117                $shidra->desconectar();
118                return(true);
119        }
120        return(false);
121}
122//________________________________________________________________________________________________________
123function RecorreCentro($cmd){
124        global $AMBITO_GRUPOSAULAS;
125        $rs=new Recordset;
126        $rs->Comando=&$cmd;
127        if (!$rs->Abrir()) return; // Error al abrir recordset
128        $rs->Primero();
129        if(!$rs->EOF){
130                $idcentro=$rs->campos["idcentro"];
131                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE idcentro=".$idcentro." AND grupoid=0 AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo";
132                RecorreGruposAulas($cmd);
133                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE idcentro=".$idcentro." AND grupoid=0 ORDER BY nombreaula";
134                RecorreAulas($cmd);
135        }
136        $rs->Cerrar();
137}
138//________________________________________________________________________________________________________
139function RecorreGruposAulas($cmd){
140        global $AMBITO_GRUPOSAULAS;
141        $rs=new Recordset;
142        $rs->Comando=&$cmd;
143        if (!$rs->Abrir()) return; // Error al abrir recordset
144        $rs->Primero();
145        while (!$rs->EOF){
146                $idgrupo=$rs->campos["idgrupo"];
147                $cmd->texto="SELECT idgrupo,nombregrupo FROM grupos WHERE grupoid=".$idgrupo." AND tipo=".$AMBITO_GRUPOSAULAS." ORDER BY nombregrupo";
148                RecorreGruposAulas($cmd);
149                $cmd->texto="SELECT idaula,nombreaula FROM aulas WHERE  grupoid=".$idgrupo." ORDER BY nombreaula";
150                RecorreAulas($cmd);
151                $rs->Siguiente();
152        }
153        $rs->Cerrar();
154}
155//________________________________________________________________________________________________________
156function RecorreAulas($cmd){
157        $rs=new Recordset;
158        $rs->Comando=&$cmd;
159        if (!$rs->Abrir()) return; // Error al abrir recordset
160        $rs->Primero();
161        while (!$rs->EOF){
162                $idaula=$rs->campos["idaula"];
163                $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE  idaula=".$idaula;
164                $k=0;
165                RecorreOrdenadores($cmd);
166                $rs->Siguiente();
167        }
168        $rs->Cerrar();
169}
170//________________________________________________________________________________________________________
171function RecorreGruposOrdenadores($cmd){
172        $rs=new Recordset;
173        $rs->Comando=&$cmd;
174        if (!$rs->Abrir()) return; // Error al abrir recordset
175        $rs->Primero();
176        while (!$rs->EOF){
177                $idgrupo=$rs->campos["idgrupo"];
178                $cmd->texto="SELECT idgrupo,nombregrupoordenador FROM gruposOrdenadores WHERE grupoid=".$idgrupo." ORDER BY nombregrupoordenador";
179                RecorreGruposOrdenadores($cmd);
180                $cmd->texto="SELECT idordenador,nombreordenador,ip,mac FROM ordenadores WHERE  grupoid=".$idgrupo;
181                RecorreOrdenadores($cmd);
182                $rs->Siguiente();
183        }
184        $rs->Cerrar();
185}
186//________________________________________________________________________________________________________
187function RecorreOrdenadores($cmd){
188        global $cadenaip;
189        $rs=new Recordset;
190        $rs->Comando=&$cmd;
191        if (!$rs->Abrir()) return; // Error al abrir recordset
192        $rs->Primero();
193        while (!$rs->EOF){
194                $cadenaip.=$rs->campos["ip"].";";
195                $rs->Siguiente();
196        }
197        $rs->Cerrar();
198}
199?>
Note: See TracBrowser for help on using the repository browser.