Example #1
0
 private function fillTable()
 {
     // iterate sensor data
     foreach ($this->dataArray as $time => $val) {
         // copy table row and fill in sensor data for one timestamp
         $this->contentTemplate->copyCode('tableRow');
         // replace date and time
         $this->contentTemplate->tplReplaceOnce('t', date(translate('php_time_format'), $time));
         // iterate sensors
         foreach ($this->sensors as $sensor) {
             // if there is no data, show a "-"
             if (floatval($val[$sensor]) == 0.0) {
                 $val[$sensor] = '-';
             }
             $this->contentTemplate->tplReplaceOnce($sensor, $val[$sensor]);
             // mark outliers with a hint box
             $outlierTemplate = new Template();
             if ($this->outliers[$sensor][$time] && $this->sensitivity != 0) {
                 $outlierTemplate->readTpl('table_outlier_box');
                 if ($this->interpolateOutliers) {
                     $replaceArray = array('sensor' => $sensor, 'text' => 'i', 'css_color' => 'success', 'css_style' => 'interpolated', 'time' => $time, 'hint' => translate('value_is_interpolated'));
                 } else {
                     $replaceArray = array('sensor' => $sensor, 'text' => '!', 'css_color' => 'error', 'css_style' => '', 'time' => $time, 'hint' => translate('value_could_be_an_outlier'));
                 }
                 $outlierTemplate->tplMultipleReplace($replaceArray);
             }
             // replace outlier hint box
             $this->contentTemplate->tplReplaceOnce($sensor . 'Outlier', $outlierTemplate->getTpl());
         }
     }
     // delete the last row
     $this->contentTemplate->cleanCode('tableRow');
 }