diff --git a/src/EventSubscriber/HookEventBridge.php b/src/EventSubscriber/HookEventBridge.php index 01329031d7..b17b14bb8b 100644 --- a/src/EventSubscriber/HookEventBridge.php +++ b/src/EventSubscriber/HookEventBridge.php @@ -11,6 +11,7 @@ namespace Friendica\EventSubscriber; use Friendica\Core\Hook; use Friendica\Event\DataFilterEvent; +use Friendica\Event\HtmlFilterEvent; /** * Bridge between the EventDispatcher and the Hook class. @@ -24,6 +25,10 @@ final class HookEventBridge implements StaticEventSubscriber { return [ DataFilterEvent::class => 'onDataFilterEvent', + HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', + HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', ]; } @@ -35,4 +40,13 @@ final class HookEventBridge implements StaticEventSubscriber $event->setData($data); } + + public static function onHtmlFilterEvent(HtmlFilterEvent $event): void + { + $html = $event->getHtml(); + + // Hook::callAll($event->getName(), $html); + + $event->setHtml($html); + } } diff --git a/tests/Unit/EventSubscriber/HookEventBridgeTest.php b/tests/Unit/EventSubscriber/HookEventBridgeTest.php index 0b659fdf2c..a8a16a59f5 100644 --- a/tests/Unit/EventSubscriber/HookEventBridgeTest.php +++ b/tests/Unit/EventSubscriber/HookEventBridgeTest.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace Friendica\Test\Unit\EventSubscriber; use Friendica\Event\DataFilterEvent; +use Friendica\Event\HtmlFilterEvent; use Friendica\EventSubscriber\HookEventBridge; use Friendica\EventSubscriber\StaticEventSubscriber; use PHPUnit\Framework\TestCase; @@ -28,6 +29,10 @@ class HookEventBridgeTest extends TestCase { $expected = [ DataFilterEvent::class => 'onDataFilterEvent', + HtmlFilterEvent::HEAD => 'onHtmlFilterEvent', + HtmlFilterEvent::FOOTER => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_CONTENT_TOP => 'onHtmlFilterEvent', + HtmlFilterEvent::PAGE_END => 'onHtmlFilterEvent', ]; $this->assertSame( @@ -35,12 +40,15 @@ class HookEventBridgeTest extends TestCase HookEventBridge::getStaticSubscribedEvents() ); - foreach ($expected as $methodName) { - $this->assertTrue(method_exists(HookEventBridge::class, $methodName)); + foreach (array_keys(array_flip($expected)) as $methodName) { + $this->assertTrue( + method_exists(HookEventBridge::class, $methodName), + $methodName . '() is not defined' + ); $this->assertTrue( (new \ReflectionMethod(HookEventBridge::class, $methodName))->isStatic(), - $methodName . ' is not static' + $methodName . '() is not static' ); } }