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