diff options
Diffstat (limited to 'modules/forum/forum.install')
-rw-r--r-- | modules/forum/forum.install | 19 |
1 files changed, 12 insertions, 7 deletions
diff --git a/modules/forum/forum.install b/modules/forum/forum.install index 62035955f..ff9ac135b 100644 --- a/modules/forum/forum.install +++ b/modules/forum/forum.install @@ -12,12 +12,17 @@ function forum_install() { } function forum_enable() { - // 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. - $vid = variable_get('forum_nav_vocabulary', 0); - $vocabularies = taxonomy_get_vocabularies(); - if (!isset($vocabularies[$vid])) { + 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, @@ -123,4 +128,4 @@ function forum_update_6000() { } return $ret; -}
\ No newline at end of file +} |