From 0ae39120310dd222591d3a9fad25e5565f1a08e7 Mon Sep 17 00:00:00 2001
From: Neil Drumm <drumm@3064.no-reply.drupal.org>
Date: Fri, 8 Sep 2006 20:18:35 +0000
Subject: [PATCH] #31874 by David Lesieur. Call taxonomy hook for insert and
 update after the term is fully saved.

---
 modules/taxonomy/taxonomy.module | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 2050416b3786..a0fa34ac6276 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -427,7 +427,7 @@ function taxonomy_form_term_submit($form_id, $form_values) {
 function taxonomy_save_term(&$edit) {
   if ($edit['tid'] && $edit['name']) {
     db_query("UPDATE {term_data} SET name = '%s', description = '%s', weight = %d WHERE tid = %d", $edit['name'], $edit['description'], $edit['weight'], $edit['tid']);
-    module_invoke_all('taxonomy', 'update', 'term', $edit);
+    $hook = 'update';
     $status = SAVED_UPDATED;
   }
   else if ($edit['tid']) {
@@ -436,7 +436,7 @@ function taxonomy_save_term(&$edit) {
   else {
     $edit['tid'] = db_next_id('{term_data}_tid');
     db_query("INSERT INTO {term_data} (tid, name, description, vid, weight) VALUES (%d, '%s', '%s', %d, %d)", $edit['tid'], $edit['name'], $edit['description'], $edit['vid'], $edit['weight']);
-    module_invoke_all('taxonomy', 'insert', 'term', $edit);
+    $hook = 'insert';
     $status = SAVED_NEW;
   }
 
@@ -478,6 +478,10 @@ function taxonomy_save_term(&$edit) {
     }
   }
 
+  if (isset($hook)) {
+    module_invoke_all('taxonomy', $hook, 'term', $edit);
+  }
+
   cache_clear_all();
 
   return $status;
-- 
GitLab