]> git.mxchange.org Git - friendica.git/commitdiff
create event for conversation_start hook
authorArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 08:38:59 +0000 (08:38 +0000)
committerArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 08:38:59 +0000 (08:38 +0000)
src/Content/Conversation.php
src/Core/Hooks/HookEventBridge.php
src/Event/ArrayFilterEvent.php
tests/Unit/Core/Hooks/HookEventBridgeTest.php

index e8c193926d2267cd4bd69f9d9c679b9f0cbb0d13..16ca762698bb1dfa0a006272b8526f78d1958689 100644 (file)
@@ -22,6 +22,7 @@ use Friendica\Core\Renderer;
 use Friendica\Core\Session\Capability\IHandleUserSessions;
 use Friendica\Core\Theme;
 use Friendica\Database\DBA;
+use Friendica\Event\ArrayFilterEvent;
 use Friendica\Event\HtmlFilterEvent;
 use Friendica\Model\Contact;
 use Friendica\Model\Item as ItemModel;
@@ -564,7 +565,10 @@ class Conversation
                }
 
                $cb = ['items' => $items, 'mode' => $mode, 'update' => $update, 'preview' => $preview];
-               Hook::callAll('conversation_start', $cb);
+
+               $cb = $this->eventDispatcher->dispatch(
+                       new ArrayFilterEvent(ArrayFilterEvent::CONVERSATION_START, $cb),
+               )->getArray();
 
                $items = $cb['items'];
 
index d04a3e60bd6b95fb8652f2ffed7a19d7c2d34b37..f2fd9572f35373c30d51e3b1b33ccbca02c5824e 100644 (file)
@@ -48,6 +48,7 @@ final class HookEventBridge
                ArrayFilterEvent::POST_LOCAL_END    => 'post_local_end',
                ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
                ArrayFilterEvent::NETWORK_TO_NAME   => 'network_to_name',
+               ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
                HtmlFilterEvent::HEAD               => 'head',
                HtmlFilterEvent::FOOTER             => 'footer',
                HtmlFilterEvent::PAGE_HEADER        => 'page_header',
@@ -75,6 +76,7 @@ final class HookEventBridge
                        ArrayFilterEvent::POST_LOCAL_END    => 'onArrayFilterEvent',
                        ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
                        ArrayFilterEvent::NETWORK_TO_NAME   => 'onArrayFilterEvent',
+                       ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD               => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER             => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER        => 'onHtmlFilterEvent',
index 15579788a62998fe281b1abee7a9c453e2d3cefc..6c90a9d01d83ce8d1e01712592c20094d02a30ce 100644 (file)
@@ -34,6 +34,8 @@ final class ArrayFilterEvent extends Event
 
        public const NETWORK_TO_NAME = 'friendica.data.network_to_name';
 
+       public const CONVERSATION_START = 'friendica.data.conversation_start';
+
        private array $array;
 
        public function __construct(string $name, array $array)
index efafdd8395319b5c61a12f2a60686ef3aa41d737..037eb33c3a5bace52afadfd0d1d202f95e970760 100644 (file)
@@ -37,6 +37,7 @@ class HookEventBridgeTest extends TestCase
                        ArrayFilterEvent::POST_LOCAL_END    => 'onArrayFilterEvent',
                        ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
                        ArrayFilterEvent::NETWORK_TO_NAME   => 'onArrayFilterEvent',
+                       ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD               => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER             => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER        => 'onHtmlFilterEvent',
@@ -165,6 +166,7 @@ class HookEventBridgeTest extends TestCase
                        [ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'],
                        [ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
                        [ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
+                       [ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
                ];
        }