summaryrefslogtreecommitdiff
path: root/api/get_node_status.php
diff options
context:
space:
mode:
Diffstat (limited to 'api/get_node_status.php')
-rw-r--r--api/get_node_status.php62
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);
+