From 94bc6afa9dadd263ba40b39400e93ee3820c5323 Mon Sep 17 00:00:00 2001 From: Nicolas Boisselier Date: Wed, 16 Oct 2024 22:36:06 +0200 Subject: [PATCH] etc/dbq/data.php --- etc/dbq/data.php | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/etc/dbq/data.php b/etc/dbq/data.php index 8ddddf61..8de4d3cd 100644 --- a/etc/dbq/data.php +++ b/etc/dbq/data.php @@ -20,24 +20,38 @@ $DBQ['data'] = [ , ], 'host_info_backup' => [ + /* + ,'' as files_transfer + ,'' as files_total + ,'' as bytes_transfer + ,'' as bytes_total + */ 'sql' => preg_replace('/[\t\r\n]/',''," SELECT host ,max(updated) as updated ,REPLACE(REPLACE(hi.key,'backup_servers.',''),'.dirs','') as server ,'' as time - ,'' as files_transfer - ,'' as files_total - ,'' as bytes_transfer - ,'' as bytes_total + ,'' as f_tr + ,'' as f_tot + ,'' as b_tr + ,'' as b_tot FROM host_info hi WHERE key LIKE 'backup_servers.%.dirs' GROUP BY host,server ORDER BY updated DESC, host "), 'row_parse_pre' => function(&$row,$t) { + $aliases = [ + 'files_transfer' => 'f_tr', + 'files_total' => 'f_tot', + 'bytes_transfer' => 'b_tr', + 'bytes_total' => 'b_tot', + ]; + $sql = "SELECT key,val FROM host_info WHERE host=".$t->db()->quote($row['host']) ." AND key LIKE 'backup_servers.".$row['server'].".%'"; ; + $rows = $t->db()->rows($sql,PDO::FETCH_ASSOC); foreach($rows as $info) { $info['key'] = preg_replace('/^.*\.([^\.]+)$/','$1',$info['key']); @@ -45,7 +59,11 @@ $DBQ['data'] = [ #if (preg_match('/(total|transfer)$/',$info['key'])) $info['val'] = bytes2h( $info['val'] ) ; - if (isset($row[ $info['key'] ])) $row[ $info['key'] ] = $info['val']; + if (isset($row[ $info['key'] ])) { + $row[ $info['key'] ] = $info['val']; + } elseif (isset($aliases[$info['key']]) and isset($row[ $aliases[$info['key']] ])) { + $row[ $aliases[$info['key']] ] = $info['val']; + } } foreach ($row as $k=>$v) { -- 2.47.3