Lines 49-57
sub gethtml5media {
Link Here
|
49 |
my $HTML5MediaWidth; |
49 |
my $HTML5MediaWidth; |
50 |
my @HTML5MediaExtensions = split( /\|/, C4::Context->preference("HTML5MediaExtensions") ); |
50 |
my @HTML5MediaExtensions = split( /\|/, C4::Context->preference("HTML5MediaExtensions") ); |
51 |
my $HTML5MediaYouTube = C4::Context->preference("HTML5MediaYouTube"); |
51 |
my $HTML5MediaYouTube = C4::Context->preference("HTML5MediaYouTube"); |
|
|
52 |
my $HTML5MediaVimeo = C4::Context->preference("HTML5MediaVimeo"); |
52 |
my $marcflavour = C4::Context->preference("marcflavour"); |
53 |
my $marcflavour = C4::Context->preference("marcflavour"); |
53 |
foreach my $HTML5Media_field (@HTML5Media_fields) { |
54 |
foreach my $HTML5Media_field (@HTML5Media_fields) { |
54 |
my $is_youtube = 0; |
55 |
my $is_youtube = 0; |
|
|
56 |
my $is_vimeo = 0; |
55 |
my %HTML5Media; |
57 |
my %HTML5Media; |
56 |
# protocol |
58 |
# protocol |
57 |
if ( $HTML5Media_field->indicator(1) eq '1' ) { |
59 |
if ( $HTML5Media_field->indicator(1) eq '1' ) { |
Lines 113-118
sub gethtml5media {
Link Here
|
113 |
next; # do not embed youtube videos |
115 |
next; # do not embed youtube videos |
114 |
} |
116 |
} |
115 |
} |
117 |
} |
|
|
118 |
if (grep /vimeo/, $HTML5Media_field->subfield('u') ) { |
119 |
if ($HTML5MediaVimeo == 1) { |
120 |
my $url = $HTML5Media_field->subfield('u'); |
121 |
next unless $url =~ m{^.*(vimeo.com/)([^#\&\?]*).*}; |
122 |
|
123 |
my $video_id = $2; |
124 |
$HTML5Media{srcblock} = sprintf 'https://player.vimeo.com/video/%s', $video_id; |
125 |
|
126 |
$HTML5Media{is_vimeo} = 1; |
127 |
$is_vimeo = 1; |
128 |
} |
129 |
else { |
130 |
next; # do not embed vimeo videos |
131 |
} |
132 |
} |
116 |
} |
133 |
} |
117 |
elsif ( $HTML5Media_field->subfield('a') && $HTML5Media_field->subfield('d') && $HTML5Media_field->subfield('f') ) { |
134 |
elsif ( $HTML5Media_field->subfield('a') && $HTML5Media_field->subfield('d') && $HTML5Media_field->subfield('f') ) { |
118 |
$HTML5Media{host} = $HTML5Media_field->subfield('a'); |
135 |
$HTML5Media{host} = $HTML5Media_field->subfield('a'); |
Lines 141-147
sub gethtml5media {
Link Here
|
141 |
else { |
158 |
else { |
142 |
$HTML5Media{extension} = ($HTML5Media{srcblock} =~ m/([^.]+)$/)[0]; |
159 |
$HTML5Media{extension} = ($HTML5Media{srcblock} =~ m/([^.]+)$/)[0]; |
143 |
} |
160 |
} |
144 |
if ( ( !grep /\Q$HTML5Media{extension}\E/, @HTML5MediaExtensions ) && ( $is_youtube != 1) ) { |
161 |
if ( ( !grep /\Q$HTML5Media{extension}\E/, @HTML5MediaExtensions ) && ( $is_youtube != 1) && ( $is_vimeo != 1 ) ) { |
145 |
next; # not a specified media file |
162 |
next; # not a specified media file |
146 |
} |
163 |
} |
147 |
# youtube |
164 |
# youtube |
Lines 149-154
sub gethtml5media {
Link Here
|
149 |
$HTML5Media{mime} = 'video/webm'; |
166 |
$HTML5Media{mime} = 'video/webm'; |
150 |
$HTML5Media{type} = 'video'; |
167 |
$HTML5Media{type} = 'video'; |
151 |
} |
168 |
} |
|
|
169 |
# vimeo |
170 |
if ($is_vimeo == 1) { |
171 |
$HTML5Media{mime} = 'video/webm'; |
172 |
$HTML5Media{type} = 'video'; |
173 |
} |
152 |
# mime |
174 |
# mime |
153 |
if ( $HTML5Media_field->subfield('c') ) { |
175 |
if ( $HTML5Media_field->subfield('c') ) { |
154 |
$HTML5Media{codecs} = $HTML5Media_field->subfield('c'); |
176 |
$HTML5Media{codecs} = $HTML5Media_field->subfield('c'); |