function book_get_books

Returns an array of all books.

This list may be used for generating a list of all the books, or for building the options for a form select.

Return value

An array of all books.

4 calls to book_get_books()
book_admin_overview in modules/book/book.admin.inc
Returns an administrative overview of all books.
book_block_view in modules/book/book.module
Implements hook_block_view().
book_render in modules/book/book.pages.inc
Menu callback: Prints a listing of all books.
_book_add_form_elements in modules/book/book.module
Builds the common elements of the book form for the node and outline forms.
2 string references to 'book_get_books'
book_node_delete in modules/book/book.module
Implements hook_node_delete().
_book_update_outline in modules/book/book.module
Handles additions and updates to the book outline.

File

modules/book/book.module, line 380

Code

function book_get_books() {
    $all_books =& drupal_static(__FUNCTION__);
    if (!isset($all_books)) {
        $all_books = array();
        $nids = db_query("SELECT DISTINCT(bid) FROM {book}")->fetchCol();
        if ($nids) {
            $query = db_select('book', 'b', array(
                'fetch' => PDO::FETCH_ASSOC,
            ));
            $query->join('node', 'n', 'b.nid = n.nid');
            $query->join('menu_links', 'ml', 'b.mlid = ml.mlid');
            $query->addField('n', 'type', 'type');
            $query->addField('n', 'title', 'title');
            $query->fields('b');
            $query->fields('ml');
            $query->condition('n.nid', $nids, 'IN');
            $query->condition('n.status', 1);
            $query->orderBy('ml.weight');
            $query->orderBy('ml.link_title');
            $query->addTag('node_access');
            $result2 = $query->execute();
            foreach ($result2 as $link) {
                $link['href'] = $link['link_path'];
                $link['options'] = unserialize($link['options']);
                $all_books[$link['bid']] = $link;
            }
        }
    }
    return $all_books;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.