From a9b36f55c95d94d408f7cf37aa5fec631d2b419b Mon Sep 17 00:00:00 2001 From: Art4 Date: Tue, 25 Mar 2025 15:57:26 +0000 Subject: [PATCH] Create event for home_content hook --- src/Core/Hooks/HookEventBridge.php | 6 ++++-- src/Event/HtmlFilterEvent.php | 4 +++- src/Module/Friendica.php | 2 +- src/Module/Home.php | 7 +++++-- tests/Unit/Core/Hooks/HookEventBridgeTest.php | 6 ++++-- tests/Unit/Event/HtmlFilterEventTest.php | 3 ++- 6 files changed, 19 insertions(+), 9 deletions(-) diff --git a/src/Core/Hooks/HookEventBridge.php b/src/Core/Hooks/HookEventBridge.php index 24d15606ea..84835dc780 100644 --- a/src/Core/Hooks/HookEventBridge.php +++ b/src/Core/Hooks/HookEventBridge.php @@ -99,7 +99,8 @@ final class HookEventBridge HtmlFilterEvent::PAGE_HEADER => 'page_header', HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top', HtmlFilterEvent::PAGE_END => 'page_end', - HtmlFilterEvent::ABOUT_CONTENT => 'about_hook', + HtmlFilterEvent::MOD_HOME_CONTENT => 'home_content', + HtmlFilterEvent::MOD_ABOUT_CONTENT => 'about_hook', HtmlFilterEvent::JOT_TOOL => 'jot_tool', HtmlFilterEvent::CONTACT_BLOCK_END => 'contact_block_end', ]; @@ -174,7 +175,8 @@ final class HookEventBridge HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', - HtmlFilterEvent::ABOUT_CONTENT => 'onHtmlFilterEvent', + HtmlFilterEvent::MOD_HOME_CONTENT => 'onHtmlFilterEvent', + HtmlFilterEvent::MOD_ABOUT_CONTENT => 'onHtmlFilterEvent', HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent', HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent', ]; diff --git a/src/Event/HtmlFilterEvent.php b/src/Event/HtmlFilterEvent.php index 2f68d864bf..9e30d6d656 100644 --- a/src/Event/HtmlFilterEvent.php +++ b/src/Event/HtmlFilterEvent.php @@ -26,7 +26,9 @@ final class HtmlFilterEvent extends Event public const PAGE_END = 'friendica.html.page_end'; - public const ABOUT_CONTENT = 'friendica.html.about_content'; + public const MOD_HOME_CONTENT = 'friendica.html.mod_home_content'; + + public const MOD_ABOUT_CONTENT = 'friendica.html.mod_about_content'; public const JOT_TOOL = 'friendica.html.jot_tool'; diff --git a/src/Module/Friendica.php b/src/Module/Friendica.php index 0ace0707dd..314152abca 100644 --- a/src/Module/Friendica.php +++ b/src/Module/Friendica.php @@ -116,7 +116,7 @@ class Friendica extends BaseModule $hooked = ''; $hooked = $this->eventDispatcher->dispatch( - new HtmlFilterEvent(HtmlFilterEvent::ABOUT_CONTENT, $hooked), + new HtmlFilterEvent(HtmlFilterEvent::MOD_ABOUT_CONTENT, $hooked), )->getHtml(); $tpl = Renderer::getMarkupTemplate('friendica.tpl'); diff --git a/src/Module/Home.php b/src/Module/Home.php index 7e7d59d760..9a6a4a4730 100644 --- a/src/Module/Home.php +++ b/src/Module/Home.php @@ -8,10 +8,10 @@ namespace Friendica\Module; use Friendica\BaseModule; -use Friendica\Core\Hook; use Friendica\Core\Renderer; use Friendica\DI; use Friendica\Event\Event; +use Friendica\Event\HtmlFilterEvent; use Friendica\Model\User; use Friendica\Module\Security\Login; use Friendica\Protocol\ActivityPub; @@ -66,7 +66,10 @@ class Home extends BaseModule $login = Login::form(DI::args()->getQueryString(), Register::getPolicy() !== Register::CLOSED); $content = ''; - Hook::callAll('home_content', $content); + + $content = $eventDispatcher->dispatch( + new HtmlFilterEvent(HtmlFilterEvent::MOD_HOME_CONTENT, $content), + )->getHtml(); $tpl = Renderer::getMarkupTemplate('home.tpl'); return Renderer::replaceMacros($tpl, [ diff --git a/tests/Unit/Core/Hooks/HookEventBridgeTest.php b/tests/Unit/Core/Hooks/HookEventBridgeTest.php index ab6f5e2cf0..075630da1c 100644 --- a/tests/Unit/Core/Hooks/HookEventBridgeTest.php +++ b/tests/Unit/Core/Hooks/HookEventBridgeTest.php @@ -88,7 +88,8 @@ class HookEventBridgeTest extends TestCase HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', - HtmlFilterEvent::ABOUT_CONTENT => 'onHtmlFilterEvent', + HtmlFilterEvent::MOD_HOME_CONTENT => 'onHtmlFilterEvent', + HtmlFilterEvent::MOD_ABOUT_CONTENT => 'onHtmlFilterEvent', HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent', HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent', ]; @@ -526,7 +527,8 @@ class HookEventBridgeTest extends TestCase [HtmlFilterEvent::PAGE_HEADER, 'page_header'], [HtmlFilterEvent::PAGE_CONTENT_TOP, 'page_content_top'], [HtmlFilterEvent::PAGE_END, 'page_end'], - [HtmlFilterEvent::ABOUT_CONTENT, 'about_hook'], + [HtmlFilterEvent::MOD_HOME_CONTENT, 'home_content'], + [HtmlFilterEvent::MOD_ABOUT_CONTENT, 'about_hook'], [HtmlFilterEvent::JOT_TOOL, 'jot_tool'], [HtmlFilterEvent::CONTACT_BLOCK_END, 'contact_block_end'], ]; diff --git a/tests/Unit/Event/HtmlFilterEventTest.php b/tests/Unit/Event/HtmlFilterEventTest.php index 9d38cf097a..47a2d2596d 100644 --- a/tests/Unit/Event/HtmlFilterEventTest.php +++ b/tests/Unit/Event/HtmlFilterEventTest.php @@ -30,7 +30,8 @@ class HtmlFilterEventTest extends TestCase [HtmlFilterEvent::PAGE_HEADER, 'friendica.html.page_header'], [HtmlFilterEvent::PAGE_CONTENT_TOP, 'friendica.html.page_content_top'], [HtmlFilterEvent::PAGE_END, 'friendica.html.page_end'], - [HtmlFilterEvent::ABOUT_CONTENT, 'friendica.html.about_content'], + [HtmlFilterEvent::MOD_HOME_CONTENT, 'friendica.html.mod_home_content'], + [HtmlFilterEvent::MOD_ABOUT_CONTENT, 'friendica.html.mod_about_content'], [HtmlFilterEvent::JOT_TOOL, 'friendica.html.jot_tool'], [HtmlFilterEvent::CONTACT_BLOCK_END, 'friendica.html.contact_block_end'], ];