Add events for post_local, post_local_start and post_local_end

This commit is contained in:
Art4 2025-02-08 07:58:33 +00:00
parent 10f5f0358a
commit 649ddf7ab9
3 changed files with 51 additions and 33 deletions

View file

@ -34,17 +34,20 @@ final class HookEventBridge
* This maps the new event names to the legacy Hook names. * This maps the new event names to the legacy Hook names.
*/ */
private static array $eventMapper = [ private static array $eventMapper = [
Event::INIT => 'init_1', Event::INIT => 'init_1',
ConfigLoadedEvent::CONFIG_LOADED => 'load_config', ConfigLoadedEvent::CONFIG_LOADED => 'load_config',
ArrayFilterEvent::APP_MENU => 'app_menu', ArrayFilterEvent::APP_MENU => 'app_menu',
ArrayFilterEvent::NAV_INFO => 'nav_info', ArrayFilterEvent::NAV_INFO => 'nav_info',
ArrayFilterEvent::FEATURE_ENABLED => 'isEnabled', ArrayFilterEvent::FEATURE_ENABLED => 'isEnabled',
ArrayFilterEvent::FEATURE_GET => 'get', ArrayFilterEvent::FEATURE_GET => 'get',
HtmlFilterEvent::HEAD => 'head', ArrayFilterEvent::POST_LOCAL_START => 'post_local_start',
HtmlFilterEvent::FOOTER => 'footer', ArrayFilterEvent::POST_LOCAL => 'post_local',
HtmlFilterEvent::PAGE_HEADER => 'page_header', ArrayFilterEvent::POST_LOCAL_END => 'post_local_end',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top', HtmlFilterEvent::HEAD => 'head',
HtmlFilterEvent::PAGE_END => 'page_end', 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 public static function getStaticSubscribedEvents(): array
{ {
return [ return [
Event::INIT => 'onNamedEvent', Event::INIT => 'onNamedEvent',
ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent',
ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent',
ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent',
ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent',
ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL_START => 'onArrayFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
]; ];
} }

View file

@ -24,6 +24,12 @@ final class ArrayFilterEvent extends Event
public const FEATURE_GET = 'friendica.data.feature_get'; 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; private array $array;
public function __construct(string $name, array $array) public function __construct(string $name, array $array)

View file

@ -22,17 +22,20 @@ class HookEventBridgeTest extends TestCase
public function testGetStaticSubscribedEventsReturnsStaticMethods(): void public function testGetStaticSubscribedEventsReturnsStaticMethods(): void
{ {
$expected = [ $expected = [
Event::INIT => 'onNamedEvent', Event::INIT => 'onNamedEvent',
ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent', ConfigLoadedEvent::CONFIG_LOADED => 'onConfigLoadedEvent',
ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent', ArrayFilterEvent::APP_MENU => 'onArrayFilterEvent',
ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent', ArrayFilterEvent::NAV_INFO => 'onArrayFilterEvent',
ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent', ArrayFilterEvent::FEATURE_ENABLED => 'onArrayFilterEvent',
ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent', ArrayFilterEvent::FEATURE_GET => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL_START => 'onArrayFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
]; ];
$this->assertSame( $this->assertSame(
@ -119,6 +122,9 @@ class HookEventBridgeTest extends TestCase
[ArrayFilterEvent::NAV_INFO, 'nav_info'], [ArrayFilterEvent::NAV_INFO, 'nav_info'],
[ArrayFilterEvent::FEATURE_ENABLED, 'isEnabled'], [ArrayFilterEvent::FEATURE_ENABLED, 'isEnabled'],
[ArrayFilterEvent::FEATURE_GET, 'get'], [ArrayFilterEvent::FEATURE_GET, 'get'],
[ArrayFilterEvent::POST_LOCAL_START, 'post_local_start'],
[ArrayFilterEvent::POST_LOCAL, 'post_local'],
[ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'],
]; ];
} }