Merge branch 'MDL-44059-master' of git://github.com/ankitagarwal/moodle

This commit is contained in:
Sam Hemelryk 2014-02-10 15:58:36 +13:00
commit 72d953e19e
2 changed files with 32 additions and 4 deletions

View File

@ -983,6 +983,18 @@ class flexible_table {
* @todo MDL-43902 , remove r0 and r1 from tr classes.
*/
function print_row($row, $classname = '') {
echo $this->get_row_html($row, $classname);
}
/**
* Generate html code for the passed row.
*
* @param array $row Row data.
* @param string $classname classes to add.
*
* @return string $html html code for the row passed.
*/
public function get_row_html($row, $classname = '') {
static $suppress_lastrow = NULL;
$oddeven = $this->currentrow % 2;
$rowclasses = array('r' . $oddeven);
@ -992,13 +1004,14 @@ class flexible_table {
}
$rowid = $this->uniqueid . '_r' . $this->currentrow;
$html = '';
echo html_writer::start_tag('tr', array('class' => implode(' ', $rowclasses), 'id' => $rowid));
$html .= html_writer::start_tag('tr', array('class' => implode(' ', $rowclasses), 'id' => $rowid));
// If we have a separator, print it
if ($row === NULL) {
$colcount = count($this->columns);
echo html_writer::tag('td', html_writer::tag('div', '',
$html .= html_writer::tag('td', html_writer::tag('div', '',
array('class' => 'tabledivider')), array('colspan' => $colcount));
} else {
@ -1016,20 +1029,21 @@ class flexible_table {
$content = ' ';
}
echo html_writer::tag('td', $content, array(
$html .= html_writer::tag('td', $content, array(
'class' => 'cell c' . $index . $this->column_class[$column],
'id' => $rowid . '_c' . $index,
'style' => $this->make_styles_string($this->column_style[$column])));
}
}
echo html_writer::end_tag('tr');
$html .= html_writer::end_tag('tr');
$suppress_enabled = array_sum($this->column_suppress);
if ($suppress_enabled) {
$suppress_lastrow = $row;
}
$this->currentrow++;
return $html;
}
/**

View File

@ -323,4 +323,18 @@ class core_tablelib_testcase extends basic_testcase {
10
);
}
public function test_get_row_html() {
$data = $this->generate_data(1, 5);
$columns = $this->generate_columns(5);
$headers = $this->generate_headers(5);
$data = array_keys(array_flip($data[0]));
$table = new flexible_table('tablelib_test');
$table->define_columns($columns);
$table->define_headers($headers);
$table->define_baseurl('/invalid.php');
$row = $table->get_row_html($data);
$this->assertRegExp('/row 0 col 0/', $row);
}
}