This commit is contained in:
Markos Gogoulos
2026-03-13 09:51:43 +02:00
parent 0c8a464845
commit e1e04ea93a
11 changed files with 398 additions and 233 deletions

View File

@@ -88,3 +88,27 @@ Configure default display options for auto-converted URLs:
### For Students (Display) ### For Students (Display)
When content is viewed, the Filter will ensure the video is loaded securely via LTI 1.3, authenticating the user with MediaCMS automatically. When content is viewed, the Filter will ensure the video is loaded securely via LTI 1.3, authenticating the user with MediaCMS automatically.
## Build instructions / Developing with the plugin
two types of changes: php (no build), js (build with npx grunt amd)
needs moodle/
npx version, dependencies etc
1. make changes here in lms-plugins/mediacms-moodle
2. copy to moodle
3. run `npx grunt amd` in moodle to build the JS files
4. from moodle copy back
sudo cp -r ~/mediacms/lms-plugins/mediacms-moodle/tiny/mediacms/ -r ~/mediacms/moodle/public/lib/editor/tiny/plugins/
5. cd ~/mediacms/moodle/public/lib/editor/tiny/plugins/mediacms/
npx grunt amd
6.
cp files back...
sudo cp -r /home/user/mediacms/moodle/public/lib/editor/tiny/plugins/mediacms /home/user/mediacms/lms-plugins/mediacms-moodle/tiny/
php admin/cli/purge_caches.php after

View File

@@ -31,6 +31,7 @@ global $DB, $PAGE, $OUTPUT, $SITE, $USER, $SESSION;
require_login(); require_login();
$courseid = required_param('courseid', PARAM_INT); $courseid = required_param('courseid', PARAM_INT);
$action = optional_param('action', '', PARAM_TEXT);
$ltitoolid = get_config('filter_mediacms', 'ltitoolid'); $ltitoolid = get_config('filter_mediacms', 'ltitoolid');
if (empty($ltitoolid)) { if (empty($ltitoolid)) {
@@ -68,7 +69,11 @@ $PAGE->set_title('MediaCMS Select Media');
$typeconfig = lti_get_type_type_config($type->id); $typeconfig = lti_get_type_type_config($type->id);
// Store redirect_path in session — lti_auth.php picks it up after the OIDC roundtrip. // Store redirect_path in session — lti_auth.php picks it up after the OIDC roundtrip.
if ($action === 'upload') {
$SESSION->mediacms_launch_customparams = 'redirect_path=/upload';
} else {
$SESSION->mediacms_launch_customparams = 'redirect_path=/lti/select-media/?mode=lms_embed_mode'; $SESSION->mediacms_launch_customparams = 'redirect_path=/lti/select-media/?mode=lms_embed_mode';
}
$content = lti_initiate_login($course->id, 0, null, $typeconfig, null, 'MediaCMS Select Media'); $content = lti_initiate_login($course->id, 0, null, $typeconfig, null, 'MediaCMS Select Media');

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -1,3 +1,3 @@
define("tiny_mediacms/selectors",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;return _exports.default={IMAGE:{actions:{submit:".tiny_imagecms_urlentrysubmit",imageBrowser:".openimagecmsbrowser",addUrl:".tiny_imagecms_addurl",deleteImage:".tiny_imagecms_deleteicon"},elements:{form:"form.tiny_imagecms_form",alignSettings:".tiny_imagecms_button",alt:".tiny_imagecms_altentry",altWarning:".tiny_imagecms_altwarning",height:".tiny_imagecms_heightentry",width:".tiny_imagecms_widthentry",url:".tiny_imagecms_urlentry",urlWarning:".tiny_imagecms_urlwarning",size:".tiny_imagecms_size",presentation:".tiny_imagecms_presentation",constrain:".tiny_imagecms_constrain",customStyle:".tiny_imagecms_customstyle",preview:".tiny_imagecms_preview",previewBox:".tiny_imagecms_preview_box",loaderIcon:".tiny_imagecms_loader",loaderIconContainer:".tiny_imagecms_loader_container",insertImage:".tiny_imagecms_insert_image",modalFooter:".modal-footer",dropzoneContainer:".tiny_imagecms_dropzone_container",fileInput:"#tiny_imagecms_fileinput",fileNameLabel:".tiny_imagecms_filename",sizeOriginal:".tiny_imagecms_sizeoriginal",sizeCustom:".tiny_imagecms_sizecustom",properties:".tiny_imagecms_properties"},styles:{responsive:"img-fluid"}},EMBED:{actions:{submit:".tiny_mediacms_submit",mediaBrowser:".openmediacmsbrowser"},elements:{form:"form.tiny_mediacms_form",source:".tiny_mediacms_source",track:".tiny_mediacms_track",mediaSource:".tiny_mediacms_media_source",linkSource:".tiny_mediacms_link_source",linkSize:".tiny_mediacms_link_size",posterSource:".tiny_mediacms_poster_source",posterSize:".tiny_mediacms_poster_size",displayOptions:".tiny_mediacms_display_options",name:".tiny_mediacms_name_entry",title:".tiny_mediacms_title_entry",url:".tiny_mediacms_url_entry",width:".tiny_mediacms_width_entry",height:".tiny_mediacms_height_entry",trackSource:".tiny_mediacms_track_source",trackKind:".tiny_mediacms_track_kind_entry",trackLabel:".tiny_mediacms_track_label_entry",trackLang:".tiny_mediacms_track_lang_entry",trackDefault:".tiny_mediacms_track_default",mediaControl:".tiny_mediacms_controls",mediaAutoplay:".tiny_mediacms_autoplay",mediaMute:".tiny_mediacms_mute",mediaLoop:".tiny_mediacms_loop",advancedSettings:".tiny_mediacms_advancedsettings",linkTab:'li[data-medium-type="link"]',videoTab:'li[data-medium-type="video"]',audioTab:'li[data-medium-type="audio"]',linkPane:'.tab-pane[data-medium-type="link"]',videoPane:'.tab-pane[data-medium-type="video"]',audioPane:'.tab-pane[data-medium-type="audio"]',trackSubtitlesTab:'li[data-track-kind="subtitles"]',trackCaptionsTab:'li[data-track-kind="captions"]',trackDescriptionsTab:'li[data-track-kind="descriptions"]',trackChaptersTab:'li[data-track-kind="chapters"]',trackMetadataTab:'li[data-track-kind="metadata"]',trackSubtitlesPane:'.tab-pane[data-track-kind="subtitles"]',trackCaptionsPane:'.tab-pane[data-track-kind="captions"]',trackDescriptionsPane:'.tab-pane[data-track-kind="descriptions"]',trackChaptersPane:'.tab-pane[data-track-kind="chapters"]',trackMetadataPane:'.tab-pane[data-track-kind="metadata"]'},mediaTypes:{link:"LINK",video:"VIDEO",audio:"AUDIO"},trackKinds:{subtitles:"SUBTITLES",captions:"CAPTIONS",descriptions:"DESCRIPTIONS",chapters:"CHAPTERS",metadata:"METADATA"}},IFRAME:{actions:{remove:'[data-action="remove"]'},elements:{form:"form.tiny_iframecms_form",url:".tiny_iframecms_url",urlWarning:".tiny_iframecms_url_warning",showTitle:".tiny_iframecms_showtitle",linkTitle:".tiny_iframecms_linktitle",showRelated:".tiny_iframecms_showrelated",showUserAvatar:".tiny_iframecms_showuseravatar",textLinkOnly:".tiny_iframecms_textlinkonly",startAt:".tiny_iframecms_startat",startAtEnabled:".tiny_iframecms_startat_enabled",aspectRatio:".tiny_iframecms_aspectratio",width:".tiny_iframecms_width",height:".tiny_iframecms_height",preview:".tiny_iframecms_preview",previewContainer:".tiny_iframecms_preview_container",tabs:".tiny_iframecms_tabs",tabUrlBtn:".tiny_iframecms_tab_url_btn",tabIframeLibraryBtn:".tiny_iframecms_tab_iframe_library_btn",paneUrl:".tiny_iframecms_pane_url",paneIframeLibrary:".tiny_iframecms_pane_iframe_library",iframeLibraryContainer:".tiny_iframecms_iframe_library_container",iframeLibraryPlaceholder:".tiny_iframecms_iframe_library_placeholder",iframeLibraryLoading:".tiny_iframecms_iframe_library_loading",iframeLibraryFrame:".tiny_iframecms_iframe_library_frame"},aspectRatios:{"16:9":{width:560,height:315},"4:3":{width:560,height:420},"1:1":{width:400,height:400},custom:null}}},_exports.default})); define("tiny_mediacms/selectors",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0;return _exports.default={IMAGE:{actions:{submit:".tiny_imagecms_urlentrysubmit",imageBrowser:".openimagecmsbrowser",addUrl:".tiny_imagecms_addurl",deleteImage:".tiny_imagecms_deleteicon"},elements:{form:"form.tiny_imagecms_form",alignSettings:".tiny_imagecms_button",alt:".tiny_imagecms_altentry",altWarning:".tiny_imagecms_altwarning",height:".tiny_imagecms_heightentry",width:".tiny_imagecms_widthentry",url:".tiny_imagecms_urlentry",urlWarning:".tiny_imagecms_urlwarning",size:".tiny_imagecms_size",presentation:".tiny_imagecms_presentation",constrain:".tiny_imagecms_constrain",customStyle:".tiny_imagecms_customstyle",preview:".tiny_imagecms_preview",previewBox:".tiny_imagecms_preview_box",loaderIcon:".tiny_imagecms_loader",loaderIconContainer:".tiny_imagecms_loader_container",insertImage:".tiny_imagecms_insert_image",modalFooter:".modal-footer",dropzoneContainer:".tiny_imagecms_dropzone_container",fileInput:"#tiny_imagecms_fileinput",fileNameLabel:".tiny_imagecms_filename",sizeOriginal:".tiny_imagecms_sizeoriginal",sizeCustom:".tiny_imagecms_sizecustom",properties:".tiny_imagecms_properties"},styles:{responsive:"img-fluid"}},EMBED:{actions:{submit:".tiny_mediacms_submit",mediaBrowser:".openmediacmsbrowser"},elements:{form:"form.tiny_mediacms_form",source:".tiny_mediacms_source",track:".tiny_mediacms_track",mediaSource:".tiny_mediacms_media_source",linkSource:".tiny_mediacms_link_source",linkSize:".tiny_mediacms_link_size",posterSource:".tiny_mediacms_poster_source",posterSize:".tiny_mediacms_poster_size",displayOptions:".tiny_mediacms_display_options",name:".tiny_mediacms_name_entry",title:".tiny_mediacms_title_entry",url:".tiny_mediacms_url_entry",width:".tiny_mediacms_width_entry",height:".tiny_mediacms_height_entry",trackSource:".tiny_mediacms_track_source",trackKind:".tiny_mediacms_track_kind_entry",trackLabel:".tiny_mediacms_track_label_entry",trackLang:".tiny_mediacms_track_lang_entry",trackDefault:".tiny_mediacms_track_default",mediaControl:".tiny_mediacms_controls",mediaAutoplay:".tiny_mediacms_autoplay",mediaMute:".tiny_mediacms_mute",mediaLoop:".tiny_mediacms_loop",advancedSettings:".tiny_mediacms_advancedsettings",linkTab:'li[data-medium-type="link"]',videoTab:'li[data-medium-type="video"]',audioTab:'li[data-medium-type="audio"]',linkPane:'.tab-pane[data-medium-type="link"]',videoPane:'.tab-pane[data-medium-type="video"]',audioPane:'.tab-pane[data-medium-type="audio"]',trackSubtitlesTab:'li[data-track-kind="subtitles"]',trackCaptionsTab:'li[data-track-kind="captions"]',trackDescriptionsTab:'li[data-track-kind="descriptions"]',trackChaptersTab:'li[data-track-kind="chapters"]',trackMetadataTab:'li[data-track-kind="metadata"]',trackSubtitlesPane:'.tab-pane[data-track-kind="subtitles"]',trackCaptionsPane:'.tab-pane[data-track-kind="captions"]',trackDescriptionsPane:'.tab-pane[data-track-kind="descriptions"]',trackChaptersPane:'.tab-pane[data-track-kind="chapters"]',trackMetadataPane:'.tab-pane[data-track-kind="metadata"]'},mediaTypes:{link:"LINK",video:"VIDEO",audio:"AUDIO"},trackKinds:{subtitles:"SUBTITLES",captions:"CAPTIONS",descriptions:"DESCRIPTIONS",chapters:"CHAPTERS",metadata:"METADATA"}},IFRAME:{actions:{remove:'[data-action="remove"]'},elements:{form:"form.tiny_iframecms_form",url:".tiny_iframecms_url",urlWarning:".tiny_iframecms_url_warning",showTitle:".tiny_iframecms_showtitle",linkTitle:".tiny_iframecms_linktitle",showRelated:".tiny_iframecms_showrelated",showUserAvatar:".tiny_iframecms_showuseravatar",textLinkOnly:".tiny_iframecms_textlinkonly",startAt:".tiny_iframecms_startat",startAtEnabled:".tiny_iframecms_startat_enabled",aspectRatio:".tiny_iframecms_aspectratio",width:".tiny_iframecms_width",height:".tiny_iframecms_height",preview:".tiny_iframecms_preview",previewContainer:".tiny_iframecms_preview_container",tabs:".tiny_iframecms_tabs",tabUrlBtn:".tiny_iframecms_tab_url_btn",tabIframeLibraryBtn:".tiny_iframecms_tab_iframe_library_btn",tabUploadMediaBtn:".tiny_iframecms_upload_media_btn",paneUrl:".tiny_iframecms_pane_url",paneIframeLibrary:".tiny_iframecms_pane_iframe_library",iframeLibraryContainer:".tiny_iframecms_iframe_library_container",iframeLibraryPlaceholder:".tiny_iframecms_iframe_library_placeholder",iframeLibraryLoading:".tiny_iframecms_iframe_library_loading",iframeLibraryFrame:".tiny_iframecms_iframe_library_frame"},aspectRatios:{"16:9":{width:560,height:315},"4:3":{width:560,height:420},"1:1":{width:400,height:400},custom:null}}},_exports.default}));
//# sourceMappingURL=selectors.min.js.map //# sourceMappingURL=selectors.min.js.map

File diff suppressed because one or more lines are too long

View File

@@ -936,6 +936,87 @@ export default class IframeEmbed {
}); });
} }
// Upload media button handler
const uploadMediaBtn = form.querySelector(
Selectors.IFRAME.elements.tabUploadMediaBtn,
);
if (uploadMediaBtn) {
uploadMediaBtn.addEventListener('click', (e) => {
e.preventDefault();
e.stopPropagation();
// Ensure we are on the iframe library tab
this.switchToIframeLibraryTab(root);
// Get the upload URL, preferring LTI launch if available
let uploadUrl = '';
const ltiConfig = getLti(this.editor);
if (ltiConfig && ltiConfig.contentItemUrl) {
try {
const urlObj = new URL(ltiConfig.contentItemUrl);
urlObj.searchParams.set('action', 'upload');
uploadUrl = urlObj.toString();
} catch (err) {
// Ignore errors silently for Moodle coding style
}
}
if (!uploadUrl) {
// Get the MediaCMS base URL from plugin data configuration
let baseUrl = '';
try {
const editorData = getData(this.editor);
if (editorData && editorData.mediacmsBaseUrl) {
baseUrl = editorData.mediacmsBaseUrl;
}
} catch (err) {
// Ignore errors silently for Moodle coding style
}
// Fallback to iframeLibraryUrl if not set
if (!baseUrl) {
try {
const urlObj = new URL(this.iframeLibraryUrl);
baseUrl = `${urlObj.protocol}//${urlObj.host}`;
} catch (err) {
// Ignore errors silently for Moodle coding style
}
}
// Ensure no trailing slash before appending /upload
baseUrl = baseUrl.replace(/\/$/, '');
uploadUrl = baseUrl ? `${baseUrl}/upload` : '';
}
if (uploadUrl) {
const pane = form.querySelector(Selectors.IFRAME.elements.paneIframeLibrary);
if (pane) {
const iframeEl = pane.querySelector(Selectors.IFRAME.elements.iframeLibraryFrame);
const placeholderEl = pane.querySelector(Selectors.IFRAME.elements.iframeLibraryPlaceholder);
const loadingEl = pane.querySelector(Selectors.IFRAME.elements.iframeLibraryLoading);
if (placeholderEl) {
placeholderEl.classList.add('d-none');
}
if (loadingEl) {
loadingEl.classList.remove('d-none');
}
if (iframeEl) {
iframeEl.classList.add('d-none');
const loadHandler = () => {
this.handleIframeLibraryLoad(root);
iframeEl.removeEventListener('load', loadHandler);
};
iframeEl.addEventListener('load', loadHandler);
iframeEl.src = uploadUrl;
}
}
}
});
}
// Iframe library event listeners // Iframe library event listeners
this.registerIframeLibraryEventListeners(root); this.registerIframeLibraryEventListeners(root);

View File

@@ -143,6 +143,7 @@ export default {
tabs: '.tiny_iframecms_tabs', tabs: '.tiny_iframecms_tabs',
tabUrlBtn: '.tiny_iframecms_tab_url_btn', tabUrlBtn: '.tiny_iframecms_tab_url_btn',
tabIframeLibraryBtn: '.tiny_iframecms_tab_iframe_library_btn', tabIframeLibraryBtn: '.tiny_iframecms_tab_iframe_library_btn',
tabUploadMediaBtn: '.tiny_iframecms_upload_media_btn',
paneUrl: '.tiny_iframecms_pane_url', paneUrl: '.tiny_iframecms_pane_url',
paneIframeLibrary: '.tiny_iframecms_pane_iframe_library', paneIframeLibrary: '.tiny_iframecms_pane_iframe_library',
// Iframe library elements // Iframe library elements

View File

@@ -149,9 +149,9 @@ $string['librarysortnewest'] = 'Newest first';
$string['librarysortoldest'] = 'Oldest first'; $string['librarysortoldest'] = 'Oldest first';
$string['librarysorttitle'] = 'Title A-Z'; $string['librarysorttitle'] = 'Title A-Z';
$string['librarysortviews'] = 'Most views'; $string['librarysortviews'] = 'Most views';
$string['libraryloading'] = 'Loading videos...'; $string['libraryloading'] = 'Loading...';
$string['libraryempty'] = 'No videos found'; $string['libraryempty'] = 'Not found';
$string['libraryerror'] = 'Failed to load videos'; $string['libraryerror'] = 'Failed to load';
$string['libraryretry'] = 'Retry'; $string['libraryretry'] = 'Retry';
$string['libraryprev'] = 'Previous'; $string['libraryprev'] = 'Previous';
$string['librarynext'] = 'Next'; $string['librarynext'] = 'Next';

View File

@@ -47,6 +47,12 @@
{{#str}} tabembedurl, tiny_mediacms {{/str}} {{#str}} tabembedurl, tiny_mediacms {{/str}}
</button> </button>
</li> </li>
<!-- Upload media button -->
<li class="nav-item ms-auto ml-auto" role="presentation">
<button class="btn btn-outline-secondary btn-sm mt-1 me-2 mr-2 tiny_iframecms_upload_media_btn" type="button" title="Upload media">
<svg xmlns="http://www.w3.org/2000/svg" height="18px" viewBox="0 -960 960 960" width="18px" fill="currentColor" style="vertical-align: text-bottom; margin-right: 4px;"><path d="M440-440H280v-80h160v-160h80v160h160v80H520v160h-80v-160ZM160-160q-33 0-56.5-23.5T80-240v-480q0-33 23.5-56.5T160-800h480q33 0 56.5 23.5T720-720v180l160-160v440L720-420v180q0 33-23.5 56.5T640-160H160Zm0-80h480v-480H160v480Zm0 0v-480 480Z"/></svg>Upload media
</button>
</li>
</ul> </ul>
<!-- Tab Content --> <!-- Tab Content -->

View File

@@ -1,10 +1,9 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load i18n %} {% load i18n %}
{% load static %} {% load static %}
{% load custom_filters %}
{% block headtitle %}Add new media - {{PORTAL_NAME}}{% endblock headtitle %} {% block headtitle %}Add new media - {{PORTAL_NAME}}{% endblock headtitle %}
{% load custom_filters %}
{% block externallinks %} {% block externallinks %}
{% if LOAD_FROM_CDN %} {% if LOAD_FROM_CDN %}
@@ -19,6 +18,46 @@
{% block topimports %} {% block topimports %}
<link href="{% static "css/add-media.css" %}" rel="preload" as="style"> <link href="{% static "css/add-media.css" %}" rel="preload" as="style">
<link href="{% static "css/add-media.css" %}" rel="stylesheet"> <link href="{% static "css/add-media.css" %}" rel="stylesheet">
<style>
/* LMS Embed Mode specific styling */
.is-lms-embed .media-uploader-wrap {
padding: 10px 15px;
}
.is-lms-embed .media-uploader-top-wrap {
margin-bottom: 10px;
padding: 0;
}
.is-lms-embed .media-uploader-top-left-wrap h1 {
font-size: 1.2rem;
margin: 0;
padding: 0;
}
.is-lms-embed .media-uploader-bottom-wrap {
margin-top: 10px;
}
.is-lms-embed .media-drag-drop-inner {
padding: 20px 10px;
min-height: 140px;
border-width: 2px;
}
.is-lms-embed .media-drag-drop-content-inner span {
font-size: 13px;
margin-bottom: 6px;
line-height: 1.2;
}
.is-lms-embed .media-drag-drop-content-inner i.material-icons {
font-size: 32px;
margin-bottom: 4px;
}
.is-lms-embed .qq-upload-button-selector {
padding: 6px 16px;
font-size: 13px;
margin-top: 5px;
}
.is-lms-embed .media-upload-items-list {
margin-top: 10px;
}
</style>
{% endblock topimports %} {% endblock topimports %}
{% block innercontent %} {% block innercontent %}
@@ -28,13 +67,14 @@
{% if can_add %} {% if can_add %}
<div class="media-uploader-wrap"> <div class="media-uploader-wrap" id="media-uploader-wrap">
<div class="media-uploader-top-wrap"> <div class="media-uploader-top-wrap">
<div class="media-uploader-top-left-wrap"> <div class="media-uploader-top-left-wrap">
<h1>{{ "Upload media" | custom_translate:LANGUAGE_CODE}}</h1> <h1>{{ "Upload media" | custom_translate:LANGUAGE_CODE}}</h1>
</div> </div>
<div class="media-uploader-top-right-wrap"> </div> <div class="media-uploader-top-right-wrap"> </div>
</div> </div>
<script type="text/template" id="qq-template"> <script type="text/template" id="qq-template">
<div class="media-uploader-bottom-wrap qq-uploader-selector"> <div class="media-uploader-bottom-wrap qq-uploader-selector">
<div class="media-uploader-bottom-left-wrap"> <div class="media-uploader-bottom-left-wrap">
@@ -52,10 +92,8 @@
<div class="qq-upload-drop-area-selector media-dropzone" qq-hide-dropzone> <div class="qq-upload-drop-area-selector media-dropzone" qq-hide-dropzone>
<span class="qq-upload-drop-area-text-selector"></span> <span class="qq-upload-drop-area-text-selector"></span>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</div> </div>
@@ -131,8 +169,6 @@
{% endif %} {% endif %}
{% else %}
{% endif %} {% endif %}
{% endblock innercontent %} {% endblock innercontent %}
@@ -140,6 +176,14 @@
<script src="{% static "js/add-media.js" %}?v={{ VERSION }}"></script> <script src="{% static "js/add-media.js" %}?v={{ VERSION }}"></script>
<script> <script>
document.addEventListener("DOMContentLoaded", function(event) { document.addEventListener("DOMContentLoaded", function(event) {
if (sessionStorage.getItem('lms_embed_mode') === 'true') {
var wrap = document.getElementById('media-uploader-wrap');
if (wrap) {
wrap.classList.add('is-lms-embed');
}
}
function getCSRFToken() { function getCSRFToken() {
var i, cookies, cookie, cookieVal = null; var i, cookies, cookie, cookieVal = null;
if ( document.cookie && '' !== document.cookie ) { if ( document.cookie && '' !== document.cookie ) {
@@ -172,7 +216,7 @@
maxAutoAttempts: 2, maxAutoAttempts: 2,
}, },
validation: { validation: {
itemLimit: {{UPLOAD_MAX_FILES_NUMBER}}, itemLimit: sessionStorage.getItem('lms_embed_mode') === 'true' ? 1 : {{UPLOAD_MAX_FILES_NUMBER}},
sizeLimit: {{UPLOAD_MAX_SIZE}}, sizeLimit: {{UPLOAD_MAX_SIZE}},
}, },
chunking: { chunking: {
@@ -194,6 +238,10 @@
if ( response.media_url ) { if ( response.media_url ) {
if ( 1 === this._currentItemLimit ) { if ( 1 === this._currentItemLimit ) {
if (sessionStorage.getItem('lms_embed_mode') === 'true') {
window.location.href = '{% url "get_user" username=request.user.username %}?mode=lms_embed_mode';
return;
}
setTimeout(function(){ window.location.href = response.media_url; }, 500); setTimeout(function(){ window.location.href = response.media_url; }, 500);
return; return;
} }