2021-05-29 12:53:48 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
namespace App\Core\Twig\Extension;
|
|
|
|
|
2022-01-06 16:13:11 +01:00
|
|
|
use App\Core\Site\SiteRequest;
|
2021-05-29 12:53:48 +02:00
|
|
|
use Symfony\Component\Routing\Generator\UrlGeneratorInterface;
|
|
|
|
use Twig\Extension\AbstractExtension;
|
|
|
|
use Twig\TwigFilter;
|
2022-02-16 17:11:09 +01:00
|
|
|
use App\Core\String\UrlBuilder;
|
2021-05-29 12:53:48 +02:00
|
|
|
|
2021-06-16 18:41:05 +02:00
|
|
|
class UrlExtension extends AbstractExtension
|
2021-05-29 12:53:48 +02:00
|
|
|
{
|
2022-02-16 17:11:09 +01:00
|
|
|
protected UrlBuilder $urlBuilder;
|
2021-05-29 12:53:48 +02:00
|
|
|
|
2022-02-16 17:11:09 +01:00
|
|
|
public function __construct(UrlBuilder $urlBuilder)
|
2021-05-29 12:53:48 +02:00
|
|
|
{
|
2022-02-16 17:11:09 +01:00
|
|
|
$this->urlBuilder = $urlBuilder;
|
2021-05-29 12:53:48 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* {@inheritdoc}
|
|
|
|
*/
|
|
|
|
public function getFilters()
|
|
|
|
{
|
|
|
|
return [
|
|
|
|
new TwigFilter('murph_url', [$this, 'replaceUrl']),
|
|
|
|
];
|
|
|
|
}
|
|
|
|
|
2021-06-16 18:41:05 +02:00
|
|
|
public function replaceUrl(?string $content)
|
2021-05-29 12:53:48 +02:00
|
|
|
{
|
2022-02-16 17:11:09 +01:00
|
|
|
return $this->urlBuilder->replaceTags((string) $content);
|
2021-05-29 12:53:48 +02:00
|
|
|
}
|
|
|
|
}
|