Throw an exception when the file_data is missing from the request
Fixes #1712
This commit is contained in:
parent
a585fe3316
commit
767ce5f2e7
|
|
@ -950,14 +950,13 @@ class MediaManager extends WidgetBase
|
|||
{
|
||||
$fileName = null;
|
||||
|
||||
if (!($uniqueId = post('X_OCTOBER_FILEUPLOAD')) || $uniqueId != $this->getId()) {
|
||||
if (!($uniqueId = Request::header('X-OCTOBER-FILEUPLOAD')) || $uniqueId != $this->getId()) {
|
||||
return;
|
||||
}
|
||||
|
||||
try {
|
||||
|
||||
if (!Input::hasFile('file_data')) {
|
||||
return;
|
||||
throw new ApplicationException('File missing from request');
|
||||
}
|
||||
|
||||
$uploadedFile = Input::file('file_data');
|
||||
|
|
@ -999,12 +998,13 @@ class MediaManager extends WidgetBase
|
|||
File::get($uploadedFile->getRealPath())
|
||||
);
|
||||
|
||||
die('success');
|
||||
Response::json(['result' => 'success'])->send();
|
||||
}
|
||||
catch (Exception $ex) {
|
||||
Response::make($ex->getMessage(), 406)->send();
|
||||
die();
|
||||
Response::json($ex->getMessage(), 400)->send();
|
||||
}
|
||||
|
||||
exit;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -280,7 +280,10 @@ this.scrollContentElement.insertBefore(this.selectionMarker,this.scrollContentEl
|
|||
MediaManager.prototype.doObjectsCollide=function(aTop,aLeft,aWidth,aHeight,bTop,bLeft,bWidth,bHeight){return!(((aTop+aHeight)<(bTop))||(aTop>(bTop+bHeight))||((aLeft+aWidth)<bLeft)||(aLeft>(bLeft+bWidth)))}
|
||||
MediaManager.prototype.initUploader=function(){if(!this.itemListElement)
|
||||
return
|
||||
var uploaderOptions={clickable:this.$el.find('[data-control="upload"]').get(0),method:'POST',url:window.location,paramName:'file_data',createImageThumbnails:false}
|
||||
var uploaderOptions={clickable:this.$el.find('[data-control="upload"]').get(0),url:this.options.url,paramName:'file_data',headers:{},createImageThumbnails:false}
|
||||
if(this.options.uniqueId){uploaderOptions.headers['X-OCTOBER-FILEUPLOAD']=this.options.uniqueId}
|
||||
var token=$('meta[name="csrf-token"]').attr('content')
|
||||
if(token){uploaderOptions.headers['X-CSRF-TOKEN']=token}
|
||||
this.dropzone=new Dropzone(this.$el.get(0),uploaderOptions)
|
||||
this.dropzone.on('addedfile',this.proxy(this.uploadFileAdded))
|
||||
this.dropzone.on('totaluploadprogress',this.proxy(this.uploadUpdateTotalProgress))
|
||||
|
|
@ -308,8 +311,7 @@ progressBar.setAttribute('class','progress-bar')}
|
|||
MediaManager.prototype.uploadQueueComplete=function(){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())
|
||||
formData.append('X_OCTOBER_FILEUPLOAD',this.options.uniqueId)}
|
||||
MediaManager.prototype.uploadSending=function(file,xhr,formData){formData.append('path',this.$el.find('[data-type="current-folder"]').val())}
|
||||
MediaManager.prototype.uploadCancelAll=function(){this.dropzone.removeAllFiles(true)
|
||||
this.hideUploadUi()}
|
||||
MediaManager.prototype.updateUploadBar=function(templateName,classNames){var fileNumberLabel=this.$el.get(0).querySelector('[data-label="file-number-and-progress"]'),successTemplate=fileNumberLabel.getAttribute('data-'+templateName+'-template'),progressBar=this.$el.get(0).querySelector('[data-control="upload-progress-bar"]')
|
||||
|
|
@ -463,7 +465,7 @@ eventHandled=true
|
|||
break;}
|
||||
if(eventHandled){ev.preventDefault()
|
||||
ev.stopPropagation()}}
|
||||
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}
|
||||
MediaManager.DEFAULTS={url:window.location,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)
|
||||
|
|
|
|||
|
|
@ -717,13 +717,25 @@
|
|||
|
||||
var uploaderOptions = {
|
||||
clickable: this.$el.find('[data-control="upload"]').get(0),
|
||||
method: 'POST',
|
||||
url: window.location,
|
||||
url: this.options.url,
|
||||
paramName: 'file_data',
|
||||
headers: {},
|
||||
createImageThumbnails: false
|
||||
// fallback: implement method that would set a flag that the uploader is not supported by the browser
|
||||
}
|
||||
|
||||
if (this.options.uniqueId) {
|
||||
uploaderOptions.headers['X-OCTOBER-FILEUPLOAD'] = this.options.uniqueId
|
||||
}
|
||||
|
||||
/*
|
||||
* Add CSRF token to headers
|
||||
*/
|
||||
var token = $('meta[name="csrf-token"]').attr('content')
|
||||
if (token) {
|
||||
uploaderOptions.headers['X-CSRF-TOKEN'] = token
|
||||
}
|
||||
|
||||
this.dropzone = new Dropzone(this.$el.get(0), uploaderOptions)
|
||||
this.dropzone.on('addedfile', this.proxy(this.uploadFileAdded))
|
||||
this.dropzone.on('totaluploadprogress', this.proxy(this.uploadUpdateTotalProgress))
|
||||
|
|
@ -791,7 +803,6 @@
|
|||
|
||||
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() {
|
||||
|
|
@ -1253,6 +1264,7 @@
|
|||
// ============================
|
||||
|
||||
MediaManager.DEFAULTS = {
|
||||
url: window.location,
|
||||
alias: '',
|
||||
uniqueId: null,
|
||||
deleteEmpty: 'Please select files to delete.',
|
||||
|
|
|
|||
Loading…
Reference in New Issue