From c4c5ce122d1739abaf398d2a8c8d4ef825cd61a0 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Mon, 5 Dec 2005 16:07:18 +0000
Subject: [PATCH] - Patch #31323 by Gerhard: delete extra data when a revision
 is deleted.

---
 modules/book.module        |  3 +++
 modules/book/book.module   |  3 +++
 modules/forum.module       | 12 ++++++++++++
 modules/forum/forum.module | 12 ++++++++++++
 4 files changed, 30 insertions(+)

diff --git a/modules/book.module b/modules/book.module
index 7618c24e5310..63e80b38cb18 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -473,6 +473,9 @@ function book_nodeapi(&$node, $op, $teaser, $page) {
         }
       }
       break;
+    case 'revision delete':
+      db_query('DELETE FROM {book} WHERE vid = %d', $node->vid);
+      break;
   }
 }
 
diff --git a/modules/book/book.module b/modules/book/book.module
index 7618c24e5310..63e80b38cb18 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -473,6 +473,9 @@ function book_nodeapi(&$node, $op, $teaser, $page) {
         }
       }
       break;
+    case 'revision delete':
+      db_query('DELETE FROM {book} WHERE vid = %d', $node->vid);
+      break;
   }
 }
 
diff --git a/modules/forum.module b/modules/forum.module
index 7e12b8c6b99b..2790f5be7f66 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -71,6 +71,18 @@ function forum_perm() {
   return array('create forum topics', 'edit own forum topics', 'administer forums');
 }
 
+/**
+ * Implementation of hook_nodeapi().
+ */
+function forum_nodeapi(&$node, $op, $teaser, $page) {
+  switch ($op) {
+    case 'revision delete':
+      db_query('DELETE FROM {forum} WHERE vid = %d', $node->vid);
+      break;
+  }
+}
+
+
 /**
  * Administration page which allows maintaining forums
  */
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 7e12b8c6b99b..2790f5be7f66 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -71,6 +71,18 @@ function forum_perm() {
   return array('create forum topics', 'edit own forum topics', 'administer forums');
 }
 
+/**
+ * Implementation of hook_nodeapi().
+ */
+function forum_nodeapi(&$node, $op, $teaser, $page) {
+  switch ($op) {
+    case 'revision delete':
+      db_query('DELETE FROM {forum} WHERE vid = %d', $node->vid);
+      break;
+  }
+}
+
+
 /**
  * Administration page which allows maintaining forums
  */
-- 
GitLab