Source
* @param int|null $heading_column Column index for heading column. Starts from 0. 'null' if no heading column.
<?php
/*
** Copyright (C) 2001-2025 Zabbix SIA
**
** This program is free software: you can redistribute it and/or modify it under the terms of
** the GNU Affero General Public License as published by the Free Software Foundation, version 3.
**
** This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
** without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
** See the GNU Affero General Public License for more details.
**
** You should have received a copy of the GNU Affero General Public License along with this program.
** If not, see <https://www.gnu.org/licenses/>.
**/
class CTable extends CTag {
protected $colgroup;
protected $header;
protected $footer;
protected $colnum;
protected $rownum;
protected $heading_column;
public function __construct() {
parent::__construct('table', true);
$this->rownum = 0;
$this->colgroup = '';
$this->header = '';
$this->footer = '';
$this->colnum = 1;
$this->heading_column = null;
}
public function setCellPadding($value) {
$this->attributes['cellpadding'] = strval($value);
return $this;
}
public function setCellSpacing($value) {
$this->attributes['cellspacing'] = strval($value);
return $this;
}
public function prepareRow($item, $class = null, $id = null) {
if ($item === null) {
return null;
}
if ($item instanceof CCol) {
if (isset($this->header) && !isset($item->attributes['colspan'])) {
$item->attributes['colspan'] = $this->colnum;
}
}
if (!($item instanceof CRow)) {
$item = new CRow($item, $this->heading_column);
if ($id !== null) {
$item->setId($id);
}
}