0byt3m1n1
Path:
/
data
/
applications
/
aps.bak
/
drupal
/
6.9-5
/
standard
/
htdocs
/
modules
/
forum
/
[
Home
]
File: forum.install
<?php // $Id: forum.install,v 1.16.2.2 2009/01/06 15:46:37 goba Exp $ /** * Implementation of hook_install(). */ function forum_install() { // Create tables. drupal_install_schema('forum'); // Set the weight of the forum.module to 1 so it is loaded after the taxonomy.module. db_query("UPDATE {system} SET weight = 1 WHERE name = 'forum'"); } function forum_enable() { if ($vocabulary = taxonomy_vocabulary_load(variable_get('forum_nav_vocabulary', 0))) { // Existing install. Add back forum node type, if the forums // vocabulary still exists. Keep all other node types intact there. $vocabulary = (array) $vocabulary; $vocabulary['nodes']['forum'] = 1; taxonomy_save_vocabulary($vocabulary); } else { // Create the forum vocabulary if it does not exist. Assign the vocabulary // a low weight so it will appear first in forum topic create and edit // forms. $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']); } } /** * 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; }