aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCash Costello <cash.costello@gmail.com>2013-02-23 09:21:44 -0500
committerCash Costello <cash.costello@gmail.com>2013-02-23 09:21:44 -0500
commitf350d90e384a03629f95b1b5be9b7ad603438f46 (patch)
tree358c55635473df7eb73a54f89269e506cec378ce
parent1a2c97886f7335509ed1e1f65aff4464a32e01eb (diff)
downloadelgg-f350d90e384a03629f95b1b5be9b7ad603438f46.tar.gz
elgg-f350d90e384a03629f95b1b5be9b7ad603438f46.tar.bz2
Fixes #4802 notifications sent when status is newly set to published
-rw-r--r--mod/blog/actions/blog/save.php5
-rw-r--r--mod/blog/start.php4
2 files changed, 7 insertions, 2 deletions
diff --git a/mod/blog/actions/blog/save.php b/mod/blog/actions/blog/save.php
index 6da70462a..910da9838 100644
--- a/mod/blog/actions/blog/save.php
+++ b/mod/blog/actions/blog/save.php
@@ -158,6 +158,11 @@ if (!$error) {
if (($new_post || $old_status == 'draft') && $status == 'published') {
add_to_river('river/object/blog/create', 'create', $blog->owner_guid, $blog->getGUID());
+ // we only want notifications sent when post published
+ register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
+ elgg_trigger_event('publish', 'blog', $blog);
+
+ // reset the creation time for posts that move from draft to published
if ($guid) {
$blog->time_created = time();
$blog->save();
diff --git a/mod/blog/start.php b/mod/blog/start.php
index a6ff84355..4bd19b40f 100644
--- a/mod/blog/start.php
+++ b/mod/blog/start.php
@@ -41,8 +41,8 @@ function blog_init() {
// override the default url to view a blog object
elgg_register_entity_url_handler('object', 'blog', 'blog_url_handler');
- // notifications
- register_notification_object('object', 'blog', elgg_echo('blog:newpost'));
+ // notifications - need to register for unique event because of draft/published status
+ elgg_register_event_handler('publish', 'blog', 'object_notifications');
elgg_register_plugin_hook_handler('notify:entity:message', 'object', 'blog_notify_message');
// add blog link to