diff -r fcf75e232c5b -r 0ff3ba646492 web/drupal/modules/forum/forum.install --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/web/drupal/modules/forum/forum.install Fri Aug 21 16:26:26 2009 +0000 @@ -0,0 +1,130 @@ + 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; +}