diff --git a/modules/cms/widgets/MediaManager.php b/modules/cms/widgets/MediaManager.php
index e686391a0..5a4369b05 100644
--- a/modules/cms/widgets/MediaManager.php
+++ b/modules/cms/widgets/MediaManager.php
@@ -55,7 +55,7 @@ class MediaManager extends WidgetBase
parent::__construct($controller, []);
$this->bindToController();
- $this->handleUploads();
+ $this->checkUploadPostback();
}
/**
@@ -881,11 +881,13 @@ class MediaManager extends WidgetBase
try {
$dimensions = getimagesize($originalImagePath);
- if (!$dimensions)
+ if (!$dimensions) {
return $originalDimensions;
+ }
- if ($dimensions[0] > $width || $dimensions[1] > $height)
+ if ($dimensions[0] > $width || $dimensions[1] > $height) {
return $originalDimensions;
+ }
return $dimensions;
}
@@ -894,47 +896,56 @@ class MediaManager extends WidgetBase
}
}
- protected function handleUploads()
+ protected function checkUploadPostback()
{
$fileName = null;
- try {
- $uploadedFile = Input::file('file_data');
+ if (!($uniqueId = post('X_OCTOBER_FILEUPLOAD')) || $uniqueId != $this->getId()) {
+ return;
+ }
- if (!is_object($uploadedFile)) {
+ try {
+
+ if (!Input::hasFile('file_data')) {
return;
}
+ $uploadedFile = Input::file('file_data');
+
$fileName = $uploadedFile->getClientOriginalName();
// See mime type handling in the asset manager
- if (!$uploadedFile->isValid())
+ if (!$uploadedFile->isValid()) {
throw new ApplicationException($uploadedFile->getErrorMessage());
+ }
$path = Input::get('path');
$path = MediaLibrary::validatePath($path);
- MediaLibrary::instance()->put($path.'/'.$fileName,
- File::get($uploadedFile->getRealPath()));
+ MediaLibrary::instance()->put(
+ $path.'/'.$fileName,
+ File::get($uploadedFile->getRealPath())
+ );
die('success');
}
catch (Exception $ex) {
Response::make($ex->getMessage(), 406)->send();
-
die();
}
}
protected function validateFileName($name)
{
- if (!preg_match('/^[0-9a-z\.\s_\-]+$/i', $name))
+ if (!preg_match('/^[0-9a-z\.\s_\-]+$/i', $name)) {
return false;
+ }
- if (strpos($name, '..') !== false)
+ if (strpos($name, '..') !== false) {
return false;
-
+ }
+
return true;
}
diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager-browser-min.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager-browser-min.js
index 847f1b9e2..b560c485b 100644
--- a/modules/cms/widgets/mediamanager/assets/js/mediamanager-browser-min.js
+++ b/modules/cms/widgets/mediamanager/assets/js/mediamanager-browser-min.js
@@ -309,7 +309,8 @@ fileNumberLabel.innerHTML=completeTemplate;progresBar.setAttribute('class','prog
this.$el.find('[data-command="cancel-uploading"]').addClass('hide')
this.$el.find('[data-command="close-uploader"]').removeClass('hide')
this.refresh()}
-MediaManager.prototype.uploadSending=function(file,xhr,formData){formData.append('path',this.$el.find('[data-type="current-folder"]').val())}
+MediaManager.prototype.uploadSending=function(file,xhr,formData){formData.append('path',this.$el.find('[data-type="current-folder"]').val())
+formData.append('X_OCTOBER_FILEUPLOAD',this.options.uniqueId)}
MediaManager.prototype.uploadCancelAll=function(){this.dropzone.removeAllFiles(true)
this.hideUploadUi()}
MediaManager.prototype.uploadError=function(file,message){swal({title:'Error uploading file',text:message,confirmButtonClass:'btn-default'})}
@@ -461,7 +462,7 @@ eventHandled=true
break;}
if(eventHandled){ev.preventDefault()
ev.stopPropagation()}}
-MediaManager.DEFAULTS={alias:'',deleteEmpty:'Please select files to delete.',deleteConfirm:'Do you really want to delete the selected file(s)?',moveEmpty:'Please select files to move.',selectSingleImage:'Please select a single image.',selectionNotImage:'The selected item is not an image.',bottomToolbar:false,cropAndInsertButton:false}
+MediaManager.DEFAULTS={alias:'',uniqueId:null,deleteEmpty:'Please select files to delete.',deleteConfirm:'Do you really want to delete the selected file(s)?',moveEmpty:'Please select files to move.',selectSingleImage:'Please select a single image.',selectionNotImage:'The selected item is not an image.',bottomToolbar:false,cropAndInsertButton:false}
var old=$.fn.mediaManager
$.fn.mediaManager=function(option){var args=Array.prototype.slice.call(arguments,1),result=undefined
this.each(function(){var $this=$(this)
diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager.js
index 3bf9ae680..994a2a927 100644
--- a/modules/cms/widgets/mediamanager/assets/js/mediamanager.js
+++ b/modules/cms/widgets/mediamanager/assets/js/mediamanager.js
@@ -768,6 +768,7 @@
MediaManager.prototype.uploadSending = function(file, xhr, formData) {
formData.append('path', this.$el.find('[data-type="current-folder"]').val())
+ formData.append('X_OCTOBER_FILEUPLOAD', this.options.uniqueId)
}
MediaManager.prototype.uploadCancelAll = function() {
@@ -1238,6 +1239,7 @@
MediaManager.DEFAULTS = {
alias: '',
+ uniqueId: null,
deleteEmpty: 'Please select files to delete.',
deleteConfirm: 'Do you really want to delete the selected file(s)?',
moveEmpty: 'Please select files to move.',
diff --git a/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js b/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js
index 760c2efd4..c0935298a 100644
--- a/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js
+++ b/modules/cms/widgets/mediamanager/assets/js/mediamanager.redactor.js
@@ -48,8 +48,8 @@ RedactorPlugins.mediamanager = function()
this.link.getData()
new $.oc.mediaManager.popup({
- alias: 'ocmediamanager',
- cropAndInsertButton: false,
+ alias: 'ocmediamanager',
+ cropAndInsertButton: false,
onInsert: function(items) {
if (!items.length) {
alert('Please select file to insert a links to.')
@@ -87,8 +87,8 @@ RedactorPlugins.mediamanager = function()
var that = this
new $.oc.mediaManager.popup({
- alias: 'ocmediamanager',
- cropAndInsertButton: true,
+ alias: 'ocmediamanager',
+ cropAndInsertButton: true,
onInsert: function(items) {
if (!items.length) {
alert('Please select image(s) to insert.')
@@ -132,7 +132,7 @@ RedactorPlugins.mediamanager = function()
if (that.opts.linebreaks)
$image.before('
').after('
')
}
- }
+ }
if (imagesInserted !== 0)
this.hide()
@@ -150,8 +150,8 @@ RedactorPlugins.mediamanager = function()
this.link.getData()
new $.oc.mediaManager.popup({
- alias: 'ocmediamanager',
- cropAndInsertButton: false,
+ alias: 'ocmediamanager',
+ cropAndInsertButton: false,
onInsert: function(items) {
if (!items.length) {
alert('Please select a video file to insert.')
@@ -197,8 +197,8 @@ RedactorPlugins.mediamanager = function()
this.link.getData()
new $.oc.mediaManager.popup({
- alias: 'ocmediamanager',
- cropAndInsertButton: false,
+ alias: 'ocmediamanager',
+ cropAndInsertButton: false,
onInsert: function(items) {
if (!items.length) {
alert('Please select an audio file to insert.')
diff --git a/modules/cms/widgets/mediamanager/partials/_body.htm b/modules/cms/widgets/mediamanager/partials/_body.htm
index 8a9e08ad6..231606787 100644
--- a/modules/cms/widgets/mediamanager/partials/_body.htm
+++ b/modules/cms/widgets/mediamanager/partials/_body.htm
@@ -1,7 +1,8 @@
-