/** * @ignore */ function do_group_footer(tabular_report_defn_group $grp) { // this method does not call the parent method $lines = $grp->get_footer_lines(); if (count($lines)) { foreach ($lines as $line) { $rec = array(); foreach ($this->report()->get_columns() as $key => $col) { $val = $line->get_column_value($key); $rec[$key] = $this->get_group_column_display_value($key, $grp->get_column(), $val); } $this->_rec['footers'][] = $rec; } } // this group has changed, go through all columns and reset this group foreach ($this->report()->get_columns() as $key => $col) { $col->reset_group($grp->get_column()); } }
/** * Test if the value for a specified group has changed. * * @param tabular_report_defn_group $grp The group that references the watched column. * @param array $row The data row. * @return bool */ protected function changed(tabular_report_defn_group $grp, $row) { $col_key = $grp->get_column(); if (array_key_exists($col_key, $row)) { $val = $row[$col_key]; $col = $this->report()->get_column($col_key); return $col->changed($val); } return FALSE; }