]> git.mxchange.org Git - friendica.git/commitdiff
Create event for network_to_name hook
authorArt4 <art4@wlabs.de>
Thu, 13 Feb 2025 15:29:52 +0000 (15:29 +0000)
committerArt4 <art4@wlabs.de>
Thu, 13 Feb 2025 15:29:52 +0000 (15:29 +0000)
src/Content/ContactSelector.php
src/Core/Hooks/HookEventBridge.php
src/Event/ArrayFilterEvent.php
tests/Unit/Core/Hooks/HookEventBridgeTest.php

index 1bd891a8441202584e0d1927d1607d9e88bed3e0..4cdb78e996d8e0a0588800d17709cdb9f5cf4ef4 100644 (file)
@@ -11,6 +11,7 @@ use Friendica\Core\Hook;
 use Friendica\Core\Protocol;
 use Friendica\Database\DBA;
 use Friendica\DI;
+use Friendica\Event\ArrayFilterEvent;
 use Friendica\Util\Strings;
 
 /**
@@ -113,6 +114,8 @@ class ContactSelector
         */
        public static function networkToName(string $network, string $protocol = '', int $gsid = null): string
        {
+               $eventDispatcher = DI::eventDispatcher();
+
                $nets = [
                        Protocol::DFRN      =>   DI::l10n()->t('DFRN'),
                        Protocol::OSTATUS   =>   DI::l10n()->t('OStatus'),
@@ -135,7 +138,9 @@ class ContactSelector
                        Protocol::BLUESKY   =>   DI::l10n()->t('Bluesky'),
                ];
 
-               Hook::callAll('network_to_name', $nets);
+               $nets = $eventDispatcher->dispatch(
+                       new ArrayFilterEvent(ArrayFilterEvent::NETWORK_TO_NAME, $nets),
+               )->getArray();
 
                $search  = array_keys($nets);
                $replace = array_values($nets);
index 1a66b74221d37c1b30d4387dbf8ed1d8abbbe004..fca179a75b86d2b8ee4169db39a1c711fa92b768 100644 (file)
@@ -47,6 +47,7 @@ final class HookEventBridge
                ArrayFilterEvent::POST_LOCAL        => 'post_local',
                ArrayFilterEvent::POST_LOCAL_END    => 'post_local_end',
                ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
+               ArrayFilterEvent::NETWORK_TO_NAME   => 'network_to_name',
                HtmlFilterEvent::HEAD               => 'head',
                HtmlFilterEvent::FOOTER             => 'footer',
                HtmlFilterEvent::PAGE_HEADER        => 'page_header',
@@ -72,6 +73,7 @@ final class HookEventBridge
                        ArrayFilterEvent::POST_LOCAL        => 'onArrayFilterEvent',
                        ArrayFilterEvent::POST_LOCAL_END    => 'onArrayFilterEvent',
                        ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
+                       ArrayFilterEvent::NETWORK_TO_NAME   => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD               => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER             => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER        => 'onHtmlFilterEvent',
index 2afb92998faf9d281e58feacc371093e4a69c5c1..15579788a62998fe281b1abee7a9c453e2d3cefc 100644 (file)
@@ -32,6 +32,8 @@ final class ArrayFilterEvent extends Event
 
        public const PHOTO_UPLOAD_FORM = 'friendica.data.photo_upload_form';
 
+       public const NETWORK_TO_NAME = 'friendica.data.network_to_name';
+
        private array $array;
 
        public function __construct(string $name, array $array)
index 688e39ecfa343d01f4b8a68dc795f444fb7dbf92..195f0a0d0baa1d4a939ae6d52feee3de254cf69a 100644 (file)
@@ -36,6 +36,7 @@ class HookEventBridgeTest extends TestCase
                        ArrayFilterEvent::POST_LOCAL        => 'onArrayFilterEvent',
                        ArrayFilterEvent::POST_LOCAL_END    => 'onArrayFilterEvent',
                        ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
+                       ArrayFilterEvent::NETWORK_TO_NAME   => 'onArrayFilterEvent',
                        HtmlFilterEvent::HEAD               => 'onHtmlFilterEvent',
                        HtmlFilterEvent::FOOTER             => 'onHtmlFilterEvent',
                        HtmlFilterEvent::PAGE_HEADER        => 'onHtmlFilterEvent',
@@ -162,6 +163,7 @@ class HookEventBridgeTest extends TestCase
                        [ArrayFilterEvent::POST_LOCAL, 'post_local'],
                        [ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'],
                        [ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
+                       [ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
                ];
        }