From 14158fbc6b511965f0b2031d11c01b4bc0411c14 Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Sun, 29 Dec 2002 12:03:08 +0000 Subject: - Added table rendering functions. As an example, I changed the node module to take advantage of it. --- includes/common.inc | 60 ++++++++++++++++++++++++++++++++++++++++++++++++ misc/admin.css | 17 ++++++++------ modules/node.module | 11 ++++----- 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 = "$data"; + } + else { + $output = "$data"; + } + + return $output; +} + +function table($header, $rows) { + + $output .= ""; + + /* + ** Emit the table header: + */ + + $output .= " "; + foreach ($header as $cell) { + $output .= table_cell($cell, 1); + } + $output .= " "; + + /* + ** Emit the table rows: + */ + + foreach ($rows as $number => $row) { + if ($number % 2 == 1) { + $output .= " "; + } + else { + $output .= " "; + } + + foreach ($row as $cell) { + $output .= table_cell($cell, 0); + } + $output .= " "; + } + + $output .= "
"; + + 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 .= "\n"; - $output .= " \n"; + $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2)); + while ($node = db_fetch_object($result)) { - $output .= ""; + $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 .= "
". t("title") ."". t("type") ."". t("author") ."". t("status") ."". t("operations") ."
". 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)) ."
". pager_display(NULL, 50, 0, "admin") ."
"; - +// $output .= "". pager_display(NULL, 50, 0, "admin") .""; - 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 .= "\n"; - $output .= " \n"; + $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2)); + while ($node = db_fetch_object($result)) { - $output .= ""; + $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 .= "
". t("title") ."". t("type") ."". t("author") ."". t("status") ."". t("operations") ."
". 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)) ."
". pager_display(NULL, 50, 0, "admin") ."
"; - +// $output .= "". pager_display(NULL, 50, 0, "admin") .""; - return $output; + return table($header, $rows); } /* -- cgit v1.2.3