summaryrefslogtreecommitdiffstats
path: root/modules-available/dnbd3/inc/dnbd3rpc.inc.php
diff options
context:
space:
mode:
authorSimon Rettberg2017-10-26 16:58:14 +0200
committerSimon Rettberg2017-10-26 16:58:14 +0200
commit017fb7924f3551004607aa74dbc0b3431d6c01a1 (patch)
treecb6b1e90f5a13b7b2f9b1567a1bc472ae5a0aa10 /modules-available/dnbd3/inc/dnbd3rpc.inc.php
parent[dnbd3] Implement settings dialog for automatic proxies (diff)
downloadslx-admin-017fb7924f3551004607aa74dbc0b3431d6c01a1.tar.gz
slx-admin-017fb7924f3551004607aa74dbc0b3431d6c01a1.tar.xz
slx-admin-017fb7924f3551004607aa74dbc0b3431d6c01a1.zip
[dnbd3] Improve server sorting, main-warning, errormsg, Taskmanager intergration
Diffstat (limited to 'modules-available/dnbd3/inc/dnbd3rpc.inc.php')
-rw-r--r--modules-available/dnbd3/inc/dnbd3rpc.inc.php17
1 files changed, 13 insertions, 4 deletions
diff --git a/modules-available/dnbd3/inc/dnbd3rpc.inc.php b/modules-available/dnbd3/inc/dnbd3rpc.inc.php
index 27713bfb..35d79a31 100644
--- a/modules-available/dnbd3/inc/dnbd3rpc.inc.php
+++ b/modules-available/dnbd3/inc/dnbd3rpc.inc.php
@@ -2,6 +2,10 @@
class Dnbd3Rpc {
+ const QUERY_UNREACHABLE = 1;
+ const QUERY_NOT_200 = 2;
+ const QUERY_NOT_JSON = 3;
+
/**
* Query given DNBD3 server for status information.
*
@@ -11,7 +15,7 @@ class Dnbd3Rpc {
* @param bool $clients include client list
* @param bool $images include image list
* @param bool $diskSpace include disk space stats
- * @return false|array the queried data as an array, or false on error
+ * @return int|array the queried data as an array, or false on error
*/
public static function query($server, $port, $stats, $clients, $images, $diskSpace)
{
@@ -33,9 +37,14 @@ class Dnbd3Rpc {
$url .= 'q=space&';
}
$str = Download::asString($url, 3, $code);
- if ($str === false || $code !== 200)
- return false;
- return json_decode($str, true);
+ if ($str === false)
+ return self::QUERY_UNREACHABLE;
+ if ($code !== 200)
+ return self::QUERY_NOT_200;
+ $ret = json_decode($str, true);
+ if (!is_array($ret))
+ return self::QUERY_NOT_JSON;
+ return $ret;
}
}