summaryrefslogtreecommitdiff
path: root/modules/queue.module
diff options
context:
space:
mode:
Diffstat (limited to 'modules/queue.module')
-rw-r--r--modules/queue.module26
1 files changed, 19 insertions, 7 deletions
diff --git a/modules/queue.module b/modules/queue.module
index 8dd4d2a5a..ea1ba0b11 100644
--- a/modules/queue.module
+++ b/modules/queue.module
@@ -45,17 +45,29 @@ function queue_vote($id, $vote) {
$node = node_load(array(nid => $id, type => $node->type));
- if (variable_get($node->type ."_post", 4) <= $node->score) {
+ if (variable_get($node->type ."_post", 3) <= $node->score) {
node_save($node, array("nid", "status" => 1, "moderate" => 0));
- watchdog("special", "node: posted '$node->title' - moderation");
+ watchdog("special", "moderation: posted '$node->title'");
}
else if (variable_get($node->type ."_dump", -2) >= $node->score) {
- node_save($node, array("nid", "status" => 1, "moderate" => 0));
- watchdog("special", "node: dumped '$node->title' - moderation");
+ if ($node->revisions) {
+ node_revision_rollback($node->nid, node_revision_previous($node));
+ watchdog("special", "moderation: dumped '$node->title' (rollback)");
+ }
+ else {
+ node_save($node, array("nid", "status" => 0, "moderate" => 0));
+ watchdog("special", "moderation: dumped '$node->title'");
+ }
}
- else if (variable_get($node->type ."_expire", 8) <= $node->votes) {
- node_save($node, array("nid", "status" => 0, "moderate" => 0));
- watchdog("special", "node: expired '$node->title' - moderation");
+ else if (variable_get($node->type ."_expire", 6) <= $node->votes) {
+ if ($node->revisions) {
+ node_revision_rollback($node->nid, node_revision_previous($node));
+ watchdog("special", "moderation: expired '$node->title' (rollback)");
+ }
+ else {
+ node_save($node, array("nid", "status" => 0, "moderate" => 0));
+ watchdog("special", "moderation: expired '$node->title'");
+ }
}
}
}