From deee3c02da693fff1000232b5056745d49d2139c Mon Sep 17 00:00:00 2001 From: Toby Zerner Date: Mon, 28 Nov 2016 11:48:28 +1030 Subject: [PATCH] Add TagWillBeSaved event --- .../tags/src/Command/EditTagHandler.php | 3 ++ extensions/tags/src/Event/TagWillBeSaved.php | 45 +++++++++++++++++++ 2 files changed, 48 insertions(+) create mode 100644 extensions/tags/src/Event/TagWillBeSaved.php diff --git a/extensions/tags/src/Command/EditTagHandler.php b/extensions/tags/src/Command/EditTagHandler.php index fc6a3b218..a65910a83 100644 --- a/extensions/tags/src/Command/EditTagHandler.php +++ b/extensions/tags/src/Command/EditTagHandler.php @@ -14,6 +14,7 @@ namespace Flarum\Tags\Command; use Flarum\Core\Access\AssertPermissionTrait; use Flarum\Tags\TagRepository; use Flarum\Tags\TagValidator; +use Flarum\Tags\Event\TagWillBeSaved; class EditTagHandler { @@ -79,6 +80,8 @@ class EditTagHandler $tag->is_restricted = (bool) $attributes['isRestricted']; } + event(new TagWillBeSaved($tag, $actor, $data)); + $this->validator->assertValid($tag->getDirty()); $tag->save(); diff --git a/extensions/tags/src/Event/TagWillBeSaved.php b/extensions/tags/src/Event/TagWillBeSaved.php new file mode 100644 index 000000000..47cc4dc77 --- /dev/null +++ b/extensions/tags/src/Event/TagWillBeSaved.php @@ -0,0 +1,45 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +namespace Flarum\Tags\Event; + +use Flarum\Tags\Tag; +use Flarum\Core\User; + +class TagWillBeSaved +{ + /** + * @var Tag + */ + public $tag; + + /** + * @var User + */ + public $actor; + + /** + * @var array + */ + public $data; + + /** + * @param Discussion $discussion + * @param User $actor + * @param \Flarum\Tags\Tag[] $tag + */ + public function __construct(Tag $tag, User $actor, array $data) + { + $this->tag = $tag; + $this->actor = $actor; + $this->data = $data; + } +}