diff options
author | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-01-27 16:21:40 +0000 |
---|---|---|
committer | brettp <brettp@36083f99-b078-4883-b0ff-0f9b5a30f544> | 2010-01-27 16:21:40 +0000 |
commit | 3aeb6fcf7a5fab9050803e49af7cab6ea094ba4e (patch) | |
tree | 4cdf4a0a36703d83d43561a106bb3036599d9be3 /engine | |
parent | a3fb93cc2fe7461b2aadac4ead9e16c24eeb0aa6 (diff) | |
download | elgg-3aeb6fcf7a5fab9050803e49af7cab6ea094ba4e.tar.gz elgg-3aeb6fcf7a5fab9050803e49af7cab6ea094ba4e.tar.bz2 |
Fixes #1419: Added remove_from_river_by_annotation(). Deleting annotations now deletes their river entry.
git-svn-id: http://code.elgg.org/elgg/trunk@3850 36083f99-b078-4883-b0ff-0f9b5a30f544
Diffstat (limited to 'engine')
-rw-r--r-- | engine/lib/annotations.php | 7 | ||||
-rw-r--r-- | engine/lib/river2.php | 19 |
2 files changed, 22 insertions, 4 deletions
diff --git a/engine/lib/annotations.php b/engine/lib/annotations.php index 2ca977a09..6d5c0b46a 100644 --- a/engine/lib/annotations.php +++ b/engine/lib/annotations.php @@ -1136,10 +1136,11 @@ function delete_annotation($id) { $annotation = get_annotation($id); if (trigger_elgg_event('delete', 'annotation', $annotation)) { - return delete_data("DELETE from {$CONFIG->dbprefix}annotations where id=$id and $access"); + remove_from_river_by_annotation($id); + return delete_data("DELETE from {$CONFIG->dbprefix}annotations where id=$id and $access"); } - return false; + return FALSE; } /** @@ -1255,4 +1256,4 @@ function register_annotation_url_handler($function_name, $extender_name = "all") } /** Register the hook */ -register_plugin_hook("export", "all", "export_annotation_plugin_hook", 2);
\ No newline at end of file +register_plugin_hook("export", "all", "export_annotation_plugin_hook", 2); diff --git a/engine/lib/river2.php b/engine/lib/river2.php index 09a6b0cc7..02a2a0732 100644 --- a/engine/lib/river2.php +++ b/engine/lib/river2.php @@ -96,6 +96,23 @@ function remove_from_river_by_object($object_guid) { } /** + * Removes all items relating to a particular annotation being acted upon from the river + * + * @param int annotation_id The ID of the annotation + * @return true|false Depending on success + */ +function remove_from_river_by_annotation($annotation_id) { + // Sanitise + $annotation_id = (int) $annotation_id; + + // Load config + global $CONFIG; + + // Remove + return delete_data("delete from {$CONFIG->dbprefix}river where annotation_id = {$annotation_id}"); +} + +/** * Sets the access ID on river items for a particular object * * @param int $object_guid The GUID of the entity @@ -287,4 +304,4 @@ function elgg_view_river_items($subject_guid = 0, $object_guid = 0, $subject_rel } return ''; -}
\ No newline at end of file +} |