diff options
author | alecpl <alec@alec.pl> | 2011-06-15 11:34:51 +0000 |
---|---|---|
committer | alecpl <alec@alec.pl> | 2011-06-15 11:34:51 +0000 |
commit | feac485000ada0ff9de9b1c6bcd2e4d8ab75b2f1 (patch) | |
tree | 1d28bb268413b9047a511adbf2acbeefffd6d955 /program/include | |
parent | ca7dda494876d514dd7336088cb1adced3248a10 (diff) |
- Added html_table::get_row_attribs(), extended html_table::set_row_attribs()
Diffstat (limited to 'program/include')
-rw-r--r-- | program/include/html.php | 44 |
1 files changed, 32 insertions, 12 deletions
diff --git a/program/include/html.php b/program/include/html.php index 8f932ce2c..b376d8a88 100644 --- a/program/include/html.php +++ b/program/include/html.php @@ -562,7 +562,7 @@ class html_table extends html { protected $tagname = 'table'; protected $allowed = array('id','class','style','width','summary', - 'cellpadding','cellspacing','border'); + 'cellpadding','cellspacing','border'); private $header = array(); private $rows = array(); @@ -629,17 +629,17 @@ class html_table extends html public function remove_column($class) { // Remove the header - foreach($this->header as $index=>$header){ - if($header->attrib['class'] == $class){ + foreach ($this->header as $index=>$header){ + if ($header->attrib['class'] == $class){ unset($this->header[$index]); break; } } // Remove cells from rows - foreach($this->rows as $i=>$row){ - foreach($row->cells as $j=>$cell){ - if($cell->attrib['class'] == $class){ + foreach ($this->rows as $i=>$row){ + foreach ($row->cells as $j=>$cell){ + if ($cell->attrib['class'] == $class){ unset($this->rows[$i]->cells[$j]); break; } @@ -662,16 +662,36 @@ class html_table extends html } /** - * Set current row attrib + * Set row attributes * - * @param array $attr Row attributes + * @param array $attr Row attributes + * @param int $index Optional row index (default current row index) */ - public function set_row_attribs($attr = array()) + public function set_row_attribs($attr = array(), $index = null) { if (is_string($attr)) $attr = array('class' => $attr); - $this->rows[$this->rowindex]->attrib = $attr; + if ($index === null) + $index = $this->rowindex; + + if ($this->rows[$index]) + $this->rows[$index]->attrib = $attr; + } + + /** + * Get row attributes + * + * @param int $index Row index + * + * @return array Row attributes + */ + public function get_row_attribs($index = null) + { + if ($index === null) + $index = $this->rowindex; + + return $this->rows[$index] ? $this->rows[$index]->attrib : null; } /** @@ -684,7 +704,7 @@ class html_table extends html { if (is_array($attrib)) $this->attrib = array_merge($this->attrib, $attrib); - + $thead = $tbody = ""; // include <thead> @@ -717,7 +737,7 @@ class html_table extends html unset($this->attrib['cols'], $this->attrib['rowsonly']); return parent::show(); } - + /** * Count number of rows * |