From 3a26c29935247a32e029a2d15f18633711f588e9 Mon Sep 17 00:00:00 2001 From: Sami Mazouz Date: Sun, 16 Apr 2023 21:14:17 +0100 Subject: [PATCH] feat: provide old content to `Revised` event (#3789) Signed-off-by: Sami Mazouz --- framework/core/src/Post/CommentPost.php | 4 +++- framework/core/src/Post/Event/Revised.php | 13 ++++++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/framework/core/src/Post/CommentPost.php b/framework/core/src/Post/CommentPost.php index 7455abc12..35f38e852 100644 --- a/framework/core/src/Post/CommentPost.php +++ b/framework/core/src/Post/CommentPost.php @@ -75,12 +75,14 @@ class CommentPost extends Post public function revise($content, User $actor) { if ($this->content !== $content) { + $oldContent = $this->content; + $this->setContentAttribute($content, $actor); $this->edited_at = Carbon::now(); $this->edited_user_id = $actor->id; - $this->raise(new Revised($this)); + $this->raise(new Revised($this, $actor, $oldContent)); } return $this; diff --git a/framework/core/src/Post/Event/Revised.php b/framework/core/src/Post/Event/Revised.php index 72281e13a..8d4f85725 100644 --- a/framework/core/src/Post/Event/Revised.php +++ b/framework/core/src/Post/Event/Revised.php @@ -15,7 +15,7 @@ use Flarum\User\User; class Revised { /** - * @var \Flarum\Post\CommentPost + * @var CommentPost */ public $post; @@ -25,11 +25,18 @@ class Revised public $actor; /** - * @param \Flarum\Post\CommentPost $post + * We manually set the old content because at this stage the post + * has already been updated with the new content. So the original + * content is not available anymore. + * + * @var string */ - public function __construct(CommentPost $post, User $actor = null) + public $oldContent; + + public function __construct(CommentPost $post, User $actor, string $oldContent) { $this->post = $post; $this->actor = $actor; + $this->oldContent = $oldContent; } }