"node_admin"); function node_overview($query = array()) { global $user; $result = db_query("SELECT n.*, u.userid, c.name AS category FROM node n LEFT JOIN users u ON n.author = u.id LEFT JOIN category c ON n.cid = c.cid $query[1] LIMIT 50"); $output .= status($query[0]); $output .= "\n"; $output .= " \n"; while ($node = db_fetch_object($result)) { $output .= " \n"; } $output .= "
titlecategorystatusauthordateoperations
nid\">". check_output($node->title) ."". check_output($node->category ? $node->category : $node->type) ."". node_status($node, $node->status) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."". (user_access($user, "node") ? "nid\">edit node" : "edit node") ."". (user_access($user, $node->type) ? "type&op=edit&id=$node->nid\">edit $node->type" : "edit $node->type") ."
\n"; return $output; } function node_admin_view($id) { $node = node_get_object("nid", $id); $output .= "
nid\" METHOD=\"post\">\n"; $output .= form_item("Title", check_output($node->title)); $output .= form_item("Author", format_username($node->userid)); $output .= form_item("Status", node_status($node, $node->status)); $output .= form_item("Comment", node_comment_status($node->comment)); $output .= form_item("Promote", node_promote_status($node->promote)); $output .= form_item("Moderate", check_output($node->moderate)); $output .= form_item("Date", format_date($node->timestamp)); $output .= form_submit("Edit node"); $output .= form_submit("Delete node"); $output .= "
\n"; return $output; } function node_admin_edit($id) { global $user; $node = node_get_object("nid", $id); $output .= "
nid\" METHOD=\"post\">\n"; $output .= form_item("Title", check_output($node->title)); $output .= form_select("Author", "author", $node->author, array($node->author => $node->userid, $user->id => $user->userid)); $output .= form_select("Status", "status", $node->status, node_status($node)); $output .= form_select("Comment", "comment", $node->comment, node_comment_status()); $output .= form_select("Promote", "promote", $node->promote, node_promote_status()); $output .= form_textfield("Moderate", "moderate", $node->moderate, 35, 255, t("A comma-seperated list of usernames.")); $output .= form_select("Date", "timestamp", $node->timestamp, array($node->timestamp => format_date($node->timestamp) ." (original)", time() => format_date(time()) ." (current)")); $output .= form_hidden("nid", $node->nid); $output .= form_submit("View node"); $output .= form_submit("Save node"); $output .= "
\n"; return $output; } 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(array("recent nodes", "ORDER BY n.timestamp DESC"), array("posted nodes", "WHERE n.status = '$status[posted]' ORDER BY n.timestamp DESC"), array("queued nodes", "WHERE n.status = '$status[queued]' ORDER BY n.timestamp DESC"), array("dumped nodes", "WHERE n.status = '$status[dumped]' ORDER BY n.timestamp DESC")); return ($queries[$type] ? $queries[$type] : $queries); } function node_listing($queries) { global $mod; foreach ($queries as $key=>$array) { $output .= "
  • $array[0]
  • \n"; } return "
      $output
    \n"; } function node_admin() { global $op, $id, $edit, $type; print "node listings | overview
    \n"; $id = check_input($edit[nid] ? $edit[nid] : $id); $type = ($type ? $type : 0); switch ($op) { case "Edit node": case "edit": print node_admin_edit($id); break; case "Delete node": print status(node_delete($id)); print node_overview(); break; case "listing": print node_listing(node_query()); break; case "Save node": node_save($edit); print node_admin_view($id); break; case "View node": case "view": print node_admin_view($id); break; default: print node_overview(node_query($type)); } } ?>