Commit 36bb5755 authored by Dries's avatar Dries

- table(...) -> theme("table", ...)
parent e8de9721
......@@ -256,73 +256,6 @@ function drupal_specialchars($input, $quotes = ENT_NOQUOTES) {
return htmlspecialchars($input, $quotes);
}
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>\n";
/*
** Emit the table header:
*/
if (is_array($header)) {
$output .= " <tr>";
foreach ($header as $cell) {
if (is_array($cell) && $cell["field"]) {
$cell = tablesort($cell, $header);
}
$output .= table_cell($cell, 1);
}
$output .= " </tr>\n";
}
/*
** Emit the table rows:
*/
if (is_array($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>\n";
}
}
$output .= "</table>\n";
return $output;
}
/**
* Verify the syntax of the given e-mail address. Empty e-mail addresses
* are allowed. See RFC 2822 for details.
......
......@@ -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 = "<th$attributes>$data</th>";
}
else {
$output = "<td$attributes>$data</td>";
}
return $output;
}
/**
Returns themed table.
@param $header
@param $rows
@return a string contraining the \a node output.
**/
function theme_table($header, $rows) {
$output = "<table>\n";
/*
** Emit the table header:
*/
if (is_array($header)) {
$output .= " <tr>";
foreach ($header as $cell) {
if (is_array($cell) && $cell["field"]) {
$cell = tablesort($cell, $header);
}
$output .= _theme_table_cell($cell, 1);
}
$output .= " </tr>\n";
}
/*
** Emit the table rows:
*/
if (is_array($rows)) {
foreach ($rows as $number => $row) {
if ($number % 2 == 1) {
$output .= " <tr class=\"light\">";
}
else {
$output .= " <tr class=\"dark\">";
}
foreach ($row as $cell) {
$output .= _theme_table_cell($cell, 0);
}
$output .= " </tr>\n";
}
}
$output .= "</table>\n";
return $output;
}
/**
Returns themed box.
......
......@@ -522,7 +522,7 @@ function import_view() {
while ($feed = db_fetch_object($result)) {
$rows[] = array($feed->title, $feed->attributes, format_plural($feed->items, "1 item", "%count items"), ($feed->timestamp ? format_interval(time() - $feed->timestamp) ." ago" : "never"), ($feed->timestamp ? format_interval($feed->timestamp + $feed->refresh - time()) ." left" : "never"), l(t("edit feed"), "admin/node/syndication/news/edit/feed/$feed->fid"), l(t("remove items"), "admin/node/syndication/news/remove/$feed->fid"), l(t("update items"), "admin/node/syndication/news/update/$feed->fid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$result = db_query("SELECT * FROM {bundle} ORDER BY title");
......@@ -533,7 +533,7 @@ function import_view() {
while ($bundle = db_fetch_object($result)) {
$rows[] = array($bundle->title, $bundle->attributes, l(t("edit bundle"), "admin/node/syndication/news/edit/bundle/$bundle->bid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return $output;
}
......@@ -547,7 +547,7 @@ function import_tag() {
$rows[] = array(array("data" => format_date($item->timestamp, "small"), "nowrap" => "nowrap", "valign" => "top"), array("data" => l($item->feed, "admin/node/syndication/news/edit/feed/$item->fid"), "valign" => "top"), "<a href=\"$item->link\">$item->title</a>". ($item->description ? "<br /><small><i>$item->description</i></small>" : "") ."<br /><input type=\"text\" name=\"edit[$item->iid]\" value=\"". check_form($item->attributes) ."\" size=\"50\" />");
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<input type=\"submit\" name=\"op\" value=\"". t("Save attributes") ."\" />\n";
return form($output);
......
......@@ -522,7 +522,7 @@ function import_view() {
while ($feed = db_fetch_object($result)) {
$rows[] = array($feed->title, $feed->attributes, format_plural($feed->items, "1 item", "%count items"), ($feed->timestamp ? format_interval(time() - $feed->timestamp) ." ago" : "never"), ($feed->timestamp ? format_interval($feed->timestamp + $feed->refresh - time()) ." left" : "never"), l(t("edit feed"), "admin/node/syndication/news/edit/feed/$feed->fid"), l(t("remove items"), "admin/node/syndication/news/remove/$feed->fid"), l(t("update items"), "admin/node/syndication/news/update/$feed->fid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$result = db_query("SELECT * FROM {bundle} ORDER BY title");
......@@ -533,7 +533,7 @@ function import_view() {
while ($bundle = db_fetch_object($result)) {
$rows[] = array($bundle->title, $bundle->attributes, l(t("edit bundle"), "admin/node/syndication/news/edit/bundle/$bundle->bid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return $output;
}
......@@ -547,7 +547,7 @@ function import_tag() {
$rows[] = array(array("data" => format_date($item->timestamp, "small"), "nowrap" => "nowrap", "valign" => "top"), array("data" => l($item->feed, "admin/node/syndication/news/edit/feed/$item->fid"), "valign" => "top"), "<a href=\"$item->link\">$item->title</a>". ($item->description ? "<br /><small><i>$item->description</i></small>" : "") ."<br /><input type=\"text\" name=\"edit[$item->iid]\" value=\"". check_form($item->attributes) ."\" size=\"50\" />");
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<input type=\"submit\" name=\"op\" value=\"". t("Save attributes") ."\" />\n";
return form($output);
......
......@@ -164,7 +164,7 @@ function block_admin_display() {
$rows[] = array($block["info"], array("data" => form_checkbox(NULL, $block["module"]."][".$block["delta"]."][status", 1, $block["status"]), "align" => "center"), array("data" => form_checkbox(NULL, $block["module"]."][".$block["delta"]."][custom", 1, $block["custom"]), "align" => "center"), form_weight(NULL, $block["module"]."][".$block["delta"]."][weight", $block["weight"]), form_radios(NULL, $block["module"]."][".$block["delta"]."][region", $block["region"], array(t("left"), t("right"))), form_textfield(NULL, $block["module"]."][".$block["delta"]."][path", $block["path"], 10, 255), $edit, $delete);
}
$output = table($header, $rows);
$output = theme("table", $header, $rows);
$output .= form_submit(t("Save blocks"));
return form($output);
......
......@@ -164,7 +164,7 @@ function block_admin_display() {
$rows[] = array($block["info"], array("data" => form_checkbox(NULL, $block["module"]."][".$block["delta"]."][status", 1, $block["status"]), "align" => "center"), array("data" => form_checkbox(NULL, $block["module"]."][".$block["delta"]."][custom", 1, $block["custom"]), "align" => "center"), form_weight(NULL, $block["module"]."][".$block["delta"]."][weight", $block["weight"]), form_radios(NULL, $block["module"]."][".$block["delta"]."][region", $block["region"], array(t("left"), t("right"))), form_textfield(NULL, $block["module"]."][".$block["delta"]."][path", $block["path"], 10, 255), $edit, $delete);
}
$output = table($header, $rows);
$output = theme("table", $header, $rows);
$output .= form_submit(t("Save blocks"));
return form($output);
......
......@@ -741,7 +741,7 @@ function book_admin_view($nid, $depth = 0) {
$rows[] = book_admin_view_line($node);
$rows = array_merge($rows, book_admin_view_book($nid));
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= form_submit(t("Save book pages"));
return form($output);
......@@ -797,7 +797,7 @@ function book_admin_orphan() {
$rows = array_merge($rows, book_admin_view_book($node->nid, $depth + 1));
}
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
return $output;
......
......@@ -741,7 +741,7 @@ function book_admin_view($nid, $depth = 0) {
$rows[] = book_admin_view_line($node);
$rows = array_merge($rows, book_admin_view_book($nid));
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= form_submit(t("Save book pages"));
return form($output);
......@@ -797,7 +797,7 @@ function book_admin_orphan() {
$rows = array_merge($rows, book_admin_view_book($node->nid, $depth + 1));
}
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
return $output;
......
......@@ -143,7 +143,7 @@ function cloud_display() {
$rows[] = array("<a href=\"$site->link\">$site->name</a>", ($site->changed ? format_interval(time() - $site->changed) ." ago" : "never"), l(t("edit site"), "admin/node/syndication/cloud/edit/$site->sid"), l(t("update site"), "admin/node/syndication/cloud/update/$site->sid"));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function cloud_list($limit = 10) {
......
......@@ -939,7 +939,7 @@ function comment_node_link($node) {
if ($rows) {
$output = "<h3>". t("Edit comments") ."</h3>";
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
return $output;
......@@ -1011,7 +1011,7 @@ function comment_admin_overview($status = 0) {
$rows[] = array(array("data" => $pager, "colspan" => 6));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function comment_mod_matrix($edit) {
......@@ -1050,7 +1050,7 @@ function comment_mod_matrix($edit) {
}
$rows[] = $row;
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<br />". form_submit(t("Submit votes"));
return form($output);
......@@ -1075,7 +1075,7 @@ function comment_mod_roles($edit) {
$rows[] = array($role->name, array("data" => form_textfield(NULL, $role->rid, $start_values[$role->rid], 4, 3), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<br />". form_submit(t("Save scores"));
return form($output);
......@@ -1110,7 +1110,7 @@ function comment_mod_votes($edit) {
while ($vote = db_fetch_object($result)) {
$rows[] = array($vote->vote, array("data" => $vote->weight, "align" => "center"), array("data" => l(t("edit"), "admin/comment/moderation/votes/$vote->mid"), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
if ($mid) {
$vote = db_fetch_object(db_query("SELECT vote, weight FROM {moderation_votes} WHERE mid = %d", $mid));
......@@ -1161,7 +1161,7 @@ function comment_mod_filters($edit) {
while ($filter = db_fetch_object($result)) {
$rows[] = array($filter->filter, array("data" => $filter->minimum, "align" => "center"), array("data" => l(t("edit"), "admin/comment/moderation/filters/$filter->fid"), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
if ($fid) {
$filter = db_fetch_object(db_query("SELECT filter, fid, minimum FROM {moderation_filters} WHERE fid = %d", $fid));
......
......@@ -939,7 +939,7 @@ function comment_node_link($node) {
if ($rows) {
$output = "<h3>". t("Edit comments") ."</h3>";
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
return $output;
......@@ -1011,7 +1011,7 @@ function comment_admin_overview($status = 0) {
$rows[] = array(array("data" => $pager, "colspan" => 6));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function comment_mod_matrix($edit) {
......@@ -1050,7 +1050,7 @@ function comment_mod_matrix($edit) {
}
$rows[] = $row;
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<br />". form_submit(t("Submit votes"));
return form($output);
......@@ -1075,7 +1075,7 @@ function comment_mod_roles($edit) {
$rows[] = array($role->name, array("data" => form_textfield(NULL, $role->rid, $start_values[$role->rid], 4, 3), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<br />". form_submit(t("Save scores"));
return form($output);
......@@ -1110,7 +1110,7 @@ function comment_mod_votes($edit) {
while ($vote = db_fetch_object($result)) {
$rows[] = array($vote->vote, array("data" => $vote->weight, "align" => "center"), array("data" => l(t("edit"), "admin/comment/moderation/votes/$vote->mid"), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
if ($mid) {
$vote = db_fetch_object(db_query("SELECT vote, weight FROM {moderation_votes} WHERE mid = %d", $mid));
......@@ -1161,7 +1161,7 @@ function comment_mod_filters($edit) {
while ($filter = db_fetch_object($result)) {
$rows[] = array($filter->filter, array("data" => $filter->minimum, "align" => "center"), array("data" => l(t("edit"), "admin/comment/moderation/filters/$filter->fid"), "align" => "center"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
if ($fid) {
$filter = db_fetch_object(db_query("SELECT filter, fid, minimum FROM {moderation_filters} WHERE fid = %d", $fid));
......
......@@ -574,7 +574,7 @@ function theme_forum_list($forums, $parents, $tid) {
}
}
return table($header, $rows);
return theme("table", $header, $rows);
}
/**
......@@ -623,7 +623,7 @@ function theme_forum_topic_list($tid, $topics, $sortby, $forum_per_page, $offset
$output = l(t("create new forum topic"), "node/add/forum/$tid") ."<br /><br />";
}
$output .= table($forum_topic_list_header, $rows);
$output .= theme("table", $forum_topic_list_header, $rows);
return $output;
}
......
......@@ -574,7 +574,7 @@ function theme_forum_list($forums, $parents, $tid) {
}
}
return table($header, $rows);
return theme("table", $header, $rows);
}
/**
......@@ -623,7 +623,7 @@ function theme_forum_topic_list($tid, $topics, $sortby, $forum_per_page, $offset
$output = l(t("create new forum topic"), "node/add/forum/$tid") ."<br /><br />";
}
$output .= table($forum_topic_list_header, $rows);
$output .= theme("table", $forum_topic_list_header, $rows);
return $output;
}
......
......@@ -522,7 +522,7 @@ function import_view() {
while ($feed = db_fetch_object($result)) {
$rows[] = array($feed->title, $feed->attributes, format_plural($feed->items, "1 item", "%count items"), ($feed->timestamp ? format_interval(time() - $feed->timestamp) ." ago" : "never"), ($feed->timestamp ? format_interval($feed->timestamp + $feed->refresh - time()) ." left" : "never"), l(t("edit feed"), "admin/node/syndication/news/edit/feed/$feed->fid"), l(t("remove items"), "admin/node/syndication/news/remove/$feed->fid"), l(t("update items"), "admin/node/syndication/news/update/$feed->fid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$result = db_query("SELECT * FROM {bundle} ORDER BY title");
......@@ -533,7 +533,7 @@ function import_view() {
while ($bundle = db_fetch_object($result)) {
$rows[] = array($bundle->title, $bundle->attributes, l(t("edit bundle"), "admin/node/syndication/news/edit/bundle/$bundle->bid"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return $output;
}
......@@ -547,7 +547,7 @@ function import_tag() {
$rows[] = array(array("data" => format_date($item->timestamp, "small"), "nowrap" => "nowrap", "valign" => "top"), array("data" => l($item->feed, "admin/node/syndication/news/edit/feed/$item->fid"), "valign" => "top"), "<a href=\"$item->link\">$item->title</a>". ($item->description ? "<br /><small><i>$item->description</i></small>" : "") ."<br /><input type=\"text\" name=\"edit[$item->iid]\" value=\"". check_form($item->attributes) ."\" size=\"50\" />");
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
$output .= "<input type=\"submit\" name=\"op\" value=\"". t("Save attributes") ."\" />\n";
return form($output);
......
......@@ -229,7 +229,7 @@ function locale_seek() {
$rows[] = array(array("data" => "$pager", "colspan" => "5"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
......
......@@ -229,7 +229,7 @@ function locale_seek() {
$rows[] = array(array("data" => "$pager", "colspan" => "5"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
......
......@@ -683,7 +683,7 @@ function node_admin_nodes() {
}
$output .= "<h3>". $filters[$filter][0] ."</h3>";
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return form($output);
}
......@@ -724,14 +724,14 @@ function node_admin_settings($edit) {
}
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
/* This is an idea for the future.
foreach (module_list() as $name) {
if (module_hook($name, "node")) {
$node->type = $name;
// Create table() data:
// Create theme("table", ) data:
$header = array_keys(node_invoke_nodeapi($node, "settings"));
$cols = array();
foreach (node_invoke_nodeapi($node, "settings") as $setting) {
......@@ -739,7 +739,7 @@ function node_admin_settings($edit) {
}
$output .= "<h2>". module_invoke($name, "node", "name") ."</h2>";
$output .= table($header, array($cols));
$output .= theme("table", $header, array($cols));
$output .= "<br /><br />";
}
}
......@@ -763,7 +763,7 @@ function node_revision_overview($nid) {
foreach ($node->revisions as $key => $revision) {
$rows[] = array(t("revision #%r revised by %u on %d", array("%r" => $key, "%u" => format_name(user_load(array("uid" => $revision["uid"]))), "%d" => format_date($revision["timestamp"], "small"))) . ($revision["history"] ? "<br /><small>". $revision["history"] ."</small>" : ""), l(t("view"), "node/view/$node->nid", array(), "revision=$key"), l(t("rollback"), "node/rollback-revision/$node->nid/$key"), l(t("delete"), "node/delete-revision/$node->nid/$key"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
}
......
......@@ -683,7 +683,7 @@ function node_admin_nodes() {
}
$output .= "<h3>". $filters[$filter][0] ."</h3>";
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return form($output);
}
......@@ -724,14 +724,14 @@ function node_admin_settings($edit) {
}
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
/* This is an idea for the future.
foreach (module_list() as $name) {
if (module_hook($name, "node")) {
$node->type = $name;
// Create table() data:
// Create theme("table", ) data:
$header = array_keys(node_invoke_nodeapi($node, "settings"));
$cols = array();
foreach (node_invoke_nodeapi($node, "settings") as $setting) {
......@@ -739,7 +739,7 @@ function node_admin_settings($edit) {
}
$output .= "<h2>". module_invoke($name, "node", "name") ."</h2>";
$output .= table($header, array($cols));
$output .= theme("table", $header, array($cols));
$output .= "<br /><br />";
}
}
......@@ -763,7 +763,7 @@ function node_revision_overview($nid) {
foreach ($node->revisions as $key => $revision) {
$rows[] = array(t("revision #%r revised by %u on %d", array("%r" => $key, "%u" => format_name(user_load(array("uid" => $revision["uid"]))), "%d" => format_date($revision["timestamp"], "small"))) . ($revision["history"] ? "<br /><small>". $revision["history"] ."</small>" : ""), l(t("view"), "node/view/$node->nid", array(), "revision=$key"), l(t("rollback"), "node/rollback-revision/$node->nid/$key"), l(t("delete"), "node/delete-revision/$node->nid/$key"));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
}
}
......
......@@ -212,7 +212,7 @@ function path_overview() {
$rows[] = array(array("data" => t("No URL aliases available."), "colspan" => "4"));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function path_load($pid) {
......
......@@ -212,7 +212,7 @@ function path_overview() {
$rows[] = array(array("data" => t("No URL aliases available."), "colspan" => "4"));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function path_load($pid) {
......
......@@ -72,7 +72,7 @@ function profile_settings() {
$row[$i][] = form_checkbox("", "profile_register_fields][", $key, in_array($key, $profile_register_fields));
$i++;
}
$output .= table($header, $row);
$output .= theme("table", $header, $row);
$output .= form_textfield(t("Avatar image path"), "profile_avatar_path", variable_get("profile_avatar_path", "misc/avatars/"), 30, 255, t("Path for avatar directory; it must be writable and visible from the web."));
$output .= form_textfield(t("Avatar maximum dimensions"), "profile_avatar_dimensions", variable_get("profile_avatar_dimensions", "85x85"), 10, 10, t("Maximum dimensions for avatars."));
......
......@@ -72,7 +72,7 @@ function profile_settings() {
$row[$i][] = form_checkbox("", "profile_register_fields][", $key, in_array($key, $profile_register_fields));
$i++;
}
$output .= table($header, $row);
$output .= theme("table", $header, $row);
$output .= form_textfield(t("Avatar image path"), "profile_avatar_path", variable_get("profile_avatar_path", "misc/avatars/"), 30, 255, t("Path for avatar directory; it must be writable and visible from the web."));
$output .= form_textfield(t("Avatar maximum dimensions"), "profile_avatar_dimensions", variable_get("profile_avatar_dimensions", "85x85"), 10, 10, t("Maximum dimensions for avatars."));
......
......@@ -340,7 +340,7 @@ function statistics_admin_topnodes_table() {
$rows[] = array(array("data" => $pager, "colspan" => 5));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
......@@ -399,7 +399,7 @@ function statistics_admin_accesslog_table($type, $id) {
$rows[] = array(array("data" => $pager, "colspan" => 8));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function statistics_top_refer() {
......@@ -440,7 +440,7 @@ function statistics_top_refer() {
$rows[] = array(array("data" => $pager, "colspan" => 3));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return $output;
......
......@@ -340,7 +340,7 @@ function statistics_admin_topnodes_table() {
$rows[] = array(array("data" => $pager, "colspan" => 5));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
......@@ -399,7 +399,7 @@ function statistics_admin_accesslog_table($type, $id) {
$rows[] = array(array("data" => $pager, "colspan" => 8));
}
return table($header, $rows);
return theme("table", $header, $rows);
}
function statistics_top_refer() {
......@@ -440,7 +440,7 @@ function statistics_top_refer() {
$rows[] = array(array("data" => $pager, "colspan" => 3));
}
$output .= table($header, $rows);
$output .= theme("table", $header, $rows);
return $output;
......
......@@ -313,7 +313,7 @@ function system_listing($type, $directory, $required = array()) {
$rows[] = array($info->name, $info->description, array("data" => (in_array($filename, $required) ? form_hidden("status][$filename", 1) . t("required") : form_checkbox("", "status][$filename", 1, $file->status)), "align" => "center"));
}
$output = table($header, $rows);
$output = theme("table", $header, $rows);
// If we're doing themes, stick the default one here...
if ($type == "theme") {
......