From 36bb57555c1be31a19db442db35befba3188633a Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Thu, 13 Nov 2003 19:52:54 +0000 Subject: - table(...) -> theme("table", ...) --- includes/theme.inc | 77 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) (limited to 'includes/theme.inc') diff --git a/includes/theme.inc b/includes/theme.inc index 9eaa9e8bd..ae284d34d 100644 --- a/includes/theme.inc +++ b/includes/theme.inc @@ -122,6 +122,83 @@ function theme_node($node, $main) { return $output; } +function _theme_table_cell($cell, $header = 0) { + if (is_array($cell)) { + $data = $cell["data"]; + foreach ($cell as $key => $value) { + if ($key != "data") { + $attributes .= " $key=\"$value\""; + } + } + } + else { + $data = $cell; + } + + if ($header) { + $output = "$data"; + } + else { + $output = "$data"; + } + + return $output; +} + + +/** + Returns themed table. + + @param $header + @param $rows + + @return a string contraining the \a node output. +**/ + +function theme_table($header, $rows) { + + $output = "\n"; + + /* + ** Emit the table header: + */ + + if (is_array($header)) { + $output .= " "; + foreach ($header as $cell) { + if (is_array($cell) && $cell["field"]) { + $cell = tablesort($cell, $header); + } + $output .= _theme_table_cell($cell, 1); + } + $output .= " \n"; + } + + /* + ** Emit the table rows: + */ + + if (is_array($rows)) { + foreach ($rows as $number => $row) { + if ($number % 2 == 1) { + $output .= " "; + } + else { + $output .= " "; + } + + foreach ($row as $cell) { + $output .= _theme_table_cell($cell, 0); + } + $output .= " \n"; + } + } + + $output .= "
\n"; + + return $output; +} + /** Returns themed box. -- cgit v1.2.3