modif comtabilite
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?php
|
||||
namespace Grav\Plugin\Shortcodes;
|
||||
|
||||
use Thunder\Shortcode\Shortcode\ShortcodeInterface;
|
||||
|
||||
class YoutubeShortcode extends Shortcode
|
||||
{
|
||||
const YOUTUBE_REGEX = '/(?:https?:\/{2}(?:(?:www.youtube(?:-nocookie)?\.com\/(?:[^\/\n\s]+\/\S+\/|(?:v|e(?:mbed)?)\/|\S*?[?&]v=))|(?:youtu\.be\/)))([a-zA-Z0-9_-]{11})/';
|
||||
|
||||
public function init()
|
||||
{
|
||||
$this->shortcode->getHandlers()->add('youtube', function(ShortcodeInterface $sc) {
|
||||
|
||||
// Get shortcode content and parameters
|
||||
$url = $sc->getContent();
|
||||
$params = $sc->getParameters();
|
||||
$privacy_mode = $sc->getParameter('privacy_enhanced_mode');
|
||||
|
||||
if ($url) {
|
||||
preg_match($this::YOUTUBE_REGEX, $url, $matches);
|
||||
$search = $matches[0];
|
||||
|
||||
// double check to make sure we found a valid YouTube video ID
|
||||
if (!isset($matches[1])) {
|
||||
return $search;
|
||||
}
|
||||
|
||||
/** @var Twig $twig */
|
||||
$twig = $this->grav['twig'];
|
||||
|
||||
// build the replacement embed HTML string
|
||||
$replace = $twig->processTemplate('partials/youtube.html.twig', array(
|
||||
'player_parameters' => $params,
|
||||
'privacy_enhanced_mode' => $privacy_mode,
|
||||
'video_id' => $matches[1],
|
||||
));
|
||||
|
||||
// do the replacement
|
||||
return str_replace($search, $replace, $search);
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user