function book_get_books in Drupal 7
Same name and namespace in other branches
- 6 modules/book/book.module \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 - Allows users to create and organize related content in an outline.
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;
}