From dea102b864b97ef5ed944298ca0879ccd117ee07 Mon Sep 17 00:00:00 2001 From: Simon Rettberg Date: Fri, 30 Oct 2020 14:32:39 +0100 Subject: [dnbd3] Link from image list to client list --- modules-available/dnbd3/page.inc.php | 20 +++++++++++--------- .../dnbd3/templates/page-proxy-clients.html | 19 +++++++++++++++---- .../dnbd3/templates/page-proxy-images.html | 10 ++++++++-- 3 files changed, 34 insertions(+), 15 deletions(-) diff --git a/modules-available/dnbd3/page.inc.php b/modules-available/dnbd3/page.inc.php index 96f72c3b..7721dac1 100644 --- a/modules-available/dnbd3/page.inc.php +++ b/modules-available/dnbd3/page.inc.php @@ -276,15 +276,6 @@ class Page_Dnbd3 extends Page $stats['tab_altservers'] = is_array($stats['altservers']); Render::addTemplate('page-proxy-stats', $stats); Render::openTag('div', ['class' => 'tab-content']); - $ips = array(); - $sort = array(); - foreach ($stats['clients'] as &$c) { - $c['bytesSent_s'] = Util::readableFileSize($c['bytesSent']); - $sort[] = $c['bytesSent']; - $ips[preg_replace('/:\d+$/', '', $c['address'])] = true; - } - $ips = array_keys($ips); - array_multisort($sort, SORT_DESC, $stats['clients']); // Config if (is_string($stats['config'])) { preg_match_all('/^((?\[.*\])|(?[^=]+)=(?.*)|(?[^\[][^=]*))$/m', $stats['config'], $out, PREG_SET_ORDER); @@ -333,6 +324,17 @@ class Page_Dnbd3 extends Page unset($as); Render::addTemplate('page-proxy-altservers', $stats); } + // CLIENT TAB + $ips = array(); + $sort = array(); + foreach ($stats['clients'] as &$c) { + $c['bytesSent_s'] = Util::readableFileSize($c['bytesSent']); + $sort[] = $c['bytesSent']; + $c['ip'] = preg_replace('/:\d+$/', '', $c['address']); + $ips[$c['ip']] = true; + } + $ips = array_keys($ips); + array_multisort($sort, SORT_DESC, $stats['clients']); // Count locations $res = Database::simpleQuery("SELECT locationid, Count(*) AS cnt FROM machine WHERE clientip IN (:ips) AND state IN ('IDLE', 'OCCUPIED') GROUP BY locationid", compact('ips')); diff --git a/modules-available/dnbd3/templates/page-proxy-clients.html b/modules-available/dnbd3/templates/page-proxy-clients.html index 660b52eb..6e2cece7 100644 --- a/modules-available/dnbd3/templates/page-proxy-clients.html +++ b/modules-available/dnbd3/templates/page-proxy-clients.html @@ -32,7 +32,7 @@

{{lang_clientList}}

- +
@@ -44,10 +44,10 @@ {{#isServer}} {{/isServer}} - {{address}} + {{address}} @@ -59,4 +59,15 @@
{{lang_client}} - +
- \ No newline at end of file + + + \ No newline at end of file diff --git a/modules-available/dnbd3/templates/page-proxy-images.html b/modules-available/dnbd3/templates/page-proxy-images.html index 7f4f0332..e7fc2b3c 100644 --- a/modules-available/dnbd3/templates/page-proxy-images.html +++ b/modules-available/dnbd3/templates/page-proxy-images.html @@ -13,12 +13,12 @@ {{#images}} - + {{name}}:{{rid}} - {{users}} + {{users}} {{size_s}} @@ -119,5 +119,11 @@ }; xhr.send(); }); + $('.show-clients').click(function () { + $('#img-table tr').removeClass('warning'); + $('#client-table tr').removeClass('warning'); + var x = $('#client-table a[data-image-id=' + $(this).data('image-id') + ']').closest('tr').addClass('warning')[0]; + setTimeout(function() { if (x.scrollIntoViewIfNeeded) x.scrollIntoViewIfNeeded(true); else x.scrollIntoView({block: "center"}) }, 10); + }); }); -- cgit v1.2.3-55-g7522