Commit 09f4aafb by Frédéric

Youtube Filter

parent 9d040507
...@@ -6,23 +6,15 @@ use Bolt\Asset\File\JavaScript; ...@@ -6,23 +6,15 @@ use Bolt\Asset\File\JavaScript;
use Bolt\Asset\File\Stylesheet; use Bolt\Asset\File\Stylesheet;
use Bolt\Controller\Zone; use Bolt\Controller\Zone;
use Bolt\Events\CronEvents; 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\Extension\DatabaseSchemaTrait;
use Bolt\Menu\MenuEntry; 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 Silex\Application;
use Symfony\Component\EventDispatcher\EventDispatcherInterface; use Symfony\Component\EventDispatcher\EventDispatcherInterface;
use Symfony\Component\Form\Extension\Core\Type\FormType; use Symfony\Component\Form\Extension\Core\Type\FormType;
use Bolt\Extension\SimpleExtension;
use Pimple as Container; use Pimple as Container;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\ToDateFilter; use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\ToDateFilter;
...@@ -34,9 +26,19 @@ use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TarifFilter; ...@@ -34,9 +26,19 @@ use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TarifFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TourinsoftFilter; use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\TourinsoftFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\RandomizeFilter; use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\RandomizeFilter;
use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\BoolStringValueFilter; use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\BoolStringValueFilter;
use Bolt\Extension\Appolo\Tourinsoft\Controller\Backend\FluxController; use Bolt\Extension\Appolo\Tourinsoft\TwigFilters\AttentionItiFilter;
use Bolt\Extension\Appolo\Tourinsoft\Nut\CronCommand; 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. * Tourinsoft extension class.
...@@ -118,6 +120,7 @@ class TourinsoftExtension extends SimpleExtension ...@@ -118,6 +120,7 @@ class TourinsoftExtension extends SimpleExtension
'validatedDate' => [[ValidatedDateFilter::class, 'run'], ['is_safe' => ['html']]], 'validatedDate' => [[ValidatedDateFilter::class, 'run'], ['is_safe' => ['html']]],
'simpleOpening' => [[SimpleOpeningFilter::class, 'run'], ['is_safe' => ['html']]], 'simpleOpening' => [[SimpleOpeningFilter::class, 'run'], ['is_safe' => ['html']]],
'attention' => [[AttentionItiFilter::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