t('Forums'), 'multiple' => 0, 'required' => 0, 'hierarchy' => 1, 'relations' => 0, 'module' => 'forum', 'weight' => -10, 'nodes' => array('forum' => 1), ); taxonomy_save_vocabulary($vocabulary); variable_set('forum_nav_vocabulary', $vocabulary['vid']); } } /** * Implementation of hook_uninstall(). */ function forum_uninstall() { // Load the dependent Taxonomy module, in case it has been disabled. drupal_load('module', 'taxonomy'); // Delete the vocabulary. $vid = variable_get('forum_nav_vocabulary', ''); taxonomy_del_vocabulary($vid); db_query('DROP TABLE {forum}'); variable_del('forum_containers'); variable_del('forum_nav_vocabulary'); variable_del('forum_hot_topic'); variable_del('forum_per_page'); variable_del('forum_order'); variable_del('forum_block_num_0'); variable_del('forum_block_num_1'); } /** * Implementation of hook_schema(). */ function forum_schema() { $schema['forum'] = array( 'description' => 'Stores the relationship of nodes to forum terms.', 'fields' => array( 'nid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'description' => 'The {node}.nid of the node.', ), 'vid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'description' => 'Primary Key: The {node}.vid of the node.', ), 'tid' => array( 'type' => 'int', 'unsigned' => TRUE, 'not null' => TRUE, 'default' => 0, 'description' => 'The {term_data}.tid of the forum term assigned to the node.', ), ), 'indexes' => array( 'nid' => array('nid'), 'tid' => array('tid') ), 'primary key' => array('vid'), ); return $schema; } /** * Create the forum vocabulary if does not exist. Assign the * vocabulary a low weight so it will appear first in forum topic * create and edit forms. Do not just call forum_enable() because in * future versions it might do something different. */ function forum_update_6000() { $ret = array(); $vid = variable_get('forum_nav_vocabulary', 0); $vocabularies = taxonomy_get_vocabularies(); if (!isset($vocabularies[$vid])) { $vocabulary = array( 'name' => t('Forums'), 'multiple' => 0, 'required' => 0, 'hierarchy' => 1, 'relations' => 0, 'module' => 'forum', 'weight' => -10, 'nodes' => array('forum' => 1), ); taxonomy_save_vocabulary($vocabulary); variable_set('forum_nav_vocabulary', $vocabulary['vid']); } return $ret; }