From 04e711a6116fe6d88c32dd00ebe51cc66d34ac12 Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Tue, 1 Sep 2015 10:07:13 +0930 Subject: [PATCH] Fix potential error when discussion doesn't exist Not sure how this could be the case, but can't hurt to add the checks. addresses #343 --- .../Listeners/DiscussionMetadataUpdater.php | 22 +++++++++++-------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/framework/core/src/Core/Discussions/Listeners/DiscussionMetadataUpdater.php b/framework/core/src/Core/Discussions/Listeners/DiscussionMetadataUpdater.php index a35684c3f..c6e3dd406 100755 --- a/framework/core/src/Core/Discussions/Listeners/DiscussionMetadataUpdater.php +++ b/framework/core/src/Core/Discussions/Listeners/DiscussionMetadataUpdater.php @@ -37,10 +37,12 @@ class DiscussionMetadataUpdater { $discussion = $event->post->discussion; - $discussion->comments_count++; - $discussion->setLastPost($event->post); - $discussion->refreshParticipantsCount(); - $discussion->save(); + if ($discussion && $discussion->exists) { + $discussion->comments_count++; + $discussion->setLastPost($event->post); + $discussion->refreshParticipantsCount(); + $discussion->save(); + } } /** @@ -66,10 +68,12 @@ class DiscussionMetadataUpdater { $discussion = $event->post->discussion; - $discussion->refreshCommentsCount(); - $discussion->refreshParticipantsCount(); - $discussion->refreshLastPost(); - $discussion->save(); + if ($discussion && $discussion->exists) { + $discussion->refreshCommentsCount(); + $discussion->refreshParticipantsCount(); + $discussion->refreshLastPost(); + $discussion->save(); + } } /** @@ -79,7 +83,7 @@ class DiscussionMetadataUpdater { $discussion = $post->discussion; - if ($discussion->exists) { + if ($discussion && $discussion->exists) { $discussion->refreshCommentsCount(); $discussion->refreshParticipantsCount();