mirror of
https://github.com/friendica/friendica
synced 2025-04-27 19:50:12 +00:00
Create Event for display_item hook
This commit is contained in:
parent
02976067c3
commit
ca3edb866a
5 changed files with 17 additions and 2 deletions
|
@ -1572,7 +1572,10 @@ class Conversation
|
||||||
];
|
];
|
||||||
|
|
||||||
$arr = ['item' => $item, 'output' => $tmp_item];
|
$arr = ['item' => $item, 'output' => $tmp_item];
|
||||||
Hook::callAll('display_item', $arr);
|
|
||||||
|
$arr = $this->eventDispatcher->dispatch(
|
||||||
|
new ArrayFilterEvent(ArrayFilterEvent::DISPLAY_ITEM, $arr),
|
||||||
|
)->getArray();
|
||||||
|
|
||||||
$threads[] = [
|
$threads[] = [
|
||||||
'id' => $item['id'],
|
'id' => $item['id'],
|
||||||
|
|
|
@ -49,6 +49,7 @@ final class HookEventBridge
|
||||||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
|
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
|
||||||
ArrayFilterEvent::NETWORK_TO_NAME => 'network_to_name',
|
ArrayFilterEvent::NETWORK_TO_NAME => 'network_to_name',
|
||||||
ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
|
ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
|
||||||
|
ArrayFilterEvent::DISPLAY_ITEM => 'display_item',
|
||||||
HtmlFilterEvent::HEAD => 'head',
|
HtmlFilterEvent::HEAD => 'head',
|
||||||
HtmlFilterEvent::FOOTER => 'footer',
|
HtmlFilterEvent::FOOTER => 'footer',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'page_header',
|
HtmlFilterEvent::PAGE_HEADER => 'page_header',
|
||||||
|
@ -77,6 +78,7 @@ final class HookEventBridge
|
||||||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
||||||
|
ArrayFilterEvent::DISPLAY_ITEM => 'onArrayFilterEvent',
|
||||||
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
||||||
|
|
|
@ -36,6 +36,8 @@ final class ArrayFilterEvent extends Event
|
||||||
|
|
||||||
public const CONVERSATION_START = 'friendica.data.conversation_start';
|
public const CONVERSATION_START = 'friendica.data.conversation_start';
|
||||||
|
|
||||||
|
public const DISPLAY_ITEM = 'friendica.data.display_item';
|
||||||
|
|
||||||
private array $array;
|
private array $array;
|
||||||
|
|
||||||
public function __construct(string $name, array $array)
|
public function __construct(string $name, array $array)
|
||||||
|
|
|
@ -14,6 +14,7 @@ use Friendica\Core\Hook;
|
||||||
use Friendica\Core\Protocol;
|
use Friendica\Core\Protocol;
|
||||||
use Friendica\Core\Renderer;
|
use Friendica\Core\Renderer;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Event\ArrayFilterEvent;
|
||||||
use Friendica\Model\Contact;
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Conversation;
|
use Friendica\Model\Conversation;
|
||||||
use Friendica\Model\Item;
|
use Friendica\Model\Item;
|
||||||
|
@ -630,8 +631,13 @@ class Post
|
||||||
],
|
],
|
||||||
];
|
];
|
||||||
|
|
||||||
|
$eventDispatcher = DI::eventDispatcher();
|
||||||
|
|
||||||
$arr = ['item' => $item, 'output' => $tmp_item];
|
$arr = ['item' => $item, 'output' => $tmp_item];
|
||||||
Hook::callAll('display_item', $arr);
|
|
||||||
|
$arr = $eventDispatcher->dispatch(
|
||||||
|
new ArrayFilterEvent(ArrayFilterEvent::DISPLAY_ITEM, $arr),
|
||||||
|
)->getArray();
|
||||||
|
|
||||||
$result = $arr['output'];
|
$result = $arr['output'];
|
||||||
|
|
||||||
|
|
|
@ -38,6 +38,7 @@ class HookEventBridgeTest extends TestCase
|
||||||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
||||||
|
ArrayFilterEvent::DISPLAY_ITEM => 'onArrayFilterEvent',
|
||||||
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
||||||
|
@ -167,6 +168,7 @@ class HookEventBridgeTest extends TestCase
|
||||||
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
|
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
|
||||||
[ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
|
[ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
|
||||||
[ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
|
[ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
|
||||||
|
[ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue