From cd85ca192ba55690cd39d20543ffa762e9c81b89 Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Mon, 5 Jun 2006 08:57:29 +0000
Subject: [PATCH] - Patch #66991 by dww and killes: infinite recursion in
 book_location_down() when there are multiple revisions.

---
 modules/book.module      | 2 +-
 modules/book/book.module | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/modules/book.module b/modules/book.module
index 27b07dd4bb16..04b76f88236d 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -386,7 +386,7 @@ function book_location($node, $nodes = array()) {
  * Accumulates the nodes up to the root of the book from the given node in the $nodes array.
  */
 function book_location_down($node, $nodes = array()) {
-  $last_direct_child = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, n.title, b.parent, b.weight FROM {node} n INNER JOIN {book} b ON n.nid = b.nid WHERE n.status = 1 AND b.parent = %d ORDER BY b.weight DESC, n.title DESC'), $node->nid));
+  $last_direct_child = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, n.title, b.parent, b.weight FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE n.status = 1 AND b.parent = %d ORDER BY b.weight DESC, n.title DESC'), $node->nid));
   if ($last_direct_child) {
     $nodes[] = $last_direct_child;
     $nodes = book_location_down($last_direct_child, $nodes);
diff --git a/modules/book/book.module b/modules/book/book.module
index 27b07dd4bb16..04b76f88236d 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -386,7 +386,7 @@ function book_location($node, $nodes = array()) {
  * Accumulates the nodes up to the root of the book from the given node in the $nodes array.
  */
 function book_location_down($node, $nodes = array()) {
-  $last_direct_child = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, n.title, b.parent, b.weight FROM {node} n INNER JOIN {book} b ON n.nid = b.nid WHERE n.status = 1 AND b.parent = %d ORDER BY b.weight DESC, n.title DESC'), $node->nid));
+  $last_direct_child = db_fetch_object(db_query(db_rewrite_sql('SELECT n.nid, n.title, b.parent, b.weight FROM {node} n INNER JOIN {book} b ON n.vid = b.vid WHERE n.status = 1 AND b.parent = %d ORDER BY b.weight DESC, n.title DESC'), $node->nid));
   if ($last_direct_child) {
     $nodes[] = $last_direct_child;
     $nodes = book_location_down($last_direct_child, $nodes);
-- 
GitLab