- Added table rendering functions. As an example, I changed the node module

to take advantage of it.
4.2.x
Dries Buytaert 2002-12-29 12:03:08 +00:00
parent be431bd983
commit 14158fbc6b
4 changed files with 80 additions and 19 deletions

View File

@ -182,6 +182,66 @@ function variable_del($name) {
unset($conf[$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: * Format a single result entry of a search query:
* *

View File

@ -3,7 +3,6 @@ body {
margin: 0; margin: 0;
background-color: #fff; background-color: #fff;
} }
/* text */
body, th, td, h1, h2, h3, h4, #menu, #main { body, th, td, h1, h2, h3, h4, #menu, #main {
font-family: helvetica, arial; font-family: helvetica, arial;
} }
@ -35,16 +34,20 @@ h3 {
padding: 0 0 .5em 0; padding: 0 0 .5em 0;
} }
th { th {
font-size: 90%; text-align: center;
text-align: left; color: #994444;
vertical-align: top; border-bottom: 1px solid #000;
background-color: #CCCCCC; }
color: #995555; tr.dark {
background-color: #ccc;
}
tr.light {
background-color: #ddd;
} }
td { td {
font-size: 90%; font-size: 90%;
padding: 5px;
} }
/* layout */
#menu { #menu {
position: absolute; position: absolute;
left: 0px; left: 0px;

View File

@ -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); $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"; $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
$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";
while ($node = db_fetch_object($result)) { 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 table($header, $rows);
return $output;
} }
/* /*

View File

@ -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); $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"; $header = array(t("title"), t("type"), t("author"), t("status"), array("data" => t("operations"), "colspan" => 2));
$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";
while ($node = db_fetch_object($result)) { 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 table($header, $rows);
return $output;
} }
/* /*