diff -r 07239de796bb -r e756a8c72c3d cms/drupal/modules/book/book.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/cms/drupal/modules/book/book.install Fri Sep 08 12:04:06 2017 +0200 @@ -0,0 +1,95 @@ +condition('module', 'book') + ->execute(); + menu_cache_clear_all(); +} + +/** + * Creates the book content type. + */ +function _book_install_type_create() { + // Create an additional node type. + $book_node_type = array( + 'type' => 'book', + 'name' => t('Book page'), + 'base' => 'node_content', + 'description' => t('Books have a built-in hierarchical navigation. Use for handbooks or tutorials.'), + 'custom' => 1, + 'modified' => 1, + 'locked' => 0, + ); + + $book_node_type = node_type_set_defaults($book_node_type); + node_type_save($book_node_type); + node_add_body_field($book_node_type); + // Default to not promoted. + variable_set('node_options_book', array('status')); + // Use this default type for adding content to books. + variable_set('book_allowed_types', array('book')); + variable_set('book_child_type', 'book'); +} + +/** + * Implements hook_schema(). + */ +function book_schema() { + $schema['book'] = array( + 'description' => 'Stores book outline information. Uniquely connects each node in the outline to a link in {menu_links}', + 'fields' => array( + 'mlid' => array( + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + 'description' => "The book page's {menu_links}.mlid.", + ), + 'nid' => array( + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + 'description' => "The book page's {node}.nid.", + ), + 'bid' => array( + 'type' => 'int', + 'unsigned' => TRUE, + 'not null' => TRUE, + 'default' => 0, + 'description' => "The book ID is the {book}.nid of the top-level page.", + ), + ), + 'primary key' => array('mlid'), + 'unique keys' => array( + 'nid' => array('nid'), + ), + 'indexes' => array( + 'bid' => array('bid'), + ), + ); + + return $schema; +}