diff options
author | Dries Buytaert <dries@buytaert.net> | 2002-12-29 12:03:08 +0000 |
---|---|---|
committer | Dries Buytaert <dries@buytaert.net> | 2002-12-29 12:03:08 +0000 |
commit | 14158fbc6b511965f0b2031d11c01b4bc0411c14 (patch) | |
tree | 7685c533c2253a9db00512fbdaecbc4391128655 | |
parent | be431bd983e531417fccc7d162d447543cd9c3f7 (diff) | |
download | brdo-14158fbc6b511965f0b2031d11c01b4bc0411c14.tar.gz brdo-14158fbc6b511965f0b2031d11c01b4bc0411c14.tar.bz2 |
- Added table rendering functions. As an example, I changed the node module
to take advantage of it.
-rw-r--r-- | includes/common.inc | 60 | ||||
-rw-r--r-- | misc/admin.css | 17 | ||||
-rw-r--r-- | modules/node.module | 11 | ||||
-rw-r--r-- | modules/node/node.module | 11 |
4 files changed, 80 insertions, 19 deletions
diff --git a/includes/common.inc b/includes/common.inc index 4812e3e52..d3a909adf 100644 --- a/includes/common.inc +++ b/includes/common.inc @@ -182,6 +182,66 @@ function variable_del($name) { unset($conf[$name]); } +function 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 = "<th$attributes>$data</th>"; + } + else { + $output = "<td$attributes>$data</td>"; + } + + return $output; +} + +function table($header, $rows) { + + $output .= "<table>"; + + /* + ** Emit the table header: + */ + + $output .= " <tr>"; + foreach ($header as $cell) { + $output .= table_cell($cell, 1); + } + $output .= " </tr>"; + + /* + ** Emit the table rows: + */ + + foreach ($rows as $number => $row) { + if ($number % 2 == 1) { + $output .= " <tr class=\"light\">"; + } + else { + $output .= " <tr class=\"dark\">"; + } + + foreach ($row as $cell) { + $output .= table_cell($cell, 0); + } + $output .= " </tr>"; + } + + $output .= "</table>"; + + return $output; +} + /** * Format a single result entry of a search query: * diff --git a/misc/admin.css b/misc/admin.css index 4b692dffb..e9a86a5e6 100644 --- a/misc/admin.css +++ b/misc/admin.css @@ -3,7 +3,6 @@ body { margin: 0; background-color: #fff; } -/* text */ body, th, td, h1, h2, h3, h4, #menu, #main { font-family: helvetica, arial; } @@ -35,16 +34,20 @@ h3 { padding: 0 0 .5em 0; } th { - font-size: 90%; - text-align: left; - vertical-align: top; - background-color: #CCCCCC; - color: #995555; + text-align: center; + color: #994444; + border-bottom: 1px solid #000; +} +tr.dark { + background-color: #ccc; +} +tr.light { + background-color: #ddd; } td { font-size: 90%; + padding: 5px; } -/* layout */ #menu { position: absolute; left: 0px; diff --git a/modules/node.module b/modules/node.module index c1a82d46e..9b234fc78 100644 --- a/modules/node.module +++ b/modules/node.module @@ -493,15 +493,14 @@ function node_admin_nodes() { $result = pager_query("SELECT n.*, u.name, u.uid FROM node n LEFT JOIN users u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50); - $output .= "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n"; - $output .= " <tr><th>". t("title") ."</th><th>". t("type") ."</th><th>". t("author") ."</th><th>". t("status") ."</th><th colspan=\"2\">". t("operations") ."</th></tr>\n"; + $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2)); + while ($node = db_fetch_object($result)) { - $output .= "<tr><td>". l(check_output($node->title), array("id" => $node->nid)) ."</td><td>". module_invoke($node->type, "node", "name") ."</td><td nowrap=\"nowrap\">". format_name($node) ."</td><td>". ($node->status ? t("published") : t("not published")) ."</td><td nowrap=\"nowrap\">". la(t("edit node"), array("mod" => "node", "op" => "edit", "id" => $node->nid)) ."</td><td nowrap=\"nowrap\">". la(t("delete node"), array("mod" => "node", "op" => "delete", "id" => $node->nid)) ."</td></tr>"; + $rows[] = array(l(check_output($node->title), array("id" => $node->nid)), module_invoke($node->type, "node", "name"), format_name($node), ($node->status ? t("published") : t("not published")), la(t("edit node"), array("mod" => "node", "op" => "edit", "id" => $node->nid)), la(t("delete node"), array("mod" => "node", "op" => "delete", "id" => $node->nid))); } - $output .= "<tr><td colspan=\"6\">". pager_display(NULL, 50, 0, "admin") ."</td></tr></table>"; - +// $output .= "<tr><td colspan=\"6\">". pager_display(NULL, 50, 0, "admin") ."</td></tr></table>"; - return $output; + return table($header, $rows); } /* diff --git a/modules/node/node.module b/modules/node/node.module index c1a82d46e..9b234fc78 100644 --- a/modules/node/node.module +++ b/modules/node/node.module @@ -493,15 +493,14 @@ function node_admin_nodes() { $result = pager_query("SELECT n.*, u.name, u.uid FROM node n LEFT JOIN users u ON n.uid = u.uid ". $queries[$query ? $query : 0], 50); - $output .= "<table border=\"1\" cellpadding=\"2\" cellspacing=\"2\">\n"; - $output .= " <tr><th>". t("title") ."</th><th>". t("type") ."</th><th>". t("author") ."</th><th>". t("status") ."</th><th colspan=\"2\">". t("operations") ."</th></tr>\n"; + $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2)); + while ($node = db_fetch_object($result)) { - $output .= "<tr><td>". l(check_output($node->title), array("id" => $node->nid)) ."</td><td>". module_invoke($node->type, "node", "name") ."</td><td nowrap=\"nowrap\">". format_name($node) ."</td><td>". ($node->status ? t("published") : t("not published")) ."</td><td nowrap=\"nowrap\">". la(t("edit node"), array("mod" => "node", "op" => "edit", "id" => $node->nid)) ."</td><td nowrap=\"nowrap\">". la(t("delete node"), array("mod" => "node", "op" => "delete", "id" => $node->nid)) ."</td></tr>"; + $rows[] = array(l(check_output($node->title), array("id" => $node->nid)), module_invoke($node->type, "node", "name"), format_name($node), ($node->status ? t("published") : t("not published")), la(t("edit node"), array("mod" => "node", "op" => "edit", "id" => $node->nid)), la(t("delete node"), array("mod" => "node", "op" => "delete", "id" => $node->nid))); } - $output .= "<tr><td colspan=\"6\">". pager_display(NULL, 50, 0, "admin") ."</td></tr></table>"; - +// $output .= "<tr><td colspan=\"6\">". pager_display(NULL, 50, 0, "admin") ."</td></tr></table>"; - return $output; + return table($header, $rows); } /* |