Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
M
Moodle Filter Opencast
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Deploy
Releases
Package registry
Container registry
Model registry
Operate
Terraform modules
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elc
Moodle Filter Opencast
Commits
ff82234a
Commit
ff82234a
authored
7 years ago
by
TamaraGunkel
Browse files
Options
Downloads
Patches
Plain Diff
Fixes #4 use mustache template for rendering the iframe
parent
23653b52
No related branches found
No related tags found
No related merge requests found
Changes
5
Show whitespace changes
Inline
Side-by-side
Showing
5 changed files
amd/build/form.min.js
+1
-1
1 addition, 1 deletion
amd/build/form.min.js
filter.php
+10
-10
10 additions, 10 deletions
filter.php
renderer.php
+48
-0
48 additions, 0 deletions
renderer.php
templates/player.mustache
+33
-0
33 additions, 0 deletions
templates/player.mustache
version.php
+1
-1
1 addition, 1 deletion
version.php
with
93 additions
and
12 deletions
amd/build/form.min.js
+
1
−
1
View file @
ff82234a
define
([
"
jquery
"
],
function
(
a
){
var
b
=
{
init
:
function
(){
a
(
"
#ltiLaunchForm
"
).
submit
(
function
(
b
){
b
.
preventDefault
(),
a
.
ajax
({
url
:
"
http://localhost:8080/lti
"
,
crossDomain
:
!
0
,
type
:
"
post
"
,
xhrFields
:{
withCredentials
:
!
0
},
data
:
a
(
"
#ltiLaunchForm
"
).
serialize
(),
complete
:
function
(){
a
(
"
iframe
"
).
each
(
function
(){
a
(
this
).
attr
(
"
src
"
,
a
(
this
).
data
(
"
framesrc
"
))})}})}),
a
(
"
#ltiLaunchForm
"
).
submit
()}};
return
b
});
define
([
"
jquery
"
],
function
(
a
){
var
b
=
{
init
:
function
(){
a
(
"
#ltiLaunchForm
"
).
submit
(
function
(
b
){
b
.
preventDefault
();
var
c
=
decodeURIComponent
(
a
(
this
).
attr
(
"
action
"
));
a
.
ajax
({
url
:
c
,
crossDomain
:
!
0
,
type
:
"
post
"
,
xhrFields
:{
withCredentials
:
!
0
},
data
:
a
(
"
#ltiLaunchForm
"
).
serialize
(),
complete
:
function
(){
a
(
"
.ocplayer
"
).
each
(
function
(){
a
(
this
).
attr
(
"
src
"
,
a
(
this
).
data
(
"
framesrc
"
))})}})}),
a
(
"
#ltiLaunchForm
"
).
submit
()}};
return
b
});
\ No newline at end of file
\ No newline at end of file
This diff is collapsed.
Click to expand it.
filter.php
+
10
−
10
View file @
ff82234a
...
@@ -51,6 +51,7 @@ class filter_opencast extends moodle_text_filter {
...
@@ -51,6 +51,7 @@ class filter_opencast extends moodle_text_filter {
$matches
=
preg_split
(
'/(<[^>]*>)/i'
,
$text
,
-
1
,
PREG_SPLIT_NO_EMPTY
|
PREG_SPLIT_DELIM_CAPTURE
);
$matches
=
preg_split
(
'/(<[^>]*>)/i'
,
$text
,
-
1
,
PREG_SPLIT_NO_EMPTY
|
PREG_SPLIT_DELIM_CAPTURE
);
if
(
$matches
)
{
if
(
$matches
)
{
$renderer
=
$PAGE
->
get_renderer
(
'filter_opencast'
);
// Login if user is not logged in yet.
// Login if user is not logged in yet.
$loggedin
=
true
;
$loggedin
=
true
;
...
@@ -84,18 +85,17 @@ class filter_opencast extends moodle_text_filter {
...
@@ -84,18 +85,17 @@ class filter_opencast extends moodle_text_filter {
$id
=
substr
(
$match
,
strpos
(
$match
,
'api/'
)
+
4
,
36
);
$id
=
substr
(
$match
,
strpos
(
$match
,
'api/'
)
+
4
,
36
);
$src
=
$CFG
->
wwwroot
.
'/filter/opencast/player/core.html?id='
.
$id
.
'&ocurl='
.
urlencode
(
$apiurl
);
$src
=
$CFG
->
wwwroot
.
'/filter/opencast/player/core.html?id='
.
$id
.
'&ocurl='
.
urlencode
(
$apiurl
);
if
(
$loggedin
)
{
// Create link to video.
// Set the source attribute directly.
$link
=
$apiurl
.
'/engage/theodul/ui/core.html?id='
.
$id
;
$player
=
'<iframe src="'
.
$src
.
'" width="95%" height="455px" class="ocplayer"></iframe>'
;
}
else
{
// Set the source attribute after login.
$player
=
'<iframe data-frameSrc="'
.
$src
.
'" width="95%" height="455px" class="ocplayer"></iframe>'
;
}
// Collect the needed data being submitted to the template.
$mustachedata
=
new
stdClass
();
$mustachedata
->
loggedin
=
$loggedin
;
$mustachedata
->
src
=
$src
;
$mustachedata
->
link
=
$link
;
$newtext
=
$renderer
->
render_player
(
$mustachedata
);
$link
=
$apiurl
.
'/engage/theodul/ui/core.html?id='
.
$id
;
// Add link to video.
$newtext
=
$player
.
'<a style="display:block;" target="_blank" href="'
.
$link
.
'">Zum Video</a>'
;
// Replace video tag.
// Replace video tag.
$text
=
preg_replace
(
'/<video.*<\/video>/'
,
$newtext
,
$text
,
1
);
$text
=
preg_replace
(
'/<video.*<\/video>/'
,
$newtext
,
$text
,
1
);
}
}
...
...
This diff is collapsed.
Click to expand it.
renderer.php
0 → 100644
+
48
−
0
View file @
ff82234a
<?php
// This file is part of a plugin for Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Renderer definition.
*
* @package filter_opencast
* @copyright 2018 Tamara Gunkel
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined
(
'MOODLE_INTERNAL'
)
||
die
();
require_once
(
__DIR__
.
'/lib.php'
);
require_once
(
$CFG
->
libdir
.
'/weblib.php'
);
/**
* Class for rendering opencast videos.
*
* @package filter_opencast
* @copyright 2018 Tamara Gunkel
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class
filter_opencast_renderer
extends
plugin_renderer_base
{
/**
* Display the player.
*
* @param object $data The prepared variables.
* @return string
*/
public
function
render_player
(
$data
)
{
return
$this
->
render_from_template
(
'filter_opencast/player'
,
$data
);
}
}
\ No newline at end of file
This diff is collapsed.
Click to expand it.
templates/player.mustache
0 → 100644
+
33
−
0
View file @
ff82234a
{{
!
This
file
is
part
of
Moodle
-
http
:
//
moodle
.
org
/
Moodle
is
free
software
:
you
can
redistribute
it
and
/
or
modify
it
under
the
terms
of
the
GNU
General
Public
License
as
published
by
the
Free
Software
Foundation
,
either
version
3
of
the
License
,
or
(
at
your
option
)
any
later
version.
Moodle
is
distributed
in
the
hope
that
it
will
be
useful
,
but
WITHOUT
ANY
WARRANTY
;
without
even
the
implied
warranty
of
MERCHANTABILITY
or
FITNESS
FOR
A
PARTICULAR
PURPOSE.
See
the
GNU
General
Public
License
for
more
details.
You
should
have
received
a
copy
of
the
GNU
General
Public
License
along
with
Moodle.
If
not
,
see
<
http
:
//
www
.
gnu
.
org
/
licenses
/
>
.
}}
{{
!
@template
filter_opencast
/
player
Opencast
player
template.
The
purpose
of
this
template
is
to
render
a
opencast
video.
}}
{{! Print the iframe. }}
{{#
loggedin
}}
<iframe
src=
"
{{
src
}}
"
width=
"95%"
height=
"455px"
class=
"ocplayer"
></iframe>
{{/
loggedin
}}
{{^
loggedin
}}
<iframe
data-frameSrc=
"
{{
src
}}
"
width=
"95%"
height=
"455px"
class=
"ocplayer"
></iframe>
{{/
loggedin
}}
{{! Print the link to the video. }}
<a
style=
"display:block;"
target=
"_blank"
href=
"
{{
link
}}
"
>
Zum Video
</a>
This diff is collapsed.
Click to expand it.
version.php
+
1
−
1
View file @
ff82234a
...
@@ -25,7 +25,7 @@
...
@@ -25,7 +25,7 @@
defined
(
'MOODLE_INTERNAL'
)
||
die
();
defined
(
'MOODLE_INTERNAL'
)
||
die
();
$plugin
->
version
=
201802150
0
;
// The current plugin version (Date: YYYYMMDDXX).
$plugin
->
version
=
201802150
1
;
// The current plugin version (Date: YYYYMMDDXX).
$plugin
->
requires
=
2017050500
;
// Requires this Moodle version.
$plugin
->
requires
=
2017050500
;
// Requires this Moodle version.
$plugin
->
component
=
'filter_opencast'
;
// Full name of the plugin.
$plugin
->
component
=
'filter_opencast'
;
// Full name of the plugin.
$plugin
->
dependencies
=
array
(
'tool_opencast'
=>
ANY_VERSION
);
$plugin
->
dependencies
=
array
(
'tool_opencast'
=>
ANY_VERSION
);
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment