reportinformations['charts'][1]['progress_line']))) { $return = true; } break; } return $return; } public static function getMinProgressLine($data_str) { if (!self::isProgressEnabled('min')) { return ''; } $minProgressData = []; $data = self::getDataFromStr($data_str); $minData = []; foreach ($data as $float) { $minData[] = $float; $minProgressData[] = min($minData); } return implode(',', $minProgressData); } public static function getAverageProgressLine($data_str) { if (!self::isProgressEnabled('avg')) { return ''; } $avgProgressData = []; $data = self::getDataFromStr($data_str); $n = 1; $sum = 0; foreach ($data as $float) { $sum += floatval($float); $avgProgressData[] = ($sum / $n); $n++; } return implode(',', $avgProgressData); } public static function getMaxProgressLine($data_str) { if (!self::isProgressEnabled('max')) { return ''; } $maxProgressData = []; $data = self::getDataFromStr($data_str); $maxData = []; foreach ($data as $float) { $maxData[] = $float; $maxProgressData[] = max($maxData); } return implode(',', $maxProgressData); } public static function getProgressLines($data_str, $reportObj) { $return = []; $returnStr = ''; self::$reportObj = $reportObj; if (self::isProgressEnabled('min')) { $return[] = sprintf( "{ name: '%s', data: [%s], type: 'line', yAxis: 0 }", vtranslate('MIN', 'ITS4YouReports'), self::getMinProgressLine($data_str) ); } if (self::isProgressEnabled('avg')) { $return[] = sprintf( "{ name: '%s', data: [%s], type: 'line', yAxis: 0 }", vtranslate('AVG', 'ITS4YouReports'), self::getAverageProgressLine($data_str) ); } if (self::isProgressEnabled('max')) { $return[] = sprintf( "{ name: '%s', data: [%s], type: 'line', yAxis: 0 }", vtranslate('MAX', 'ITS4YouReports'), self::getMaxProgressLine($data_str) ); } if (!empty($return)) { $returnStr = implode(',', $return) . ','; } return $returnStr; } }