@if($lesson->video_url)
@php
$applyVideoOpts = filter_var(($courseSettings['basic']['show_video_options_hint'] ?? true), FILTER_VALIDATE_BOOLEAN);
$lessonVideoSettings = $applyVideoOpts
? \App\Support\MembershipSiteLessonSettings::merge(is_array($lesson->lesson_settings) ? $lesson->lesson_settings : null)
: \App\Support\MembershipSiteLessonSettings::defaults();
$videoEmbedUrl = null;
if ($lesson->video_type === 'youtube') {
if (preg_match('~(?:youtube\\.com/watch\\?v=|youtu\\.be/|youtube\\.com/embed/)([A-Za-z0-9_-]+)~', $lesson->video_url, $m)) {
$videoEmbedUrl = 'https://www.youtube.com/embed/' . $m[1];
$ytParams = [];
if ($lessonVideoSettings['video_autoplay'] ?? false) {
$ytParams[] = 'autoplay=1';
$ytParams[] = 'mute=1';
}
if (! ($lessonVideoSettings['video_show_seek'] ?? true)) {
$ytParams[] = 'controls=0';
}
if ($ytParams !== []) {
$videoEmbedUrl .= '?' . implode('&', $ytParams);
}
}
} elseif ($lesson->video_type === 'vimeo') {
if (preg_match('~vimeo\\.com/(?:video/)?([0-9]+)~', $lesson->video_url, $m)) {
$videoEmbedUrl = 'https://player.vimeo.com/video/' . $m[1];
if ($lessonVideoSettings['video_autoplay'] ?? false) {
$videoEmbedUrl .= '?autoplay=1&muted=1';
}
}
}
$html5Controls = ($lessonVideoSettings['video_show_seek'] ?? true) ? 'controls' : '';
if ($lessonVideoSettings['video_allow_playback_speed'] ?? true) {
$html5Controls .= ' controlslist="nodownload"';
}
@endphp
@if($videoEmbedUrl)
@elseif($lesson->video_type === 'embed')
{!! $lesson->video_url !!}
@else
@endif
@endif
{!! $lesson->content !!}
@if($lesson->button_label && $lesson->button_url)
@endif
@php
$applyVideoOpts = filter_var(($courseSettings['basic']['show_video_options_hint'] ?? true), FILTER_VALIDATE_BOOLEAN);
$allowDownloads = $applyVideoOpts
? (\App\Support\MembershipSiteLessonSettings::merge(is_array($lesson->lesson_settings) ? $lesson->lesson_settings : null)['video_allow_download'] ?? true)
: true;
@endphp
@if($allowDownloads && ($lesson->attachment_url || $lesson->link_url))
@endif