From daa26f7982cec0b3101103ef0b89b3c2eded5cfb Mon Sep 17 00:00:00 2001
From: Dries Buytaert <dries@buytaert.net>
Date: Tue, 11 Aug 2009 07:45:45 +0000
Subject: [PATCH] - Patch #536768 by chx: use the database to do type casting
 so we can clean up some code. ;-)

---
 includes/menu.inc        | 5 ++---
 modules/book/book.module | 2 +-
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git a/includes/menu.inc b/includes/menu.inc
index be222026b1d9..3396476aa010 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -865,7 +865,7 @@ function menu_tree_all_data($menu_name, $item = NULL) {
     // If the tree data was not in the cache, $data will be NULL.
     if (!isset($data)) {
       // Build and run the query, and build the tree.
-      $query = db_select('menu_links', 'ml');
+      $query = db_select('menu_links', 'ml', array('fetch' => PDO::FETCH_ASSOC));
       $query->leftJoin('menu_router', 'm', 'm.path = ml.router_path');
       $query->fields('ml');
       $query->fields('m', array(
@@ -1035,7 +1035,7 @@ function menu_tree_page_data($menu_name) {
         // Select the links from the table, and recursively build the tree. We
         // LEFT JOIN since there is no match in {menu_router} for an external
         // link.
-        $query = db_select('menu_links', 'ml');
+        $query = db_select('menu_links', 'ml', array('fetch' => PDO::FETCH_ASSOC));
         $query->leftJoin('menu_router', 'm', 'm.path = ml.router_path');
         $query->fields('ml');
         $query->fields('m', array(
@@ -1188,7 +1188,6 @@ function _menu_tree_data($result, $parents, $depth, $previous_element = '') {
   $remnant = NULL;
   $tree = array();
   foreach ($result as $item) {
-    $item = is_object($item) ? get_object_vars($item) : $item;
     // We need to determine if we're on the path to root so we can later build
     // the correct active trail and breadcrumb.
     $item['in_active_trail'] = in_array($item['mlid'], $parents);
diff --git a/modules/book/book.module b/modules/book/book.module
index 62fc55aaef4f..af5b51e9d625 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -1177,7 +1177,7 @@ function book_menu_subtree_data($item) {
 
     // If the subtree data was not in the cache, $data will be NULL.
     if (!isset($data)) {
-      $query = db_select('menu_links', 'ml');
+      $query = db_select('menu_links', 'ml', array('fetch' => PDO::FETCH_ASSOC));
       $menu_router_alias = $query->join('menu_router', 'm', 'm.path = ml.router_path');
       $book_alias = $query->join('book', 'b', 'ml.mlid = b.mlid');
       $query->fields($book_alias);
-- 
GitLab