aboutsummaryrefslogtreecommitdiff
path: root/engine/lib/metadata.php
diff options
context:
space:
mode:
Diffstat (limited to 'engine/lib/metadata.php')
-rw-r--r--engine/lib/metadata.php22
1 files changed, 21 insertions, 1 deletions
diff --git a/engine/lib/metadata.php b/engine/lib/metadata.php
index 610288f90..11f40e51d 100644
--- a/engine/lib/metadata.php
+++ b/engine/lib/metadata.php
@@ -226,6 +226,16 @@
// If ok then add it
$id = insert_data("INSERT into {$CONFIG->dbprefix}metadata (entity_guid, name_id, value_id, value_type, owner_guid, time_created, access_id) VALUES ($entity_guid, '$name','$value','$value_type', $owner_guid, $time, $access_id)");
+
+ if ($id!==false) {
+ $obj = get_metadata($id);
+ if (trigger_elgg_event('create', $name, $obj)) {
+ return true;
+ } else {
+ delete_metadata($id);
+ }
+ }
+
} else if ($existing) {
// TODO: Check... are you sure you meant to do this Ben? :)
$id = $existing->id;
@@ -282,7 +292,17 @@
if (!$name) return false;
// If ok then add it
- return update_data("UPDATE {$CONFIG->dbprefix}metadata set value_id='$value', value_type='$value_type', access_id=$access_id, owner_guid=$owner_guid where id=$id and name_id='$name'");
+ $result = update_data("UPDATE {$CONFIG->dbprefix}metadata set value_id='$value', value_type='$value_type', access_id=$access_id, owner_guid=$owner_guid where id=$id and name_id='$name'");
+ if ($result!==false) {
+ $obj = get_metadata($id);
+ if (trigger_elgg_event('update', $name, $obj)) {
+ return true;
+ } else {
+ delete_metadata($id);
+ }
+ }
+
+ return $result;
}
/**