From f98aee686ffe802b2d9609a4c1b987524dc844dc Mon Sep 17 00:00:00 2001 From: Art4 Date: Sat, 22 Feb 2025 19:22:23 +0000 Subject: [PATCH] Create Event for jot_networks hook --- src/Core/ACL.php | 8 +++++++- src/Core/Hooks/HookEventBridge.php | 2 ++ src/Event/ArrayFilterEvent.php | 2 ++ tests/Unit/Core/Hooks/HookEventBridgeTest.php | 2 ++ tests/Unit/Event/ArrayFilterEventTest.php | 1 + 5 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/Core/ACL.php b/src/Core/ACL.php index e0ff7e9e6a..46d66b9a20 100644 --- a/src/Core/ACL.php +++ b/src/Core/ACL.php @@ -11,6 +11,7 @@ use Exception; use Friendica\App\Page; use Friendica\Database\DBA; use Friendica\DI; +use Friendica\Event\ArrayFilterEvent; use Friendica\Model\Contact; use Friendica\Model\Circle; use Friendica\Model\User; @@ -285,7 +286,12 @@ class ACL } } - Hook::callAll('jot_networks', $jotnets_fields); + + $eventDispatcher = DI::eventDispatcher(); + + $jotnets_fields = $eventDispatcher->dispatch( + new ArrayFilterEvent(ArrayFilterEvent::JOT_NETWORKS, $jotnets_fields), + )->getArray(); } $acl_contacts = self::getContactListByUserId($user['uid'], $condition); diff --git a/src/Core/Hooks/HookEventBridge.php b/src/Core/Hooks/HookEventBridge.php index 943ba7eaa6..39198cf86c 100644 --- a/src/Core/Hooks/HookEventBridge.php +++ b/src/Core/Hooks/HookEventBridge.php @@ -58,6 +58,7 @@ final class HookEventBridge ArrayFilterEvent::BBCODE_TO_HTML_START => 'bbcode', ArrayFilterEvent::HTML_TO_BBCODE_END => 'html2bbcode', ArrayFilterEvent::BBCODE_TO_MARKDOWN_END => 'bb2diaspora', + ArrayFilterEvent::JOT_NETWORKS => 'jot_networks', HtmlFilterEvent::HEAD => 'head', HtmlFilterEvent::FOOTER => 'footer', HtmlFilterEvent::PAGE_HEADER => 'page_header', @@ -96,6 +97,7 @@ final class HookEventBridge ArrayFilterEvent::BBCODE_TO_HTML_START => 'onBbcodeToHtmlEvent', ArrayFilterEvent::HTML_TO_BBCODE_END => 'onHtmlToBbcodeEvent', ArrayFilterEvent::BBCODE_TO_MARKDOWN_END => 'onBbcodeToMarkdownEvent', + ArrayFilterEvent::JOT_NETWORKS => 'onArrayFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', diff --git a/src/Event/ArrayFilterEvent.php b/src/Event/ArrayFilterEvent.php index 94cc07e874..43734efc95 100644 --- a/src/Event/ArrayFilterEvent.php +++ b/src/Event/ArrayFilterEvent.php @@ -54,6 +54,8 @@ final class ArrayFilterEvent extends Event public const BBCODE_TO_MARKDOWN_END = 'friendica.data.bbcode_to_markdown_end'; + public const JOT_NETWORKS = 'friendica.data.jot_networks'; + private array $array; public function __construct(string $name, array $array) diff --git a/tests/Unit/Core/Hooks/HookEventBridgeTest.php b/tests/Unit/Core/Hooks/HookEventBridgeTest.php index b8fb3c4814..9da695a74c 100644 --- a/tests/Unit/Core/Hooks/HookEventBridgeTest.php +++ b/tests/Unit/Core/Hooks/HookEventBridgeTest.php @@ -47,6 +47,7 @@ class HookEventBridgeTest extends TestCase ArrayFilterEvent::BBCODE_TO_HTML_START => 'onBbcodeToHtmlEvent', ArrayFilterEvent::HTML_TO_BBCODE_END => 'onHtmlToBbcodeEvent', ArrayFilterEvent::BBCODE_TO_MARKDOWN_END => 'onBbcodeToMarkdownEvent', + ArrayFilterEvent::JOT_NETWORKS => 'onArrayFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', @@ -270,6 +271,7 @@ class HookEventBridgeTest extends TestCase [ArrayFilterEvent::ITEM_PHOTO_MENU, 'item_photo_menu'], [ArrayFilterEvent::PAGE_INFO, 'page_info_data'], [ArrayFilterEvent::SMILEY_LIST, 'smilie'], + [ArrayFilterEvent::JOT_NETWORKS, 'jot_networks'], ]; } diff --git a/tests/Unit/Event/ArrayFilterEventTest.php b/tests/Unit/Event/ArrayFilterEventTest.php index 643f309a8b..ddb7cb4758 100644 --- a/tests/Unit/Event/ArrayFilterEventTest.php +++ b/tests/Unit/Event/ArrayFilterEventTest.php @@ -43,6 +43,7 @@ class ArrayFilterEventTest extends TestCase [ArrayFilterEvent::SMILEY_LIST, 'friendica.data.smiley_list'], [ArrayFilterEvent::BBCODE_TO_HTML_START, 'friendica.data.bbcode_to_html_start'], [ArrayFilterEvent::BBCODE_TO_MARKDOWN_END, 'friendica.data.bbcode_to_markdown_end'], + [ArrayFilterEvent::JOT_NETWORKS, 'friendica.data.jot_networks'], ]; }