diff --git a/_test/tests/inc/parser/renderer_xhtml.test.php b/_test/tests/inc/parser/renderer_xhtml.test.php index d99eac1025b03285ef65cc86e3ef386ead6e366c..295f04ee793ab52ea29643cd922893a20501eab1 100644 --- a/_test/tests/inc/parser/renderer_xhtml.test.php +++ b/_test/tests/inc/parser/renderer_xhtml.test.php @@ -49,13 +49,20 @@ class renderer_xhtml_test extends DokuWikiTest { $this->assertEquals($expected, $this->R->doc); } - function test_tableopen_4arg() { + function test_tableopen_4arg_str() { $this->R->table_open(4, 4, 100, 'feature'); $expected = '<div class="table feature sectionedit1"><table class="inline">'."\n"; $this->assertEquals($expected, $this->R->doc); } + function test_tableopen_4arg_arr() { + $this->R->table_open(4, 4, 100, array('feature', 'test')); + + $expected = '<div class="table feature test sectionedit1"><table class="inline">'."\n"; + $this->assertEquals($expected, $this->R->doc); + } + function test_table() { $this->R->table_open(null, null, null, 'feature'); $this->R->tablethead_open(); diff --git a/inc/parser/xhtml.php b/inc/parser/xhtml.php index 0f3d814e66a5dead7c02750befa89a959c1a8e49..c4e111be4458c02e61a96f319247b356cba307b2 100644 --- a/inc/parser/xhtml.php +++ b/inc/parser/xhtml.php @@ -428,11 +428,12 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Open an unordered list * - * @param string $classes css class + * @param string|string[] $classes css class */ function listu_open($classes = null) { $class = ''; if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class = " class=\"$classes\""; } $this->doc .= "<ul$class>".DOKU_LF; @@ -448,11 +449,12 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Open an ordered list * - * @param string $classes css class + * @param string|string[] $classes css class */ function listo_open($classes = null) { $class = ''; if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class = " class=\"$classes\""; } $this->doc .= "<ol$class>".DOKU_LF; @@ -1314,13 +1316,14 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * @param int $maxcols maximum number of columns * @param int $numrows NOT IMPLEMENTED * @param int $pos byte position in the original source - * @param string $classes css class + * @param string|string[] $classes css class */ function table_open($maxcols = null, $numrows = null, $pos = null, $classes = null) { // initialize the row counter used for classes $this->_counter['row_counter'] = 0; $class = 'table'; if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class .= ' ' . $classes; } if($pos !== null) { @@ -1373,13 +1376,14 @@ class Doku_Renderer_xhtml extends Doku_Renderer { /** * Open a table row * - * @param string $classes css class + * @param string|string[] $classes css class */ function tablerow_open($classes = null) { // initialize the cell counter used for classes $this->_counter['cell_counter'] = 0; $class = 'row'.$this->_counter['row_counter']++; if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class .= ' ' . $classes; } $this->doc .= DOKU_TAB.'<tr class="'.$class.'">'.DOKU_LF.DOKU_TAB.DOKU_TAB; @@ -1398,7 +1402,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * @param int $colspan * @param string $align left|center|right * @param int $rowspan - * @param string $classes css class + * @param string|string[] $classes css class */ function tableheader_open($colspan = 1, $align = null, $rowspan = 1, $classes = null) { $class = 'class="col'.$this->_counter['cell_counter']++; @@ -1406,6 +1410,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $class .= ' '.$align.'align'; } if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class .= ' ' . $classes; } $class .= '"'; @@ -1433,7 +1438,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { * @param int $colspan * @param string $align left|center|right * @param int $rowspan - * @param string $classes css class + * @param string|string[] $classes css class */ function tablecell_open($colspan = 1, $align = null, $rowspan = 1, $classes = null) { $class = 'class="col'.$this->_counter['cell_counter']++; @@ -1441,6 +1446,7 @@ class Doku_Renderer_xhtml extends Doku_Renderer { $class .= ' '.$align.'align'; } if($classes !== null) { + if(is_array($classes)) $classes = join(' ', $classes); $class .= ' ' . $classes; } $class .= '"';