]> git.mxchange.org Git - friendica.git/commitdiff
create event for item_photo_menu hook
authorArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 10:33:17 +0000 (10:33 +0000)
committerArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 10:33:17 +0000 (10:33 +0000)
src/Content/Item.php
src/Core/Hooks/HookEventBridge.php
src/Event/ArrayFilterEvent.php
tests/Unit/Core/Hooks/HookEventBridgeTest.php
tests/Unit/Event/ArrayFilterEventTest.php

index ee20e3d168fb12a1dc5cd5149217355ccc25c200..9c9cd10bed16b1ad395d85369057e9352fe4754f 100644 (file)
@@ -12,7 +12,6 @@ use Friendica\AppHelper;
 use Friendica\Content\Text\BBCode;
 use Friendica\Content\Text\BBCode\Video;
 use Friendica\Content\Text\HTML;
-use Friendica\Core\Hook;
 use Friendica\Core\L10n;
 use Friendica\Core\PConfig\Capability\IManagePersonalConfigValues;
 use Friendica\Core\Protocol;
@@ -449,7 +448,9 @@ class Item
 
                $args = ['item' => $item, 'menu' => $menu];
 
-               Hook::callAll('item_photo_menu', $args);
+               $args = $this->eventDispatcher->dispatch(
+                       new ArrayFilterEvent(ArrayFilterEvent::ITEM_PHOTO_MENU, $args),
+               )->getArray();
 
                $menu = $args['menu'];
 
index 99290480b7c5922dfef098cb4c868200ac26005a..1a517a712c944ccc8e47f0c53fc90fa0e41d9e1b 100644 (file)
@@ -51,6 +51,7 @@ final class HookEventBridge
                ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
                ArrayFilterEvent::DISPLAY_ITEM       => 'display_item',
                ArrayFilterEvent::RENDER_LOCATION    => 'render_location',
+               ArrayFilterEvent::ITEM_PHOTO_MENU    => 'item_photo_menu',
                HtmlFilterEvent::HEAD                => 'head',
                HtmlFilterEvent::FOOTER              => 'footer',
                HtmlFilterEvent::PAGE_HEADER         => 'page_header',
@@ -81,6 +82,7 @@ final class HookEventBridge
                        ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
                        ArrayFilterEvent::DISPLAY_ITEM       => 'onArrayFilterEvent',
                        ArrayFilterEvent::RENDER_LOCATION    => 'onArrayFilterEvent',
+                       ArrayFilterEvent::ITEM_PHOTO_MENU    => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD                => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER              => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER         => 'onHtmlFilterEvent',
index 4b9ed3ce3effd09d7055054e7e7b0f7a78b94659..2c37cb8f27ac52496bf8bbe95e53ca17e54dc8ee 100644 (file)
@@ -40,6 +40,8 @@ final class ArrayFilterEvent extends Event
 
        public const RENDER_LOCATION = 'friendica.data.render_location';
 
+       public const ITEM_PHOTO_MENU = 'friendica.data.item_photo_menu';
+
        private array $array;
 
        public function __construct(string $name, array $array)
index de2b43f15c7d1d3afb317e9f86d95f54ff5ec223..e65ebaa6c8b9aab43dad9a2bb05ff7f7a28f64c0 100644 (file)
@@ -40,6 +40,7 @@ class HookEventBridgeTest extends TestCase
                        ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
                        ArrayFilterEvent::DISPLAY_ITEM       => 'onArrayFilterEvent',
                        ArrayFilterEvent::RENDER_LOCATION    => 'onArrayFilterEvent',
+                       ArrayFilterEvent::ITEM_PHOTO_MENU    => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD                => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER              => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER         => 'onHtmlFilterEvent',
@@ -171,6 +172,7 @@ class HookEventBridgeTest extends TestCase
                        [ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
                        [ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
                        [ArrayFilterEvent::RENDER_LOCATION, 'render_location'],
+                       [ArrayFilterEvent::ITEM_PHOTO_MENU, 'item_photo_menu'],
                ];
        }
 
index c709e0ff0a9c12856653d2b1183d296a485465a5..4ed37337c7a9ac8fde44feff0082a01b9e7747c2 100644 (file)
@@ -26,6 +26,18 @@ class ArrayFilterEventTest extends TestCase
        {
                return [
                        [ArrayFilterEvent::APP_MENU, 'friendica.data.app_menu'],
+                       [ArrayFilterEvent::NAV_INFO, 'friendica.data.nav_info'],
+                       [ArrayFilterEvent::FEATURE_ENABLED, 'friendica.data.feature_enabled'],
+                       [ArrayFilterEvent::FEATURE_GET, 'friendica.data.feature_get'],
+                       [ArrayFilterEvent::POST_LOCAL_START, 'friendica.data.post_local_start'],
+                       [ArrayFilterEvent::POST_LOCAL, 'friendica.data.post_local'],
+                       [ArrayFilterEvent::POST_LOCAL_END, 'friendica.data.post_local_end'],
+                       [ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'friendica.data.photo_upload_form'],
+                       [ArrayFilterEvent::NETWORK_TO_NAME, 'friendica.data.network_to_name'],
+                       [ArrayFilterEvent::CONVERSATION_START, 'friendica.data.conversation_start'],
+                       [ArrayFilterEvent::DISPLAY_ITEM, 'friendica.data.display_item'],
+                       [ArrayFilterEvent::RENDER_LOCATION, 'friendica.data.render_location'],
+                       [ArrayFilterEvent::ITEM_PHOTO_MENU, 'friendica.data.item_photo_menu'],
                ];
        }