From 4a5abd96f895a0fd590efe2fc80162da42fd9f1d Mon Sep 17 00:00:00 2001 From: Jannik Schönartz Date: Sat, 4 Feb 2017 09:27:19 -0800 Subject: API: Method added for returning the count of the pc states of (a) location(s). --- modules-available/locationinfo/api.inc.php | 39 ++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) (limited to 'modules-available/locationinfo/api.inc.php') diff --git a/modules-available/locationinfo/api.inc.php b/modules-available/locationinfo/api.inc.php index 296354c4..421296b6 100644 --- a/modules-available/locationinfo/api.inc.php +++ b/modules-available/locationinfo/api.inc.php @@ -24,6 +24,9 @@ function HandleParameters() { } elseif ($getAction == "roomtree") { $roomIDS = Request::get('ids', 0, 'string'); getRoomTree($roomIDS); + } elseif ($getAction == "pcstates") { + $roomIDS = Request::get('ids', 0, 'string'); + getPcStates($roomIDS); } } @@ -33,6 +36,42 @@ function getMultipleInformations($roomids) { return $filteredIdList; } +function getPcStates($ids) { + $idList = getMultipleInformations($ids); + + $pcStates = array(); + foreach ($idList as $id) { + + $a['id'] = $id; + $b = array(); + $b = json_decode(getPcInfos($id), true); + $idle = 0; + $occupied = 0; + $off = 0; + $broken = 0; + + foreach ($b as $c) { + if ($c['pcState'] == 0) { + $idle++; + } elseif($c['pcState'] == 1) { + $occupied++; + } elseif($c['pcState'] == 2) { + $off++; + } elseif($c['pcState'] == 3) { + $broken++; + } + } + + $a['idle'] = $idle; + $a['occupied'] = $occupied; + $a['off'] = $off; + $a['broken'] = $broken; + $pcStates[] = $a; + } + + echo json_encode($pcStates); +} + function getRoomTree($ids) { $idList = getMultipleInformations($ids); $roomTree = array(); -- cgit v1.2.3-55-g7522