From cb5bbdee20c649e5287fd9b90ce2f7215a6dcdec Mon Sep 17 00:00:00 2001 From: Dries Buytaert Date: Mon, 26 Mar 2001 20:22:09 +0000 Subject: - small improvements as well as 2 bugfixes --- modules/book.module | 25 +++++++++++++++++++++---- modules/book/book.module | 25 +++++++++++++++++++++---- modules/story.module | 18 +++++++++--------- modules/story/story.module | 18 +++++++++--------- 4 files changed, 60 insertions(+), 26 deletions(-) (limited to 'modules') diff --git a/modules/book.module b/modules/book.module index f7b4d08e9..ca0aa9751 100644 --- a/modules/book.module +++ b/modules/book.module @@ -62,7 +62,7 @@ function book_view($node, $page = 1) { function book_find($keys) { global $status, $user; $find = array(); - $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN book b ON n.nid = b.node LEFT JOIN users u ON n.author = u.id WHERE n.type = 'book' AND n.status = '$status[posted]' AND (n.title LIKE '%". check_input($keys) ."%' OR b.body LIKE '%". check_input($keys) ."%') ORDER BY n.timestamp DESC LIMIT 20", 1); + $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN book b ON n.nid = b.node LEFT JOIN users u ON n.author = u.id WHERE n.type = 'book' AND n.status = '$status[posted]' AND (n.title LIKE '%". check_input($keys) ."%' OR b.body LIKE '%". check_input($keys) ."%') ORDER BY n.timestamp DESC LIMIT 20"); while ($node = db_fetch_object($result)) { array_push($find, array("title" => check_output($node->title), "link" => (user_access($user, "book") ? "admin.php?mod=book&op=edit&id=$node->nid" : "node.php?id=$node->nid"), "user" => $node->userid, "date" => $node->timestamp)); } @@ -155,12 +155,12 @@ function book_form($edit = array()) { } function book_save($edit) { - $node = ($edit[nid] ? node_get_object("nid", $edit[nid]) : node_get_object("title", $edit[title])); + $node = node_get_object("nid", $edit[nid]); node_save(array_diff(array_merge($edit, array(nid => $node->nid, type => "book")), array(userid => $edit[userid]))); } function book_delete($id) { - node_del_object("nid", $id); + return ($node = node_del("nid", $id) ? "book page has been deleted" : "failed to delete book page: change status to 'dumped' first"); } function book_overview($parent = "", $offset = "") { @@ -180,10 +180,24 @@ function book_overview($parent = "", $offset = "") { return $output; } +function book_history() { + global $status; + + $result = db_query("SELECT n.*, b.* FROM nodes n LEFT JOIN book b ON n.nid = b.node WHERE n.type = 'book' AND n.status != '$status[expired]' ORDER BY n.timestamp DESC"); + + $output .= "\n"; + $output .= " \n"; + while ($node = db_fetch_object($result)) { + $output .= " "; + } + $output .= "
nodestatusdateoperations
nid\">". check_output($node->title) ."$node->status". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete
\n"; + return $output; +} + function book_admin() { global $op, $id, $edit, $user; - print "add new page | search book | overview
\n"; + print "add new page | history | search book | overview
\n"; switch ($op) { case "add": @@ -193,6 +207,9 @@ function book_admin() { print book_delete($id); print book_overview(); break; + case "history": + print book_history(); + break; case "edit": print book_form(node_get_array(nid, $id)); break; diff --git a/modules/book/book.module b/modules/book/book.module index f7b4d08e9..ca0aa9751 100644 --- a/modules/book/book.module +++ b/modules/book/book.module @@ -62,7 +62,7 @@ function book_view($node, $page = 1) { function book_find($keys) { global $status, $user; $find = array(); - $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN book b ON n.nid = b.node LEFT JOIN users u ON n.author = u.id WHERE n.type = 'book' AND n.status = '$status[posted]' AND (n.title LIKE '%". check_input($keys) ."%' OR b.body LIKE '%". check_input($keys) ."%') ORDER BY n.timestamp DESC LIMIT 20", 1); + $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN book b ON n.nid = b.node LEFT JOIN users u ON n.author = u.id WHERE n.type = 'book' AND n.status = '$status[posted]' AND (n.title LIKE '%". check_input($keys) ."%' OR b.body LIKE '%". check_input($keys) ."%') ORDER BY n.timestamp DESC LIMIT 20"); while ($node = db_fetch_object($result)) { array_push($find, array("title" => check_output($node->title), "link" => (user_access($user, "book") ? "admin.php?mod=book&op=edit&id=$node->nid" : "node.php?id=$node->nid"), "user" => $node->userid, "date" => $node->timestamp)); } @@ -155,12 +155,12 @@ function book_form($edit = array()) { } function book_save($edit) { - $node = ($edit[nid] ? node_get_object("nid", $edit[nid]) : node_get_object("title", $edit[title])); + $node = node_get_object("nid", $edit[nid]); node_save(array_diff(array_merge($edit, array(nid => $node->nid, type => "book")), array(userid => $edit[userid]))); } function book_delete($id) { - node_del_object("nid", $id); + return ($node = node_del("nid", $id) ? "book page has been deleted" : "failed to delete book page: change status to 'dumped' first"); } function book_overview($parent = "", $offset = "") { @@ -180,10 +180,24 @@ function book_overview($parent = "", $offset = "") { return $output; } +function book_history() { + global $status; + + $result = db_query("SELECT n.*, b.* FROM nodes n LEFT JOIN book b ON n.nid = b.node WHERE n.type = 'book' AND n.status != '$status[expired]' ORDER BY n.timestamp DESC"); + + $output .= "\n"; + $output .= " \n"; + while ($node = db_fetch_object($result)) { + $output .= " "; + } + $output .= "
nodestatusdateoperations
nid\">". check_output($node->title) ."$node->status". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete
\n"; + return $output; +} + function book_admin() { global $op, $id, $edit, $user; - print "add new page | search book | overview
\n"; + print "add new page | history | search book | overview
\n"; switch ($op) { case "add": @@ -193,6 +207,9 @@ function book_admin() { print book_delete($id); print book_overview(); break; + case "history": + print book_history(); + break; case "edit": print book_form(node_get_array(nid, $id)); break; diff --git a/modules/story.module b/modules/story.module index bacd83155..06ace2f70 100644 --- a/modules/story.module +++ b/modules/story.module @@ -179,7 +179,7 @@ function story_save($edit) { } function story_delete($id) { - node_del_object("nid", $id); + return ($node = node_del("nid", $id) ? "story has been deleted" : "failed to delete story: change status to 'dumped' first"); } function story_block() { @@ -220,29 +220,29 @@ function story_overview() { // Queued stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[queued]' ORDER BY timestamp DESC"); $output .= " queued stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."votes: $story->votes, score: $story->scorenid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."votes: $node->votes, score: $node->scorenid\">viewnid\">editnid\">delete\n"; } // Scheduled stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[scheduled]' ORDER BY timestamp DESC"); $output .= " scheduled stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."
(". format_interval($story->timestamp - time()) ." left)nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."
(". format_interval($node->timestamp - time()) ." left)nid\">viewnid\">editnid\">delete\n"; } // Dumped stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[dumped]' ORDER BY timestamp DESC LIMIT 5"); $output .= " dumped stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete\n"; } // Posted stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[posted]' ORDER BY timestamp DESC LIMIT 15"); $output .= " posted stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete\n"; } $output .= "\n"; diff --git a/modules/story/story.module b/modules/story/story.module index bacd83155..06ace2f70 100644 --- a/modules/story/story.module +++ b/modules/story/story.module @@ -179,7 +179,7 @@ function story_save($edit) { } function story_delete($id) { - node_del_object("nid", $id); + return ($node = node_del("nid", $id) ? "story has been deleted" : "failed to delete story: change status to 'dumped' first"); } function story_block() { @@ -220,29 +220,29 @@ function story_overview() { // Queued stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[queued]' ORDER BY timestamp DESC"); $output .= " queued stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."votes: $story->votes, score: $story->scorenid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."votes: $node->votes, score: $node->scorenid\">viewnid\">editnid\">delete\n"; } // Scheduled stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[scheduled]' ORDER BY timestamp DESC"); $output .= " scheduled stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."
(". format_interval($story->timestamp - time()) ." left)nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."
(". format_interval($node->timestamp - time()) ." left)nid\">viewnid\">editnid\">delete\n"; } // Dumped stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[dumped]' ORDER BY timestamp DESC LIMIT 5"); $output .= " dumped stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete\n"; } // Posted stories: $result = db_query("SELECT n.*, u.userid FROM nodes n LEFT JOIN users u ON n.author = u.id WHERE n.type = 'story' AND n.status = '$status[posted]' ORDER BY timestamp DESC LIMIT 15"); $output .= " posted stories\n"; - while ($story = db_fetch_object($result)) { - $output .= " nid\">". check_output($story->title) ."". format_username($story->userid) ."". date("D, m/d/Y H:i", $story->timestamp) ."nid\">viewnid\">editnid\">delete\n"; + while ($node = db_fetch_object($result)) { + $output .= " nid\">". check_output($node->title) ."". format_username($node->userid) ."". format_date($node->timestamp, "small") ."nid\">viewnid\">editnid\">delete\n"; } $output .= "\n"; -- cgit v1.2.3