mirror of
https://git.sekbaer.de/Friendica/friendica.git
synced 2025-06-08 08:14:25 +02:00
Create event for page_info_data hook
This commit is contained in:
parent
ce4e77fbb6
commit
0b3915322b
5 changed files with 13 additions and 2 deletions
|
@ -7,8 +7,8 @@
|
||||||
|
|
||||||
namespace Friendica\Content;
|
namespace Friendica\Content;
|
||||||
|
|
||||||
use Friendica\Core\Hook;
|
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Event\ArrayFilterEvent;
|
||||||
use Friendica\Network\HTTPException;
|
use Friendica\Network\HTTPException;
|
||||||
use Friendica\Util\ParseUrl;
|
use Friendica\Util\ParseUrl;
|
||||||
use Friendica\Util\Strings;
|
use Friendica\Util\Strings;
|
||||||
|
@ -90,7 +90,11 @@ class PageInfo
|
||||||
*/
|
*/
|
||||||
public static function getFooterFromData(array $data, bool $no_photos = false): string
|
public static function getFooterFromData(array $data, bool $no_photos = false): string
|
||||||
{
|
{
|
||||||
Hook::callAll('page_info_data', $data);
|
$eventDispatcher = DI::eventDispatcher();
|
||||||
|
|
||||||
|
$data = $eventDispatcher->dispatch(
|
||||||
|
new ArrayFilterEvent(ArrayFilterEvent::PAGE_INFO, $data),
|
||||||
|
)->getArray();
|
||||||
|
|
||||||
if (empty($data['type'])) {
|
if (empty($data['type'])) {
|
||||||
return '';
|
return '';
|
||||||
|
|
|
@ -53,6 +53,7 @@ final class HookEventBridge
|
||||||
ArrayFilterEvent::RENDER_LOCATION => 'render_location',
|
ArrayFilterEvent::RENDER_LOCATION => 'render_location',
|
||||||
ArrayFilterEvent::ITEM_PHOTO_MENU => 'item_photo_menu',
|
ArrayFilterEvent::ITEM_PHOTO_MENU => 'item_photo_menu',
|
||||||
ArrayFilterEvent::OEMBED_FETCH_END => 'oembed_fetch_url',
|
ArrayFilterEvent::OEMBED_FETCH_END => 'oembed_fetch_url',
|
||||||
|
ArrayFilterEvent::PAGE_INFO => 'page_info_data',
|
||||||
HtmlFilterEvent::HEAD => 'head',
|
HtmlFilterEvent::HEAD => 'head',
|
||||||
HtmlFilterEvent::FOOTER => 'footer',
|
HtmlFilterEvent::FOOTER => 'footer',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'page_header',
|
HtmlFilterEvent::PAGE_HEADER => 'page_header',
|
||||||
|
@ -85,6 +86,7 @@ final class HookEventBridge
|
||||||
ArrayFilterEvent::RENDER_LOCATION => 'onArrayFilterEvent',
|
ArrayFilterEvent::RENDER_LOCATION => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::ITEM_PHOTO_MENU => 'onArrayFilterEvent',
|
ArrayFilterEvent::ITEM_PHOTO_MENU => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::OEMBED_FETCH_END => 'onOembedFetchEndEvent',
|
ArrayFilterEvent::OEMBED_FETCH_END => 'onOembedFetchEndEvent',
|
||||||
|
ArrayFilterEvent::PAGE_INFO => 'onArrayFilterEvent',
|
||||||
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
||||||
|
|
|
@ -44,6 +44,8 @@ final class ArrayFilterEvent extends Event
|
||||||
|
|
||||||
public const OEMBED_FETCH_END = 'friendica.data.oembed_fetch_end';
|
public const OEMBED_FETCH_END = 'friendica.data.oembed_fetch_end';
|
||||||
|
|
||||||
|
public const PAGE_INFO = 'friendica.data.page_info';
|
||||||
|
|
||||||
private array $array;
|
private array $array;
|
||||||
|
|
||||||
public function __construct(string $name, array $array)
|
public function __construct(string $name, array $array)
|
||||||
|
|
|
@ -42,6 +42,7 @@ class HookEventBridgeTest extends TestCase
|
||||||
ArrayFilterEvent::RENDER_LOCATION => 'onArrayFilterEvent',
|
ArrayFilterEvent::RENDER_LOCATION => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::ITEM_PHOTO_MENU => 'onArrayFilterEvent',
|
ArrayFilterEvent::ITEM_PHOTO_MENU => 'onArrayFilterEvent',
|
||||||
ArrayFilterEvent::OEMBED_FETCH_END => 'onOembedFetchEndEvent',
|
ArrayFilterEvent::OEMBED_FETCH_END => 'onOembedFetchEndEvent',
|
||||||
|
ArrayFilterEvent::PAGE_INFO => 'onArrayFilterEvent',
|
||||||
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
HtmlFilterEvent::HEAD => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent',
|
||||||
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
HtmlFilterEvent::PAGE_HEADER => 'onHtmlFilterEvent',
|
||||||
|
@ -196,6 +197,7 @@ class HookEventBridgeTest extends TestCase
|
||||||
[ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
|
[ArrayFilterEvent::DISPLAY_ITEM, 'display_item'],
|
||||||
[ArrayFilterEvent::RENDER_LOCATION, 'render_location'],
|
[ArrayFilterEvent::RENDER_LOCATION, 'render_location'],
|
||||||
[ArrayFilterEvent::ITEM_PHOTO_MENU, 'item_photo_menu'],
|
[ArrayFilterEvent::ITEM_PHOTO_MENU, 'item_photo_menu'],
|
||||||
|
[ArrayFilterEvent::PAGE_INFO, 'page_info_data'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -39,6 +39,7 @@ class ArrayFilterEventTest extends TestCase
|
||||||
[ArrayFilterEvent::RENDER_LOCATION, 'friendica.data.render_location'],
|
[ArrayFilterEvent::RENDER_LOCATION, 'friendica.data.render_location'],
|
||||||
[ArrayFilterEvent::ITEM_PHOTO_MENU, 'friendica.data.item_photo_menu'],
|
[ArrayFilterEvent::ITEM_PHOTO_MENU, 'friendica.data.item_photo_menu'],
|
||||||
[ArrayFilterEvent::OEMBED_FETCH_END, 'friendica.data.oembed_fetch_end'],
|
[ArrayFilterEvent::OEMBED_FETCH_END, 'friendica.data.oembed_fetch_end'],
|
||||||
|
[ArrayFilterEvent::PAGE_INFO, 'friendica.data.page_info'],
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue