]> git.nbdom.net Git - nb.git/commitdiff
etc/dbq/data.php
authorNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 16 Oct 2024 20:36:06 +0000 (22:36 +0200)
committerNicolas Boisselier <nicolas.boisselier@gmail.com>
Wed, 16 Oct 2024 20:36:06 +0000 (22:36 +0200)
etc/dbq/data.php

index 8ddddf617891902b788e15e579d4193f2b05a28e..8de4d3cd10c6c16ba28bd8fe69570ad7a13e51cc 100644 (file)
@@ -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) {