From 4573af1f55ce509ed3fe41f2fefe0826d41017ab Mon Sep 17 00:00:00 2001 From: Neil Drumm Date: Tue, 31 Oct 2006 17:01:04 +0000 Subject: #80257 by Jaza. Add a hook for content type changes and use it for keeping vocabulary associations. --- modules/taxonomy/taxonomy.module | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) (limited to 'modules/taxonomy') diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module index c1c4372cd..40fde59c7 100644 --- a/modules/taxonomy/taxonomy.module +++ b/modules/taxonomy/taxonomy.module @@ -813,6 +813,24 @@ function taxonomy_node_delete($nid) { db_query('DELETE FROM {term_node} WHERE nid = %d', $nid); } +/** + * Implementation of hook_node_type(). + */ +function taxonomy_node_type($op, $info) { + if ($op == 'update' && !empty($info->old_type) && $info->type != $info->old_type) { + if (db_num_rows(db_query("SELECT * from {vocabulary_node_types} WHERE type = '%s'", $info->old_type))) { + db_query("UPDATE {vocabulary_node_types} SET type = '%s' WHERE type = '%s'", $info->type, $info->old_type); + $num_updated = db_affected_rows(); + + if ($num_updated) { + $substr_pre = 'Changed the content type association of '; + $substr_post = strtr(' from %old-type to %type.', array('%old-type' => theme('placeholder', $info->old_type), '%type' => theme('placeholder', $info->type))); + drupal_set_message(format_plural($num_updated, $substr_pre .'1 vocabulary'. $substr_post, $substr_pre .'@count vocabularies'. $substr_post)); + } + } + } +} + /** * Find all term objects related to a given term ID. */ -- cgit v1.2.3