summaryrefslogtreecommitdiff
path: root/modules/node/node.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/node/node.module')
-rw-r--r--modules/node/node.module28
1 files changed, 24 insertions, 4 deletions
diff --git a/modules/node/node.module b/modules/node/node.module
index 48f680aa0..cbb0d5013 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -2,11 +2,12 @@
$module = array("admin" => "node_admin");
-function node_overview($query = 0) {
+function node_overview($query = array()) {
global $user, $rstatus;
- $result = db_query("SELECT n.*, u.userid FROM node n LEFT JOIN users u ON n.author = u.id ". ($query ? "WHERE $query" : "") ." ORDER BY n.timestamp DESC");
+ $result = db_query("SELECT n.*, u.userid FROM node n LEFT JOIN users u ON n.author = u.id $query[1] LIMIT 50");
+ $output .= status($query[0]);
$output .= "<TABLE BORDER=\"1\" CELLPADDING=\"2\" CELLSPACING=\"2\">\n";
$output .= " <TR><TH>title</TH><TH>type</TH><TH>status</TH><TH>author</TH><TH>date</TH><TH COLSPAN=\"3\">operations</TH></TR>\n";
while ($node = db_fetch_object($result)) {
@@ -60,10 +61,26 @@ function node_delete($id) {
return (node_del("nid", $id) ? "node has been deleted." : "failed to delete node: node must be dumped first.");
}
+function node_query($type = "") {
+ global $status;
+ $queries = array(0 => array("active nodes", "ORDER BY n.timestamp DESC"), 1 => array("posted nodes", "WHERE n.status = '$status[posted]' ORDER BY n.timestamp DESC"), 2 => array("queued nodes", "WHERE n.status = '$status[queued]' ORDER BY n.timestamp DESC"), 3 => array("dumped nodes", "WHERE n.status = '$status[dumped]' ORDER BY n.timestamp DESC"));
+ return ($queries[$type] ? $queries[$type] : $queries);
+}
+
+function node_listing() {
+ foreach (node_query() as $key=>$array) {
+ $output .= "<LI><A HREF=\"admin.php?mod=node&type=$key\">$array[0]</A></LI>\n";
+ }
+ return "<OL>$output</OL>\n";
+}
+
function node_admin() {
- global $op, $id, $edit;
+ global $op, $id, $edit, $type;
+
+ print "<SMALL><A HREF=\"admin.php?mod=node&op=listing\">node listings</A> | <A HREF=\"admin.php?mod=node\">overview</A></SMALL><HR>\n";
$id = check_input($edit[nid] ? $edit[nid] : $id);
+ $type = ($type ? $type : 0);
switch ($op) {
case "Edit node":
@@ -74,6 +91,9 @@ function node_admin() {
print status(node_delete($id));
print node_overview();
break;
+ case "listing":
+ print node_listing();
+ break;
case "Save node":
print status(node_save($edit));
print node_admin_view($id);
@@ -83,7 +103,7 @@ function node_admin() {
print node_admin_view($id);
break;
default:
- print node_overview();
+ print node_overview(node_query($type));
}
}