allow to magically find files if they're named <conf_id>.rrd
[php-utility-classes.git] / include / classes / rrdstat.php-class
index 2fc1de17c7b02186a494e3fcab683a971bf4a949..680516c136f8eb3594d9939534d79d5eeefb5db9 100644 (file)
@@ -68,11 +68,15 @@ class rrdstat {
       $this->rrd_file = $iinfo['file'];
       $this->basename = (substr($this->rrd_file, -4) == '.rrd')?substr($this->rrd_file, 0, -4):$this->rrd_file;
     }
+    elseif (!is_null($conf_id) && file_exists($conf_id.'.rrd')) {
+      $this->rrd_file = $conf_id.'.rrd';
+      $this->basename = $conf_id;
+    }
     else {
       $this->basename = !is_null($conf_id)?$conf_id:'xxx.unknown';
     }
 
-    if (isset($iinfo['file'])) {
+    if (!is_null($this->rrd_file)) {
       // fields (data sources, DS)
       //  name - DS name
       //  type - one of COUNTER, GAUGE, DERIVE, ABSOLUTE
@@ -312,7 +316,7 @@ class rrdstat {
     if (isset($gconf['path'])) { $fname = $gconf['path'].'/'.$fname; }
     $fname = str_replace('//', '/', $fname);
 
-    $graphrows = array(); $gC = 0;
+    $graphrows = array(); $specialrows = array(); $gC = 0;
     $gDefs = ''; $gGraphs = ''; $addSpecial = '';
 
     if ($timeframe == 'day') {
@@ -400,6 +404,10 @@ class rrdstat {
         }
         $grow['gType'] = ((count($this->rrd_fields)==2) && ($key==0))?'AREA':'LINE1';
         $grow['color'] = $gColors[$gC++]; if ($gC >= count($gColors)) { $gC = 0; }
+        if (isset($ds['legend'])) {
+          $grow['legend'] = $ds['legend'];
+          if (!isset($gconf['show_legend'])) { $gconf['show_legend'] = true; }
+        }
         $graphrows[] = $grow;
       }
     }