function book_node_prepare

Implements hook_node_prepare().

File

modules/book/book.module, line 991

Code

function book_node_prepare($node) {
    // Prepare defaults for the add/edit form.
    if (empty($node->book) && (user_access('add content to books') || user_access('administer book outlines'))) {
        $node->book = array();
        if (empty($node->nid) && isset($_GET['parent']) && is_numeric($_GET['parent'])) {
            // Handle "Add child page" links:
            $parent = book_link_load($_GET['parent']);
            if ($parent && $parent['access']) {
                $node->book['bid'] = $parent['bid'];
                $node->book['plid'] = $parent['mlid'];
                $node->book['menu_name'] = $parent['menu_name'];
            }
        }
        // Set defaults.
        $node->book += _book_link_defaults(!empty($node->nid) ? $node->nid : 'new');
    }
    else {
        if (isset($node->book['bid']) && !isset($node->book['original_bid'])) {
            $node->book['original_bid'] = $node->book['bid'];
        }
    }
    // Find the depth limit for the parent select.
    if (isset($node->book['bid']) && !isset($node->book['parent_depth_limit'])) {
        $node->book['parent_depth_limit'] = _book_parent_depth_limit($node->book);
    }
}

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