Commit 09f4aafb by Frédéric

Youtube Filter

parent 9d040507
......@@ -6,23 +6,15 @@ use Bolt\Asset\File\JavaScript;
use Bolt\Asset\File\Stylesheet;
use Bolt\Controller\Zone;
use Bolt\Events\CronEvents;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\AttentionItiFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\CommunicationFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FilesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullDatesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullOpeningFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\MeetingRoomFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\PhotoFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\SimpleOpeningFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TelFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\ValidatedDateFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFunctions\DataAttributeFunction;
use Bolt\Extension\DatabaseSchemaTrait;
use Bolt\Menu\MenuEntry;
use Bolt\Extension\SimpleExtension;
use Bolt\Extension\Appolo\Tourinsoft\Controller\Backend\FluxController;
use Bolt\Extension\Appolo\Tourinsoft\Nut\CronCommand;
use Silex\Application;
use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\Extension\Core\Type\FormType;
use Bolt\Extension\SimpleExtension;
use Pimple as Container;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\ToDateFilter;
......@@ -34,9 +26,19 @@ use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TarifFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TourinsoftFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\RandomizeFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\BoolStringValueFilter;
use Bolt\Extension\Appolo\Tourinsoft\Controller\Backend\FluxController;
use Bolt\Extension\Appolo\Tourinsoft\Nut\CronCommand;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\AttentionItiFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\CommunicationFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FilesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullDatesFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\FullOpeningFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\MeetingRoomFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\PhotoFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\SimpleOpeningFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TelFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\ValidatedDateFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\YoutubeFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFunctions\DataAttributeFunction;
/**
* Tourinsoft extension class.
......@@ -118,6 +120,7 @@ class TourinsoftExtension extends SimpleExtension
'validatedDate' => [[ValidatedDateFilter::class, 'run'], ['is_safe' => ['html']]],
'simpleOpening' => [[SimpleOpeningFilter::class, 'run'], ['is_safe' => ['html']]],
'attention' => [[AttentionItiFilter::class, 'run'], ['is_safe' => ['html'] ]],
'youtube' => [[YoutubeFilter::class, 'run']],
];
}
......
<?php
namespace Bolt\Extension\Appolo\Tourinsoft\TwigFilters;
/**
* Class YoutubeFilter
* @package Bolt\Extension\Appolo\Tourinsoft\TwigFilters
*/
class YoutubeFilter
{
/**
* @param $input
* @return string
*/
public static function run($input)
{
if (preg_match('%(?:youtube(?:-nocookie)?\.com/(?:[^/]+/.+/|(?:v|e(?:mbed)?)/|.*[?&]v=)|youtu\.be/)([^"&?/ ]{11})%i', $input, $match)) {
return "https://www.youtube.com/embed/" . $match[1];
}
return $input;
}
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment