From 649ddf7ab9145fdae497850ecedbe374afeb4008 Mon Sep 17 00:00:00 2001 From: Art4 Date: Sat, 8 Feb 2025 07:58:33 +0000 Subject: [PATCH] Add events for post_local, post_local_start and post_local_end --- src/Core/Hooks/HookEventBridge.php | 50 +++++++++++-------- src/Event/ArrayFilterEvent.php | 6 +++ tests/Unit/Core/Hooks/HookEventBridgeTest.php | 28 +++++++---- 3 files changed, 51 insertions(+), 33 deletions(-) diff --git a/src/Core/Hooks/HookEventBridge.php b/src/Core/Hooks/HookEventBridge.php index 2dad2d2b23..306434609b 100644 --- a/src/Core/Hooks/HookEventBridge.php +++ b/src/Core/Hooks/HookEventBridge.php @@ -34,17 +34,20 @@ final class HookEventBridge * This maps the new event names to the legacy Hook names. */ private static array $eventMapper = [ - Event::INIT => 'init_1', - ConfigLoadedEvent::CONFIG_LOADED => 'load_config', - ArrayFilterEvent::APP_MENU => 'app_menu', - ArrayFilterEvent::NAV_INFO => 'nav_info', - ArrayFilterEvent::FEATURE_ENABLED => 'isEnabled', - ArrayFilterEvent::FEATURE_GET => 'get', - HtmlFilterEvent::HEAD => 'head', - HtmlFilterEvent::FOOTER => 'footer', - HtmlFilterEvent::PAGE_HEADER => 'page_header', - HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top', - HtmlFilterEvent::PAGE_END => 'page_end', + Event::INIT => 'init_1', + ConfigLoadedEvent::CONFIG_LOADED => 'load_config', + ArrayFilterEvent::APP_MENU => 'app_menu', + ArrayFilterEvent::NAV_INFO => 'nav_info', + ArrayFilterEvent::FEATURE_ENABLED => 'isEnabled', + ArrayFilterEvent::FEATURE_GET => 'get', + ArrayFilterEvent::POST_LOCAL_START => 'post_local_start', + ArrayFilterEvent::POST_LOCAL => 'post_local', + ArrayFilterEvent::POST_LOCAL_END => 'post_local_end', + HtmlFilterEvent::HEAD => 'head', + HtmlFilterEvent::FOOTER => 'footer', + HtmlFilterEvent::PAGE_HEADER => 'page_header', + HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top', + HtmlFilterEvent::PAGE_END => 'page_end', ]; /** @@ -53,17 +56,20 @@ final class HookEventBridge public static function getStaticSubscribedEvents(): array { return [ - Event::INIT => 'onNamedEvent', - ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', - ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', - ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', - ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', - ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', - HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', - HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', + Event::INIT => 'onNamedEvent', + ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', + ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', + ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', + ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', + ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL_START => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent', + HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', + HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', ]; } diff --git a/src/Event/ArrayFilterEvent.php b/src/Event/ArrayFilterEvent.php index 839aa40b75..8d552755ee 100644 --- a/src/Event/ArrayFilterEvent.php +++ b/src/Event/ArrayFilterEvent.php @@ -24,6 +24,12 @@ final class ArrayFilterEvent extends Event public const FEATURE_GET = 'friendica.data.feature_get'; + public const POST_LOCAL_START = 'friendica.data.post_local_start'; + + public const POST_LOCAL = 'friendica.data.post_local'; + + public const POST_LOCAL_END = 'friendica.data.post_local_end'; + 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 671eb23e94..8a207684b1 100644 --- a/tests/Unit/Core/Hooks/HookEventBridgeTest.php +++ b/tests/Unit/Core/Hooks/HookEventBridgeTest.php @@ -22,17 +22,20 @@ class HookEventBridgeTest extends TestCase public function testGetStaticSubscribedEventsReturnsStaticMethods(): void { $expected = [ - Event::INIT => 'onNamedEvent', - ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', - ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', - ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', - ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', - ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', - HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', - HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', - HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', + Event::INIT => 'onNamedEvent', + ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', + ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', + ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', + ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', + ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL_START => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent', + ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent', + HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', + HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', ]; $this->assertSame( @@ -119,6 +122,9 @@ class HookEventBridgeTest extends TestCase [ArrayFilterEvent::NAV_INFO, 'nav_info'], [ArrayFilterEvent::FEATURE_ENABLED, 'isEnabled'], [ArrayFilterEvent::FEATURE_GET, 'get'], + [ArrayFilterEvent::POST_LOCAL_START, 'post_local_start'], + [ArrayFilterEvent::POST_LOCAL, 'post_local'], + [ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'], ]; }