Create event for item_by_link hook
This commit is contained in:
parent
2276bdcd7e
commit
ac8ca35b2b
5 changed files with 16 additions and 6 deletions
|
@ -55,6 +55,7 @@ final class HookEventBridge
|
|||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'photo_upload_form',
|
||||
ArrayFilterEvent::NETWORK_TO_NAME => 'network_to_name',
|
||||
ArrayFilterEvent::CONVERSATION_START => 'conversation_start',
|
||||
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'item_by_link',
|
||||
ArrayFilterEvent::ITEM_TAGGED => 'tagged',
|
||||
ArrayFilterEvent::DISPLAY_ITEM => 'display_item',
|
||||
ArrayFilterEvent::CACHE_ITEM => 'put_item_in_cache',
|
||||
|
@ -120,6 +121,7 @@ final class HookEventBridge
|
|||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::ITEM_TAGGED => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::DISPLAY_ITEM => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::CACHE_ITEM => 'onArrayFilterEvent',
|
||||
|
|
|
@ -60,6 +60,8 @@ final class ArrayFilterEvent extends Event
|
|||
|
||||
public const CONVERSATION_START = 'friendica.data.conversation_start';
|
||||
|
||||
public const FETCH_ITEM_BY_LINK = 'friendica.data.fetch_item_by_link';
|
||||
|
||||
public const ITEM_TAGGED = 'friendica.data.item_tagged';
|
||||
|
||||
public const DISPLAY_ITEM = 'friendica.data.display_item';
|
||||
|
|
|
@ -14,7 +14,6 @@ use Friendica\Content\Post\Collection\PostMedias;
|
|||
use Friendica\Content\Post\Entity\PostMedia;
|
||||
use Friendica\Content\Text\BBCode;
|
||||
use Friendica\Content\Text\HTML;
|
||||
use Friendica\Core\Hook;
|
||||
use Friendica\Core\L10n;
|
||||
use Friendica\Core\Protocol;
|
||||
use Friendica\Core\Renderer;
|
||||
|
@ -3951,17 +3950,21 @@ class Item
|
|||
return 0;
|
||||
}
|
||||
|
||||
$hookData = [
|
||||
$eventDispatcher = DI::eventDispatcher();
|
||||
|
||||
$hook_data = [
|
||||
'uri' => $uri,
|
||||
'uid' => $uid,
|
||||
'item_id' => null,
|
||||
];
|
||||
|
||||
Hook::callAll('item_by_link', $hookData);
|
||||
$hook_data = $eventDispatcher->dispatch(
|
||||
new ArrayFilterEvent(ArrayFilterEvent::FETCH_ITEM_BY_LINK, $hook_data)
|
||||
)->getArray();
|
||||
|
||||
if (isset($hookData['item_id'])) {
|
||||
DI::logger()->info('Hook link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $hookData['item_id']]);
|
||||
return is_numeric($hookData['item_id']) ? $hookData['item_id'] : 0;
|
||||
if (isset($hook_data['item_id'])) {
|
||||
DI::logger()->info('Hook link fetched', ['uid' => $uid, 'uri' => $uri, 'id' => $hook_data['item_id']]);
|
||||
return is_numeric($hook_data['item_id']) ? $hook_data['item_id'] : 0;
|
||||
}
|
||||
|
||||
if (!$mimetype) {
|
||||
|
|
|
@ -44,6 +44,7 @@ class HookEventBridgeTest extends TestCase
|
|||
ArrayFilterEvent::PHOTO_UPLOAD_FORM => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::NETWORK_TO_NAME => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::CONVERSATION_START => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::FETCH_ITEM_BY_LINK => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::ITEM_TAGGED => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::DISPLAY_ITEM => 'onArrayFilterEvent',
|
||||
ArrayFilterEvent::CACHE_ITEM => 'onArrayFilterEvent',
|
||||
|
@ -353,6 +354,7 @@ class HookEventBridgeTest extends TestCase
|
|||
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'photo_upload_form'],
|
||||
[ArrayFilterEvent::NETWORK_TO_NAME, 'network_to_name'],
|
||||
[ArrayFilterEvent::CONVERSATION_START, 'conversation_start'],
|
||||
[ArrayFilterEvent::FETCH_ITEM_BY_LINK, 'item_by_link'],
|
||||
[ArrayFilterEvent::ITEM_TAGGED, 'tagged'],
|
||||
[ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
|
||||
[ArrayFilterEvent::CACHE_ITEM, 'put_item_in_cache'],
|
||||
|
|
|
@ -41,6 +41,7 @@ class ArrayFilterEventTest extends TestCase
|
|||
[ArrayFilterEvent::PHOTO_UPLOAD_FORM, 'friendica.data.photo_upload_form'],
|
||||
[ArrayFilterEvent::NETWORK_TO_NAME, 'friendica.data.network_to_name'],
|
||||
[ArrayFilterEvent::CONVERSATION_START, 'friendica.data.conversation_start'],
|
||||
[ArrayFilterEvent::FETCH_ITEM_BY_LINK, 'friendica.data.fetch_item_by_link'],
|
||||
[ArrayFilterEvent::ITEM_TAGGED, 'friendica.data.item_tagged'],
|
||||
[ArrayFilterEvent::DISPLAY_ITEM, 'friendica.data.display_item'],
|
||||
[ArrayFilterEvent::CACHE_ITEM, 'friendica.data.cache_item'],
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue