diff --git a/modules/book/book.module b/modules/book/book.module index e1451048053d4fde4d9e04d2718ada01d817207c..e70b824a2fb5c21201288c24ce2bafdb0a615186 100644 --- a/modules/book/book.module +++ b/modules/book/book.module @@ -294,7 +294,7 @@ function theme_book_title_link($link) { * the options for a form select. */ function book_get_books() { - static $all_books; + $all_books = &drupal_static(__FUNCTION__); if (!isset($all_books)) { $all_books = array(); @@ -580,7 +580,7 @@ function book_update_bid($book_link) { * immediately after it in the array. */ function book_get_flat_menu($book_link) { - static $flat = array(); + $flat = &drupal_static(__FUNCTION__, array()); if (!isset($flat[$book_link['mlid']])) { // Call menu_tree_all_data() to take advantage of the menu system's caching. @@ -1144,7 +1144,7 @@ function book_link_load($mlid) { * An subtree of menu links in an array, in the order they should be rendered. */ function book_menu_subtree_data($item) { - static $tree = array(); + $tree = &drupal_static(__FUNCTION__, array()); // Generate a cache ID (cid) specific for this $menu_name and $item. $cid = 'links:' . $item['menu_name'] . ':subtree-cid:' . $item['mlid']; diff --git a/modules/book/book.test b/modules/book/book.test index 872cbc5624d3b1b49ad35d24063509263bee5b22..8290f6f17d160c1da47ac99330dd0a68e29f8ebb 100644 --- a/modules/book/book.test +++ b/modules/book/book.test @@ -95,6 +95,8 @@ class BookTestCase extends DrupalWebTestCase { * The nodes that should be displayed in the breadcrumb. */ function checkBookNode($node, $nodes, $previous = FALSE, $up = FALSE, $next = FALSE, array $breadcrumb) { + // $number does not use drupal_static as it should not be reset + // since it uniquely identifies each call to checkBookNode(). static $number = 0; $this->drupalGet('node/' . $node->nid); @@ -166,6 +168,8 @@ class BookTestCase extends DrupalWebTestCase { * @param integer $parent Parent book reference id. */ function createBookNode($book_nid, $parent = NULL) { + // $number does not use drupal_static as it should not be reset + // since it uniquely identifies each call to createBookNode(). static $number = 0; // Used to ensure that when sorted nodes stay in same order. $edit = array();