X-Git-Url: https://git-public.kairo.at/?p=php-utility-classes.git;a=blobdiff_plain;f=include%2Fclasses%2Frrdstat.php-class;h=833820a8e30bf3bee8e91d1bf0fd03cf0b2082dd;hp=c0d752019505048f97c0ebe4e80e3118cac1bd18;hb=31cb3fc44710f4ba3ca6de3ec119183e2e38e1a2;hpb=f21e94d918018aa0bf38e9a1270564b1fcb0ce07 diff --git a/include/classes/rrdstat.php-class b/include/classes/rrdstat.php-class index c0d7520..833820a 100644 --- a/include/classes/rrdstat.php-class +++ b/include/classes/rrdstat.php-class @@ -297,7 +297,7 @@ class rrdstat { if (strlen($ret)) { $upvals = explode("\n", $ret); } ob_end_clean(); } - $walkfunc = create_function('&$val,$key', '$val = is_numeric(trim($val))?trim($val):"U";'); + $walkfunc = create_function('&$val,$key', '$val = is_numeric(trim($val))?trim($val):((trim($val)=="L")?"L":"U");'); array_walk($upvals, $walkfunc); } else { @@ -337,9 +337,11 @@ class rrdstat { } if (in_array('L', $upvals)) { // for at least one value, we need to set the same as the last recorded value - $lastvals = $this->fetch(); + $fvals = $this->fetch(); + $rowids = array_shift($fvals); + $lastvals = array_shift($fvals); foreach (array_keys($upvals, 'L') as $akey) { - $upvals[$akey] = $lastvals[$akey]; + $upvals[$akey] = $lastvals[$rowids[$akey]]; } } $return = null; @@ -385,7 +387,7 @@ class rrdstat { foreach ($rows as $row) { if (strlen(trim($row))) { $rvals = preg_split('/\s+/', $row); - $rtime = array_shift($rvals); + $rtime = str_replace(':', '', array_shift($rvals)); $rv_array = array(); foreach ($rvals as $key=>$rval) { $rv_array[$fields[$key]] = ($rval=='nan')?null:floatval($rval);