Show mp3 files correctly when added in a LP see BT#15416

pull/2858/head
Julio Montoya 7 years ago
parent c1620f1258
commit efbf41e846
  1. 12
      main/document/showinframes.php
  2. 20
      main/inc/lib/display.lib.php
  3. 22
      main/inc/lib/document.lib.php
  4. 4
      main/lp/learnpath.class.php

@ -103,7 +103,7 @@ if (!$is_allowed_to_edit && !$is_visible) {
} }
$pathinfo = pathinfo($header_file); $pathinfo = pathinfo($header_file);
$playerSupportedFiles = ['mp4', 'ogv', 'flv', 'm4v', 'webm']; $playerSupportedFiles = ['mp3', 'mp4', 'ogv', 'flv', 'm4v', 'webm'];
$playerSupported = false; $playerSupported = false;
if (in_array(strtolower($pathinfo['extension']), $playerSupportedFiles)) { if (in_array(strtolower($pathinfo['extension']), $playerSupportedFiles)) {
$playerSupported = true; $playerSupported = true;
@ -188,7 +188,7 @@ if (in_array(strtolower($pathinfo['extension']), $web_odf_supported_files)) {
var topbarHeight = $("#topbar").height(); var topbarHeight = $("#topbar").height();
$("#viewerJSContent").height((bodyHeight - topbarHeight)); $("#viewerJSContent").height((bodyHeight - topbarHeight));
} }
$(document).ready(function() { $(function() {
$(window).resize(resizeIframe()); $(window).resize(resizeIframe());
}); });
</script>' </script>'
@ -261,12 +261,11 @@ if ($originIsLearnpath) {
Display::display_header(''); Display::display_header('');
} }
echo '<div class="text-center">';
$file_url = api_get_path(WEB_COURSE_PATH).$courseInfo['path'].'/document'.$header_file; $file_url = api_get_path(WEB_COURSE_PATH).$courseInfo['path'].'/document'.$header_file;
$file_url_web = $file_url.'?'.api_get_cidreq(); $file_url_web = $file_url.'?'.api_get_cidreq();
if ($show_web_odf) { if ($show_web_odf) {
echo '<div class="text-center">';
$browser = api_get_navigator(); $browser = api_get_navigator();
$pdfUrl = api_get_path(WEB_LIBRARY_PATH).'javascript/ViewerJS/index.html#'.$file_url; $pdfUrl = api_get_path(WEB_LIBRARY_PATH).'javascript/ViewerJS/index.html#'.$file_url;
if ($browser['name'] == 'Mozilla' && preg_match('|.*\.pdf|i', $header_file)) { if ($browser['name'] == 'Mozilla' && preg_match('|.*\.pdf|i', $header_file)) {
@ -277,12 +276,11 @@ if ($show_web_odf) {
src="'.$pdfUrl.'"> src="'.$pdfUrl.'">
</iframe>'; </iframe>';
echo '</div>'; echo '</div>';
echo '</div>';
} }
echo '</div>';
if ($playerSupported) { if ($playerSupported) {
echo DocumentManager::generateVideoPreview($file_url_web, $extension); echo DocumentManager::generateMediaPreview($file_url_web, $extension);
} }
if ($is_freemind_available) { if ($is_freemind_available) {

@ -2806,12 +2806,16 @@ HTML;
{ {
$defaultFeatures = ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen', 'vrview']; $defaultFeatures = ['playpause', 'current', 'progress', 'duration', 'tracks', 'volume', 'fullscreen', 'vrview'];
$features = api_get_configuration_value('video_features'); $features = api_get_configuration_value('video_features');
$bowerJsFiles = [];
$bowerCSSFiles = [];
if (!empty($features) && isset($features['features'])) { if (!empty($features) && isset($features['features'])) {
foreach ($features['features'] as $feature) { foreach ($features['features'] as $feature) {
if ($feature === 'vrview') { if ($feature === 'vrview') {
continue; continue;
} }
$defaultFeatures[] = $feature; $defaultFeatures[] = $feature;
$bowerJsFiles[] = "mediaelement/plugins/$feature/$feature.js";
$bowerCSSFiles[] = "mediaelement/plugins/$feature/$feature.css";
} }
} }
@ -2821,10 +2825,23 @@ HTML;
$translateHtml = '{type:"script", id:"_fr4", src:"'.api_get_path(WEB_AJAX_PATH).'lang.ajax.php?a=translate_html&'.api_get_cidreq().'"},'; $translateHtml = '{type:"script", id:"_fr4", src:"'.api_get_path(WEB_AJAX_PATH).'lang.ajax.php?a=translate_html&'.api_get_cidreq().'"},';
} }
$counter = 10;
$extraMediaFiles = '';
foreach ($bowerJsFiles as $file) {
$extraMediaFiles .= '{type: "script", id: "media_'.$counter.'", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/'.$file.'"},';
$counter++;
}
foreach ($bowerCSSFiles as $file) {
$extraMediaFiles .= '{type: "stylesheet", id: "media_'.$counter.'", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/'.$file.'"},';
$counter++;
}
$defaultFeatures = implode("','", $defaultFeatures); $defaultFeatures = implode("','", $defaultFeatures);
$frameReady = ' $frameReady = '
$.frameReady(function() { $.frameReady(function() {
$(document).ready(function () { $(function() {
$("video:not(.skip), audio:not(.skip)").mediaelementplayer({ $("video:not(.skip), audio:not(.skip)").mediaelementplayer({
pluginPath: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/build/", pluginPath: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/build/",
features: ["'.$defaultFeatures.'"], features: ["'.$defaultFeatures.'"],
@ -2847,6 +2864,7 @@ HTML;
{type: "stylesheet", id: "_media2", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/build/mediaelementplayer.min.css"}, {type: "stylesheet", id: "_media2", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/build/mediaelementplayer.min.css"},
{type: "stylesheet", id: "_media4", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/plugins/vrview/vrview.css"}, {type: "stylesheet", id: "_media4", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/plugins/vrview/vrview.css"},
{type: "script", id: "_media4", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/plugins/vrview/vrview.js"}, {type: "script", id: "_media4", src: "'.api_get_path(WEB_PUBLIC_PATH).'assets/mediaelement/plugins/vrview/vrview.js"},
'.$extraMediaFiles.'
'.$translateHtml.' '.$translateHtml.'
] ]
});'; });';

@ -3212,19 +3212,21 @@ class DocumentManager
* *
* @return string * @return string
*/ */
public static function generateVideoPreview($file, $extension) public static function generateMediaPreview($file, $extension)
{ {
$type = ''; $id = api_get_unique_id();
/*if ($extension != 'flv') { switch ($extension) {
case 'mp3':
}*/ $document_data['file_extension'] = $extension;
//$type = "video/$extension"; $html = '<div style="margin: 0; position: absolute; top: 50%; left: 35%;">';
//$fileInfo = parse_url($file); $html .= '<audio id="'.$id.'" controls="controls" src="'.$file.'" type="audio/mp3" ></audio></div>';
//$type = self::file_get_mime_type(basename($fileInfo['path'])); break;
default:
$html = '<video id="myvideo" controls>'; $html = '<video id="'.$id.'" controls>';
$html .= '<source src="'.$file.'" >'; $html .= '<source src="'.$file.'" >';
$html .= '</video>'; $html .= '</video>';
break;
}
return $html; return $html;
} }

@ -13491,9 +13491,9 @@ EOD;
} }
$documentPathInfo = pathinfo($document->getPath()); $documentPathInfo = pathinfo($document->getPath());
$jplayerSupportedFiles = ['mp4', 'ogv', 'flv', 'm4v']; $mediaSupportedFiles = ['mp3', 'mp4', 'ogv', 'flv', 'm4v'];
$extension = isset($documentPathInfo['extension']) ? $documentPathInfo['extension'] : ''; $extension = isset($documentPathInfo['extension']) ? $documentPathInfo['extension'] : '';
$showDirectUrl = !in_array($extension, $jplayerSupportedFiles); $showDirectUrl = !in_array($extension, $mediaSupportedFiles);
$openmethod = 2; $openmethod = 2;
$officedoc = false; $officedoc = false;

Loading…
Cancel
Save