<?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);
  }
}