source: admin/WebConsole/principal/sondeo.php @ f8dfa27

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 f8dfa27 was b6ec162, checked in by Ramón M. Gómez <ramongomez@…>, 6 years ago

#834: Remove all redundant PHP closing tags.

  • Property mode set to 100644
File size: 4.3 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: sondeo.php
8// Descripción :
9//              Consulta el estado de los ordenadores
10// Version 1.1: De la salida del sondeo del agente antiguo se eliminan los que han respondido con el agente nuevo
11// Autor: Irina Gomez - ETSII Universidad Sevilla
12// Fecha: 2017/11/03
13// *************************************************************************************************************************************************
14        include_once("../includes/ctrlacc.php");
15        include_once("../includes/restfunctions.php");
16        include_once("../clases/SockHidra.php");
17        include_once("../clases/AdoPhp.php");
18        include_once("../includes/constantes.php");
19        include_once("../includes/comunes.php");
20        include_once("../includes/CreaComando.php");
21        include_once("../includes/RecopilaIpesMacs.php");
22        //________________________________________________________________________________________________________
23        $ambito=0;
24        $idambito=0;
25        $sw=0;  // Swich para conmutar entre sondeo a clientes o sólo consulta a la tabla de sockets
26
27        if (isset($_POST["ambito"])) $ambito=$_POST["ambito"];
28        if (isset($_POST["idambito"])) $idambito=$_POST["idambito"];
29        if (isset($_POST["sw"])) $sw=$_POST["sw"];
30        //________________________________________________________________________________________________________
31        $cmd=CreaComando($cadenaconexion);
32        if (!$cmd)
33                Header('Location: '.$pagerror.'?herror=2'); // Error de conexión con servidor B.D.
34        //________________________________________________________________________________________________________
35        $funcion="Sondeo"; // Nombre de la función que procesa la petición
36        if($sw==2)
37                $funcion="respuestaSondeo"; // Nombre de la función que procesa la petición
38        $atributos="";
39        $aplicacion=""; // Ámbito de aplicación (cadena de ipes separadas por ";" y de identificadores de ordenadores por ","
40        $acciones=""; // Cadena de identificadores de acciones separadas por ";" para seguimiento
41        //________________________________________________________________________________________________________
42        // Ámbito de aplicación de la petición
43        //________________________________________________________________________________________________________
44        $cadenaid="";
45        $cadenaip="";
46        $cadenamac="";
47        RecopilaIpesMacs($cmd,$ambito,$idambito); // Ámbito de aplicación
48
49        $aplicacion="ido=".$cadenaid.chr(13)."iph=".$cadenaip.chr(13);
50        // Envio al servidor de la petición
51        //________________________________________________________________________________________________________
52        $resul=false;
53        $trama="";
54        $trama_notificacion="";
55        $shidra=new SockHidra($servidorhidra,$hidraport);
56        if ($shidra->conectar()){ // Se ha establecido la conexión con el servidor hidra
57                $parametros="nfn=".$funcion.chr(13);
58                $parametros.=$aplicacion;
59                $parametros.=$atributos;
60                $parametros.=$acciones;
61                $resul=$shidra->envia_peticion($parametros);
62                if($resul)
63                        $trama=$shidra->recibe_respuesta();
64                $shidra->desconectar();
65        }
66        if($resul){
67                $hlonprm=hexdec(substr($trama,$LONCABECERA,$LONHEXPRM));
68                $parametros=substr($trama,$LONCABECERA+$LONHEXPRM,$hlonprm);
69                $ValorParametros=extrae_parametros($parametros,chr(13),'=');
70                if (isset ($ValorParametros["tso"])) {
71                        $trama_notificacion=$ValorParametros["tso"];
72                }
73        }
74
75        // Send REST requests to new OGAgent clients.
76        $urls = array();
77        // Compose array of REST URLs.
78        foreach (explode (';', $cadenaip) as $ip) {
79                $urls[$ip] = "https://$ip:8000/opengnsys/status";
80        }
81        // Launch concurrent requests.
82        $responses = multiRequest($urls);
83        // Process responses array (IP as array index).
84        foreach ($responses as $ip => $resp) {
85                if (isset($resp['data'])) {
86                        $data = json_decode($resp['data']);
87                        // If user session is oppened, then append "S" to client status.
88                        if (isset($data->status) and isset($data->loggedin)) {
89                                // Output format: IP1/Status1;...
90                                echo "$ip/".$data->status.($data->loggedin?"S;":";");
91                                // eliminamos los equipos repetidos en el agente antiguo y nuevo.
92                                $trama_notificacion=preg_replace("/$ip\/\w{3}/",'',$trama_notificacion);
93
94                        }
95                }
96        }
97        echo $trama_notificacion;
98
99
Note: See TracBrowser for help on using the repository browser.