summaryrefslogtreecommitdiffstats
path: root/modules-available/dnbd3/hooks
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/hooks
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/hooks')
-rw-r--r--modules-available/dnbd3/hooks/main-warning.inc.php25
1 files changed, 25 insertions, 0 deletions
diff --git a/modules-available/dnbd3/hooks/main-warning.inc.php b/modules-available/dnbd3/hooks/main-warning.inc.php
new file mode 100644
index 00000000..258d03d0
--- /dev/null
+++ b/modules-available/dnbd3/hooks/main-warning.inc.php
@@ -0,0 +1,25 @@
+<?php
+
+if (Dnbd3::isEnabled()) {
+ $res = Database::simpleQuery('SELECT s.fixedip, s.lastseen AS dnbd3lastseen, s.errormsg, m.clientip, m.hostname
+ FROM dnbd3_server s
+ LEFT JOIN machine m USING (machineuuid)
+ WHERE errormsg IS NOT NULL');
+
+ while ($row = $res->fetch(PDO::FETCH_ASSOC)) {
+ $error = $row['errormsg'] ? $row['errormsg'] : '<unknown error>';
+ $lastSeen = date('d.m.Y H:i', $row['dnbd3lastseen']);
+ if ($row['fixedip'] === '<self>') {
+ Message::addError('dnbd3.main-dnbd3-unreachable', true, $error, $lastSeen);
+ continue;
+ }
+ if (!is_null($row['fixedip'])) {
+ $ip = $row['fixedip'];
+ } else {
+ $ip = $row['clientip'] . '/' . $row['hostname'];
+ }
+ Message::addWarning('dnbd3.dnbd3-proxy-unreachable', true, $ip, $error, $lastSeen);
+ }
+
+ unset($res);
+}