Create event for home_content hook

This commit is contained in:
Art4 2025-03-25 15:57:26 +00:00
parent a9f02bfef5
commit a9b36f55c9
6 changed files with 19 additions and 9 deletions

View file

@ -99,7 +99,8 @@ final class HookEventBridge
HtmlFilterEvent::PAGE_HEADER => 'page_header', HtmlFilterEvent::PAGE_HEADER => 'page_header',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top', HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top',
HtmlFilterEvent::PAGE_END => 'page_end', 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::JOT_TOOL => 'jot_tool',
HtmlFilterEvent::CONTACT_BLOCK_END => 'contact_block_end', HtmlFilterEvent::CONTACT_BLOCK_END => 'contact_block_end',
]; ];
@ -174,7 +175,8 @@ final class HookEventBridge
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
HtmlFilterEvent::ABOUT_CONTENT => 'onHtmlFilterEvent', HtmlFilterEvent::MOD_HOME_CONTENT => 'onHtmlFilterEvent',
HtmlFilterEvent::MOD_ABOUT_CONTENT => 'onHtmlFilterEvent',
HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent', HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent',
HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent', HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent',
]; ];

View file

@ -26,7 +26,9 @@ final class HtmlFilterEvent extends Event
public const PAGE_END = 'friendica.html.page_end'; 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'; public const JOT_TOOL = 'friendica.html.jot_tool';

View file

@ -116,7 +116,7 @@ class Friendica extends BaseModule
$hooked = ''; $hooked = '';
$hooked = $this->eventDispatcher->dispatch( $hooked = $this->eventDispatcher->dispatch(
new HtmlFilterEvent(HtmlFilterEvent::ABOUT_CONTENT, $hooked), new HtmlFilterEvent(HtmlFilterEvent::MOD_ABOUT_CONTENT, $hooked),
)->getHtml(); )->getHtml();
$tpl = Renderer::getMarkupTemplate('friendica.tpl'); $tpl = Renderer::getMarkupTemplate('friendica.tpl');

View file

@ -8,10 +8,10 @@
namespace Friendica\Module; namespace Friendica\Module;
use Friendica\BaseModule; use Friendica\BaseModule;
use Friendica\Core\Hook;
use Friendica\Core\Renderer; use Friendica\Core\Renderer;
use Friendica\DI; use Friendica\DI;
use Friendica\Event\Event; use Friendica\Event\Event;
use Friendica\Event\HtmlFilterEvent;
use Friendica\Model\User; use Friendica\Model\User;
use Friendica\Module\Security\Login; use Friendica\Module\Security\Login;
use Friendica\Protocol\ActivityPub; use Friendica\Protocol\ActivityPub;
@ -66,7 +66,10 @@ class Home extends BaseModule
$login = Login::form(DI::args()->getQueryString(), Register::getPolicy() !== Register::CLOSED); $login = Login::form(DI::args()->getQueryString(), Register::getPolicy() !== Register::CLOSED);
$content = ''; $content = '';
Hook::callAll('home_content', $content);
$content = $eventDispatcher->dispatch(
new HtmlFilterEvent(HtmlFilterEvent::MOD_HOME_CONTENT, $content),
)->getHtml();
$tpl = Renderer::getMarkupTemplate('home.tpl'); $tpl = Renderer::getMarkupTemplate('home.tpl');
return Renderer::replaceMacros($tpl, [ return Renderer::replaceMacros($tpl, [

View file

@ -88,7 +88,8 @@ class HookEventBridgeTest extends TestCase
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
HtmlFilterEvent::ABOUT_CONTENT => 'onHtmlFilterEvent', HtmlFilterEvent::MOD_HOME_CONTENT => 'onHtmlFilterEvent',
HtmlFilterEvent::MOD_ABOUT_CONTENT => 'onHtmlFilterEvent',
HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent', HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent',
HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent', HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent',
]; ];
@ -526,7 +527,8 @@ class HookEventBridgeTest extends TestCase
[HtmlFilterEvent::PAGE_HEADER, 'page_header'], [HtmlFilterEvent::PAGE_HEADER, 'page_header'],
[HtmlFilterEvent::PAGE_CONTENT_TOP, 'page_content_top'], [HtmlFilterEvent::PAGE_CONTENT_TOP, 'page_content_top'],
[HtmlFilterEvent::PAGE_END, 'page_end'], [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::JOT_TOOL, 'jot_tool'],
[HtmlFilterEvent::CONTACT_BLOCK_END, 'contact_block_end'], [HtmlFilterEvent::CONTACT_BLOCK_END, 'contact_block_end'],
]; ];

View file

@ -30,7 +30,8 @@ class HtmlFilterEventTest extends TestCase
[HtmlFilterEvent::PAGE_HEADER, 'friendica.html.page_header'], [HtmlFilterEvent::PAGE_HEADER, 'friendica.html.page_header'],
[HtmlFilterEvent::PAGE_CONTENT_TOP, 'friendica.html.page_content_top'], [HtmlFilterEvent::PAGE_CONTENT_TOP, 'friendica.html.page_content_top'],
[HtmlFilterEvent::PAGE_END, 'friendica.html.page_end'], [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::JOT_TOOL, 'friendica.html.jot_tool'],
[HtmlFilterEvent::CONTACT_BLOCK_END, 'friendica.html.contact_block_end'], [HtmlFilterEvent::CONTACT_BLOCK_END, 'friendica.html.contact_block_end'],
]; ];