Create event for network_to_name hook

This commit is contained in:
Art4 2025-02-13 15:29:52 +00:00
parent caef97752a
commit 3295b9055f
4 changed files with 12 additions and 1 deletions

View file

@ -11,6 +11,7 @@ use Friendica\Core\Hook;
use Friendica\Core\Protocol; use Friendica\Core\Protocol;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\DI; use Friendica\DI;
use Friendica\Event\ArrayFilterEvent;
use Friendica\Util\Strings; use Friendica\Util\Strings;
/** /**
@ -113,6 +114,8 @@ class ContactSelector
*/ */
public static function networkToName(string $network, string $protocol = '', int $gsid = null): string public static function networkToName(string $network, string $protocol = '', int $gsid = null): string
{ {
$eventDispatcher = DI::eventDispatcher();
$nets = [ $nets = [
Protocol::DFRN => DI::l10n()->t('DFRN'), Protocol::DFRN => DI::l10n()->t('DFRN'),
Protocol::OSTATUS => DI::l10n()->t('OStatus'), Protocol::OSTATUS => DI::l10n()->t('OStatus'),
@ -135,7 +138,9 @@ class ContactSelector
Protocol::BLUESKY => DI::l10n()->t('Bluesky'), Protocol::BLUESKY => DI::l10n()->t('Bluesky'),
]; ];
Hook::callAll('network_to_name', $nets); $nets = $eventDispatcher->dispatch(
new ArrayFilterEvent(ArrayFilterEvent::NETWORK_TO_NAME, $nets),
)->getArray();
$search = array_keys($nets); $search = array_keys($nets);
$replace = array_values($nets); $replace = array_values($nets);

View file

@ -47,6 +47,7 @@ final class HookEventBridge
ArrayFilterEvent::POST_LOCAL => 'post_local', ArrayFilterEvent::POST_LOCAL => 'post_local',
ArrayFilterEvent::POST_LOCAL_END => 'post_local_end', ArrayFilterEvent::POST_LOCAL_END => 'post_local_end',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form', ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
ArrayFilterEvent::NETWORK_TO_NAME => 'network_to_name',
HtmlFilterEvent::HEAD => 'head', HtmlFilterEvent::HEAD => 'head',
HtmlFilterEvent::FOOTER => 'footer', HtmlFilterEvent::FOOTER => 'footer',
HtmlFilterEvent::PAGE_HEADER => 'page_header', HtmlFilterEvent::PAGE_HEADER => 'page_header',
@ -72,6 +73,7 @@ final class HookEventBridge
ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent', ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent',
ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent', ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent', ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',

View file

@ -32,6 +32,8 @@ final class ArrayFilterEvent extends Event
public const PHOTO_UPLOAD_FORM = 'friendica.data.photo_upload_form'; public const PHOTO_UPLOAD_FORM = 'friendica.data.photo_upload_form';
public const NETWORK_TO_NAME = 'friendica.data.network_to_name';
private array $array; private array $array;
public function __construct(string $name, array $array) public function __construct(string $name, array $array)

View file

@ -36,6 +36,7 @@ class HookEventBridgeTest extends TestCase
ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent', ArrayFilterEvent::POST_LOCAL => 'onArrayFilterEvent',
ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent', ArrayFilterEvent::POST_LOCAL_END => 'onArrayFilterEvent',
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent', ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent', HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
@ -162,6 +163,7 @@ class HookEventBridgeTest extends TestCase
[ArrayFilterEvent::POST_LOCAL, 'post_local'], [ArrayFilterEvent::POST_LOCAL, 'post_local'],
[ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'], [ArrayFilterEvent::POST_LOCAL_END, 'post_local_end'],
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'], [ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
[ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
]; ];
} }