19declare(strict_types=1);
36 return $this->
renderAudio($component, $default_renderer);
39 return $this->
renderVideo($component, $default_renderer);
46 $tpl = $this->
getTemplate(
"tpl.audio.html",
true,
true);
50 if ($component->getTranscription() !=
"") {
52 $page = $factory->modal()->lightboxTextPage(
53 $component->getTranscription(),
54 $this->txt(
"ui_transcription")
56 $modal = $factory->modal()->lightbox($page);
57 $button = $factory->button()->standard($this->
txt(
"ui_transcription"),
'')
58 ->withOnClick($modal->getShowSignal());
60 $tpl->setCurrentBlock(
"transcription");
61 $tpl->setVariable(
"BUTTON_AND_MODAL", $default_renderer->render([$button, $modal]));
62 $tpl->parseCurrentBlock();
65 $tpl->setVariable(
"ID",
$id);
66 $tpl->setVariable(
"SOURCE", $component->getSource());
73 RendererInterface $default_renderer
94 RendererInterface $default_renderer
97 $tpl = $this->getTemplate(
"tpl.video_vimeo.html",
true,
true);
99 $id = $this->bindJavaScript($component) ?? $this->createId();
101 $tpl->setVariable(
"ID",
$id);
102 $tpl->setVariable(
"SOURCE", $component->getSource());
109 RendererInterface $default_renderer
112 $tpl = $this->getTemplate(
"tpl.video_youtube.html",
true,
true);
114 $id = $this->bindJavaScript($component) ?? $this->createId();
116 $tpl->setVariable(
"ID",
$id);
117 $tpl->setVariable(
"SOURCE", $component->getSource());
124 RendererInterface $default_renderer
127 $tpl = $this->getTemplate(
"tpl.video.html",
true,
true);
129 $id = $this->bindJavaScript($component) ?? $this->createId();
131 foreach ($component->getSubtitleFiles() as $lang_key => $file) {
132 $tpl->setCurrentBlock(
"track");
133 $tpl->setVariable(
"TRACK_SOURCE", $file);
134 $tpl->setVariable(
"TRACK_LANG", $lang_key);
135 $tpl->parseCurrentBlock();
138 if ($component->getPoster() !==
"") {
139 $tpl->setCurrentBlock(
"poster");
140 $tpl->setVariable(
"POSTER_SOURCE", $component->getPoster());
141 $tpl->parseCurrentBlock();
144 $tpl->setVariable(
"ID",
$id);
145 $tpl->setVariable(
"SOURCE", $component->getSource());
153 if (is_int(strpos($component->getSource(),
'vimeo.com'))) {
162 if (is_int(strpos($component->getSource(),
'youtube.com'))) {
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
renderNative(Component\Component $component, RendererInterface $default_renderer)
renderAudio(Component\Component $component, RendererInterface $default_renderer)
renderVideo(Component\Component $component, RendererInterface $default_renderer)
isVimeo(Component\Component $component)
render(Component\Component $component, RendererInterface $default_renderer)
renderYoutube(Component\Component $component, RendererInterface $default_renderer)
isYoutube(Component\Component $component)
renderVimeo(Component\Component $component, RendererInterface $default_renderer)
Base class for all component renderers.
cannotHandleComponent(Component $component)
This method MUST be called by derived component renderers, if.
txt(string $id)
Get a text from the language file.
createId()
Get a fresh unique id.
bindJavaScript(JavaScriptBindable $component)
Bind the component to JavaScript.
getUIFactory()
Get a UI factory.
getTemplate(string $name, bool $purge_unfilled_vars, bool $purge_unused_blocks)
Get template of component this renderer is made for.
An entity that renders components to a string output.
if(!file_exists('../ilias.ini.php'))