diff options
Diffstat (limited to 'modules-available/dnbd3/hooks')
-rw-r--r-- | modules-available/dnbd3/hooks/main-warning.inc.php | 25 |
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); +} |