roundcubemail/program/lib/Roundcube/html.php
public function show($attrib = null)
    {
        if (is_array($attrib)) {
            $this->attrib = array_merge($this->attrib, $attrib);
        }

        $thead = $tbody = "";

        // include <thead>
        if (!empty($this->header)) {
            $rowcontent = '';
            foreach ($this->header as $c => $col) {
                $rowcontent .= self::tag($this->_head_tagname(), $col->attrib, $col->content);
            }
            $thead = $this->tagname == 'table' ? self::tag('thead', null, self::tag('tr', null, $rowcontent, parent::$common_attrib)) :
                self::tag($this->_row_tagname(), array('class' => 'thead'), $rowcontent, parent::$common_attrib);
        }

        foreach ($this->rows as $r => $row) {
            $rowcontent = '';
            foreach ($row->cells as $c => $col) {
                $rowcontent .= self::tag($this->_col_tagname(), $col->attrib, $col->content);
            }

            if ($r < $this->rowindex || count($row->cells)) {
                $tbody .= self::tag($this->_row_tagname(), $row->attrib, $rowcontent, parent::$common_attrib);
            }
        }

        if ($this->attrib['rowsonly']) {
            return $tbody;
        }

        // add <tbody>
        $this->content = $thead . ($this->tagname == 'table' ? self::tag('tbody', null, $tbody) : $tbody);

        unset($this->attrib['cols'], $this->attrib['rowsonly']);
        return parent::show();
    }
public function show($attrib = null)
    {
        if (is_array($attrib)) {
            $this->attrib = array_merge($this->attrib, $attrib);
        }

        $thead = $tbody = "";

        // include <thead>
        if (!empty($this->header)) {
            $rowcontent = '';
            foreach ($this->header as $c => $col) {
                $rowcontent .= self::tag($this->_head_tagname(), $col->attrib, $col->content);
            }
            $thead = $this->tagname == 'table' ? self::tag('thead', null, self::tag('tr', null, $rowcontent, parent::$common_attrib)) :
                self::tag($this->_row_tagname(), array('class' => 'thead'), $rowcontent, parent::$common_attrib);
        }

        foreach ($this->rows as $r => $row) {
            $rowcontent = '';
            foreach ($row->cells as $c => $col) {
                $rowcontent .= self::tag($this->_col_tagname(), $col->attrib, $col->content);
            }

            if ($r < $this->rowindex || count($row->cells)) {
                $tbody .= self::tag($this->_row_tagname(), $row->attrib, $rowcontent, parent::$common_attrib);
            }
        }

        if ($this->attrib['rowsonly']) {
            return $tbody;
        }

        // add <tbody>
        $this->content = $thead . ($this->tagname == 'table' ? self::tag('tbody', null, $tbody) : $tbody);

        unset($this->attrib['cols'], $this->attrib['rowsonly']);
        return parent::show();
    }
public function show ( $ attrib = null ) { if ( is_array ( $ attrib ) ) { $ this -> attrib = array_merge ( $ this -> attrib , $ attrib ) ; } $ thead = $ tbody = "" ; // include <thead> if ( ! empty ( $ this -> header ) ) { $ rowcontent = '' ; foreach ( $ this -> header as $ c => $ col ) { $ rowcontent .= self :: tag ( $ this -> _head_tagname ( ) , $ col -> attrib , $ col -> content ) ; } $ thead = $ this -> tagname == 'table' ? self :: tag ( 'thead' , null , self :: tag ( 'tr' , null , $ rowcontent , parent :: $ common_attrib ) ) : self :: tag ( $ this -> _row_tagname ( ) , array ( 'class' => 'thead' ) , $ rowcontent , parent :: $ common_attrib ) ; } foreach ( $ this -> rows as $ r => $ row ) { $ rowcontent = '' ; foreach ( $ row -> cells as $ c => $ col ) { $ rowcontent .= self :: tag ( $ this -> _col_tagname ( ) , $ col -> attrib , $ col -> content ) ; } if ( $ r < $ this -> rowindex || count ( $ row -> cells ) ) { $ tbody .= self :: tag ( $ this -> _row_tagname ( ) , $ row -> attrib , $ rowcontent , parent :: $ common_attrib ) ; } } if ( $ this -> attrib [ 'rowsonly' ] ) { return $ tbody ; } // add <tbody> $ this -> content = $ thead . ( $ this -> tagname == 'table' ? self :: tag ( 'tbody' , null , $ tbody ) : $ tbody ) ; unset ( $ this -> attrib [ 'cols' ] , $ this -> attrib [ 'rowsonly' ] ) ; return parent :: show ( ) ; }
Build HTML output of the table data

@param array $attrib Table attributes

@return string The final table HTML code
Build HTML output of the table data