summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/comment/comment.module2
-rw-r--r--modules/node/node.module1
-rw-r--r--modules/system/system.api.php26
-rw-r--r--modules/taxonomy/taxonomy.module4
-rw-r--r--modules/user/user.module2
5 files changed, 35 insertions, 0 deletions
diff --git a/modules/comment/comment.module b/modules/comment/comment.module
index 664d2aca8..97d862f73 100644
--- a/modules/comment/comment.module
+++ b/modules/comment/comment.module
@@ -1370,6 +1370,7 @@ function comment_save($comment) {
field_attach_update('comment', $comment);
// Allow modules to respond to the updating of a comment.
module_invoke_all('comment_update', $comment);
+ entity_invoke('update', 'comment', $comment);
// Add an entry to the watchdog log.
watchdog('content', 'Comment: updated %subject.', array('%subject' => $comment->subject), WATCHDOG_NOTICE, l(t('view'), 'comment/' . $comment->cid, array('fragment' => 'comment-' . $comment->cid)));
}
@@ -1453,6 +1454,7 @@ function comment_save($comment) {
// Tell the other modules a new comment has been submitted.
module_invoke_all('comment_insert', $comment);
+ entity_invoke('insert', 'comment', $comment);
// Add an entry to the watchdog log.
watchdog('content', 'Comment: added %subject.', array('%subject' => $comment->subject), WATCHDOG_NOTICE, l(t('view'), 'comment/' . $comment->cid, array('fragment' => 'comment-' . $comment->cid)));
}
diff --git a/modules/node/node.module b/modules/node/node.module
index c454bd7fc..58a264749 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -1049,6 +1049,7 @@ function node_save($node) {
$function('node', $node);
module_invoke_all('node_' . $op, $node);
+ entity_invoke($op, 'node', $node);
// Update the node access table for this node.
node_access_acquire_grants($node);
diff --git a/modules/system/system.api.php b/modules/system/system.api.php
index 2563728f0..78cc24e2a 100644
--- a/modules/system/system.api.php
+++ b/modules/system/system.api.php
@@ -221,6 +221,32 @@ function hook_entity_load($entities, $type) {
}
/**
+ * Act on entities when inserted.
+ *
+ * Generic insert hook called for all entity types via entity_invoke().
+ *
+ * @param $entity
+ * The entity object.
+ * @param $type
+ * The type of entity being inserted (i.e. node, user, comment).
+ */
+function hook_entity_insert($entity, $type) {
+}
+
+/**
+ * Act on entities when updated.
+ *
+ * Generic update hook called for all entity types via entity_invoke().
+ *
+ * @param $entity
+ * The entity object.
+ * @param $type
+ * The type of entity being updated (i.e. node, user, comment).
+ */
+function hook_entity_update($entity, $type) {
+}
+
+/**
* Define administrative paths.
*
* Modules may specify whether or not the paths they define in hook_menu() are
diff --git a/modules/taxonomy/taxonomy.module b/modules/taxonomy/taxonomy.module
index 8e70c5a84..a5dda375b 100644
--- a/modules/taxonomy/taxonomy.module
+++ b/modules/taxonomy/taxonomy.module
@@ -338,12 +338,14 @@ function taxonomy_vocabulary_save($vocabulary) {
if (!empty($vocabulary->vid) && !empty($vocabulary->name)) {
$status = drupal_write_record('taxonomy_vocabulary', $vocabulary, 'vid');
module_invoke_all('taxonomy_vocabulary_update', $vocabulary);
+ entity_invoke('update', 'taxonomy_vocabulary', $vocabulary);
}
elseif (empty($vocabulary->vid)) {
$status = drupal_write_record('taxonomy_vocabulary', $vocabulary);
field_attach_create_bundle('taxonomy_term', $vocabulary->machine_name);
taxonomy_vocabulary_create_field($vocabulary);
module_invoke_all('taxonomy_vocabulary_insert', $vocabulary);
+ entity_invoke('insert', 'taxonomy_vocabulary', $vocabulary);
}
cache_clear_all();
@@ -470,11 +472,13 @@ function taxonomy_term_save($term) {
$status = drupal_write_record('taxonomy_term_data', $term, 'tid');
field_attach_update('taxonomy_term', $term);
module_invoke_all('taxonomy_term_update', $term);
+ entity_invoke('update', 'taxonomy_term', $term);
}
else {
$status = drupal_write_record('taxonomy_term_data', $term);
field_attach_insert('taxonomy_term', $term);
module_invoke_all('taxonomy_term_insert', $term);
+ entity_invoke('insert', 'taxonomy_term', $term);
}
db_delete('taxonomy_term_hierarchy')
diff --git a/modules/user/user.module b/modules/user/user.module
index ba935046c..dca04f216 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -483,6 +483,7 @@ function user_save($account, $edit = array(), $category = 'account') {
}
user_module_invoke('update', $edit, $user, $category);
+ entity_invoke('update', 'user', $user);
}
else {
// Allow 'uid' to be set by the caller. There is no danger of writing an
@@ -515,6 +516,7 @@ function user_save($account, $edit = array(), $category = 'account') {
field_attach_insert('user', $object);
user_module_invoke('insert', $edit, $user, $category);
+ entity_invoke('insert', 'user', $user);
// Note, we wait with saving the data column to prevent module-handled
// fields from being saved there.