* Copyright 2016 Nicolas Goaziou * * This file is part of CHD Gestion. * * CHD Gestion is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * CHD Gestion is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with CHD Gestion. If not, see . **/ include_once('inc/config.php'); $mysqli = new mysqli($db_config['host'], $db_config['username'], $db_config['password'], $db_config['database']); if (mysqli_connect_errno()) { die(mysqli_connect_error()); } unset($db_config); $mysqli->set_charset("utf8") or die($mysqli->error); /* Parse arguments */ $arg_keys=(array_key_exists('k', $_GET) && preg_match('/^([a-z][0-9]+,)*[a-z][0-9]+$/', $_GET['k']))?(explode(',', $_GET['k'])):array(); /* Filter out keys to keep only equipments */ $eids=array(); foreach ( $arg_keys as $k ) { if ( $k['0'] == 'e' ) { $eids[]=substr($k,1); } } if ( count($eids) === 0 ) { die("Wrong args"); } $eids_sql = "('" . implode($eids, "','") . "')"; $arr_out = array(); $res = $mysqli->query("SELECT id, ipmgmt_id FROM equipements WHERE id IN $eids_sql;"); while ( $row = $res->fetch_assoc() ) { $eid = $row['id']; $ip = $row['ipmgmt_id']; $color = FALSE; if ( $ip !== NULL ) { $url = "http://moniteur.chd.sx/etat_reseau/ping.php?ip=$ip"; $color = file_get_contents($url); } if ( ! is_string($color) ) { $color = 'black'; } $arr_out[] = array('eid'=>'e'.$eid, 'color'=>$color); } /* Output arr_out as JSON to the web client */ echo json_encode($arr_out);