diff options
Diffstat (limited to 'api/get_node_status.php')
-rw-r--r-- | api/get_node_status.php | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/api/get_node_status.php b/api/get_node_status.php new file mode 100644 index 0000000..4886bfe --- /dev/null +++ b/api/get_node_status.php @@ -0,0 +1,62 @@ +<?php +/** + * Copyright 2016 Ludovic Pouzenc <ludovic@pouzenc.fr> + * Copyright 2016 Nicolas Goaziou <mail@nicolasgoaziou.fr> + * + * 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 <http://www.gnu.org/licenses/>. +**/ +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(); + +/* Firlter out keys to keep only equipments */ +$eids=array(); +foreach ( $arg_keys as $k ) { + if ( $k['0'] == 'e' ) { + $eids[]=substr($k,1); + } +} + +/* TODO : SQL query to get IPs from equipement WHERE id in $eids */ + +/* TODO : ask moniteur.chd.sx to ping them */ + +$arr_out = array(); +foreach ( $eids as $eid ) { + + $result=42; /*TODO dummy */ + + switch ($result) { + case 0: + $color='green'; + case 1: + $color='red'; + default: + $color='purple'; + } + $arr_out[] = array('eid'=>'e'.$eid, 'color'=>$color); +} + +/* Output arr_out as JSON to the web client */ +echo json_encode($arr_out); + |