Create Event for contact_block_end hook

This commit is contained in:
Art4 2025-02-20 08:24:52 +00:00
parent 27a7735c65
commit c66588cc2a
6 changed files with 15 additions and 8 deletions

View file

@ -8,11 +8,11 @@
namespace Friendica\Content\Widget;
use Friendica\Content\Text\HTML;
use Friendica\Core\Hook;
use Friendica\Core\Protocol;
use Friendica\Core\Renderer;
use Friendica\Database\DBA;
use Friendica\DI;
use Friendica\Event\HtmlFilterEvent;
use Friendica\Model\Contact;
use Friendica\Model\User;
@ -26,7 +26,6 @@ class ContactBlock
/**
* Get HTML for contact block
*
* @hook contact_block_end (contacts=>array, output=>string)
* @return string Formatted HTML code or empty string
*/
public static function getHTML(array $profile, int $visitor_uid = null): string
@ -113,9 +112,11 @@ class ContactBlock
'$micropro' => $micropro,
]);
$arr = ['contacts' => $contacts, 'output' => $o];
$eventDispatcher = DI::eventDispatcher();
Hook::callAll('contact_block_end', $arr);
$o = $eventDispatcher->dispatch(
new HtmlFilterEvent(HtmlFilterEvent::CONTACT_BLOCK_END, $o),
)->getHtml();
return $o;
}

View file

@ -64,6 +64,7 @@ final class HookEventBridge
HtmlFilterEvent::PAGE_CONTENT_TOP => 'page_content_top',
HtmlFilterEvent::PAGE_END => 'page_end',
HtmlFilterEvent::JOT_TOOL => 'jot_tool',
HtmlFilterEvent::CONTACT_BLOCK_END => 'contact_block_end',
];
/**
@ -101,6 +102,7 @@ final class HookEventBridge
HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent',
HtmlFilterEvent::JOT_TOOL => 'onHtmlFilterEvent',
HtmlFilterEvent::CONTACT_BLOCK_END => 'onHtmlFilterEvent',
];
}

View file

@ -28,6 +28,8 @@ final class HtmlFilterEvent extends Event
public const JOT_TOOL = 'friendica.html.jot_tool';
public const CONTACT_BLOCK_END = 'friendica.html.contact_block_end';
private string $html;
public function __construct(string $name, string $html)