]> git.mxchange.org Git - friendica.git/commitdiff
Create event for page_info_data hook
authorArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 12:26:50 +0000 (12:26 +0000)
committerArt4 <art4@wlabs.de>
Fri, 14 Feb 2025 12:26:50 +0000 (12:26 +0000)
src/Content/PageInfo.php
src/Core/Hooks/HookEventBridge.php
src/Event/ArrayFilterEvent.php
tests/Unit/Core/Hooks/HookEventBridgeTest.php
tests/Unit/Event/ArrayFilterEventTest.php

index 93d2e4675082a4c3045e0914699df5a4336317da..4d2a1180d3132b09f00787aa40371801c973615f 100644 (file)
@@ -7,8 +7,8 @@
 
 namespace Friendica\Content;
 
-use Friendica\Core\Hook;
 use Friendica\DI;
+use Friendica\Event\ArrayFilterEvent;
 use Friendica\Network\HTTPException;
 use Friendica\Util\ParseUrl;
 use Friendica\Util\Strings;
@@ -90,7 +90,11 @@ class PageInfo
         */
        public static function getFooterFromData(array $data, bool $no_photos = false): string
        {
-               Hook::callAll('page_info_data', $data);
+               $eventDispatcher = DI::eventDispatcher();
+
+               $data = $eventDispatcher->dispatch(
+                       new ArrayFilterEvent(ArrayFilterEvent::PAGE_INFO, $data),
+               )->getArray();
 
                if (empty($data['type'])) {
                        return '';
index 031b92834bb94776185a2f1ca3405dc9fc8ae5b7..1479e41d541d58c3d56024496823949fc765963e 100644 (file)
@@ -53,6 +53,7 @@ final class HookEventBridge
                ArrayFilterEvent::RENDER_LOCATION    => 'render_location',
                ArrayFilterEvent::ITEM_PHOTO_MENU    => 'item_photo_menu',
                ArrayFilterEvent::OEMBED_FETCH_END   => 'oembed_fetch_url',
+               ArrayFilterEvent::PAGE_INFO          => 'page_info_data',
                HtmlFilterEvent::HEAD                => 'head',
                HtmlFilterEvent::FOOTER              => 'footer',
                HtmlFilterEvent::PAGE_HEADER         => 'page_header',
@@ -85,6 +86,7 @@ final class HookEventBridge
                        ArrayFilterEvent::RENDER_LOCATION    => 'onArrayFilterEvent',
                        ArrayFilterEvent::ITEM_PHOTO_MENU    => 'onArrayFilterEvent',
                        ArrayFilterEvent::OEMBED_FETCH_END   => 'onOembedFetchEndEvent',
+                       ArrayFilterEvent::PAGE_INFO          => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD                => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER              => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER         => 'onHtmlFilterEvent',
index 47beddc8661d7fd38c1e721cc14c8d7cf02ec7f2..41158c7eb3fff10d682ebd3ad81857b4f97f964e 100644 (file)
@@ -44,6 +44,8 @@ final class ArrayFilterEvent extends Event
 
        public const OEMBED_FETCH_END = 'friendica.data.oembed_fetch_end';
 
+       public const PAGE_INFO = 'friendica.data.page_info';
+
        private array $array;
 
        public function __construct(string $name, array $array)
index 44b727cf71822a19b503105aed3b95394c60a9d7..d6d7801f132449e9476ff02587536916520ef6a7 100644 (file)
@@ -42,6 +42,7 @@ class HookEventBridgeTest extends TestCase
                        ArrayFilterEvent::RENDER_LOCATION    => 'onArrayFilterEvent',
                        ArrayFilterEvent::ITEM_PHOTO_MENU    => 'onArrayFilterEvent',
                        ArrayFilterEvent::OEMBED_FETCH_END   => 'onOembedFetchEndEvent',
+                       ArrayFilterEvent::PAGE_INFO          => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD                => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER              => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER         => 'onHtmlFilterEvent',
@@ -196,6 +197,7 @@ class HookEventBridgeTest extends TestCase
                        [ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
                        [ArrayFilterEvent::RENDER_LOCATION, 'render_location'],
                        [ArrayFilterEvent::ITEM_PHOTO_MENU, 'item_photo_menu'],
+                       [ArrayFilterEvent::PAGE_INFO, 'page_info_data'],
                ];
        }
 
index 26ff604170e2d1f69f81a2fdee13a9c9434e4b90..00e47f4b61ebe5085ce6d9221cd7592d52b57c1c 100644 (file)
@@ -39,6 +39,7 @@ class ArrayFilterEventTest extends TestCase
                        [ArrayFilterEvent::RENDER_LOCATION, 'friendica.data.render_location'],
                        [ArrayFilterEvent::ITEM_PHOTO_MENU, 'friendica.data.item_photo_menu'],
                        [ArrayFilterEvent::OEMBED_FETCH_END, 'friendica.data.oembed_fetch_end'],
+                       [ArrayFilterEvent::PAGE_INFO, 'friendica.data.page_info'],
                ];
        }