<?php
namespace vonRotenberg\RealEstateListingBundle\Twig;
use Twig\Extension\AbstractExtension;
use Twig\TwigFilter;
class AppExtension extends AbstractExtension
{
public function getFilters(): array
{
return [
new TwigFilter('mm2pt', [$this, 'convertMillimeterToPoint']),
new TwigFilter('imageDataUrl', [$this, 'getImageDataUrl']),
];
}
public function convertMillimeterToPoint(float $mm): float
{
return (float) $mm / 25.4 * 72;
}
public function getImageDataUrl(string $path): string
{
$type = pathinfo($path, PATHINFO_EXTENSION);
$data = file_get_contents($path);
return 'data:image/' . $type . ';base64,' . base64_encode($data);
}
}