wp/wp-includes/js/plupload/handlers.js
changeset 5 5e2f62d02dcd
parent 0 d970ebf37754
child 7 cf61fcea0001
--- a/wp/wp-includes/js/plupload/handlers.js	Mon Jun 08 16:11:51 2015 +0000
+++ b/wp/wp-includes/js/plupload/handlers.js	Tue Jun 09 03:35:32 2015 +0200
@@ -1,9 +1,6 @@
+/* global plupload, pluploadL10n, ajaxurl, post_id, wpUploaderInit, deleteUserSetting, setUserSetting, getUserSetting, shortform */
 var topWin = window.dialogArguments || opener || parent || top, uploader, uploader_init;
 
-function fileDialogStart() {
-	jQuery("#media-upload-error").empty();
-}
-
 // progress and success handlers for media multi uploads
 function fileQueued(fileObj) {
 	// Get rid of unused form
@@ -44,20 +41,19 @@
 }
 
 // check to see if a large file failed to upload
-function fileUploading(up, file) {
-	var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10);
+function fileUploading( up, file ) {
+	var hundredmb = 100 * 1024 * 1024,
+		max = parseInt( up.settings.max_file_size, 10 );
 
 	if ( max > hundredmb && file.size > hundredmb ) {
-		setTimeout(function(){
-			var done;
-
-			if ( file.status < 3 && file.loaded == 0 ) { // not uploading
-				wpFileError(file, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>'));
+		setTimeout( function() {
+			if ( file.status < 3 && file.loaded === 0 ) { // not uploading
+				wpFileError( file, pluploadL10n.big_upload_failed.replace( '%1$s', '<a class="uploader-html" href="#">' ).replace( '%2$s', '</a>' ) );
 				up.stop(); // stops the whole queue
-				up.removeFile(file);
+				up.removeFile( file );
 				up.start(); // restart the queue
 			}
-		}, 10000); // wait for 10 sec. for the file to start uploading
+		}, 10000 ); // wait for 10 sec. for the file to start uploading
 	}
 }
 
@@ -70,7 +66,7 @@
 		jQuery('.insert-gallery').hide();
 	} else if ( items.length > 1 ) {
 		items.removeClass('open');
-		// Only show Gallery button when there are at least two files.
+		// Only show Gallery/Playlist buttons when there are at least two files.
 		jQuery('.insert-gallery').show();
 	}
 
@@ -103,15 +99,20 @@
 		jQuery('#attachments-count').text(1 * jQuery('#attachments-count').text() + 1);
 }
 
-function setResize(arg) {
+function setResize( arg ) {
 	if ( arg ) {
-		if ( uploader.features.jpgresize )
-			uploader.settings['resize'] = { width: resize_width, height: resize_height, quality: 100 };
-		else
+		if ( window.resize_width && window.resize_height ) {
+			uploader.settings.resize = {
+				enabled: true,
+				width: window.resize_width,
+				height: window.resize_height,
+				quality: 100
+			};
+		} else {
 			uploader.settings.multipart_params.image_resize = true;
+		}
 	} else {
-		delete(uploader.settings.resize);
-		delete(uploader.settings.multipart_params.image_resize);
+		delete( uploader.settings.multipart_params.image_resize );
 	}
 }
 
@@ -129,7 +130,7 @@
 		item.append(serverData);
 		prepareMediaItemInit(fileObj);
 	} else { // New style: server data is just the attachment ID, fetch the thumbnail and form html from the server
-		item.load('async-upload.php', {attachment_id:serverData, fetch:f}, function(){prepareMediaItemInit(fileObj);updateMediaForm()});
+		item.load('async-upload.php', {attachment_id:serverData, fetch:f}, function(){prepareMediaItemInit(fileObj);updateMediaForm();});
 	}
 }
 
@@ -171,8 +172,9 @@
 				action: 'untrash-post',
 				_ajax_nonce: this.href.replace(/^.*wpnonce=/,'')
 			},
-			success: function(data, textStatus){
-				var item = jQuery('#media-item-' + fileObj.id);
+			success: function( ){
+				var type,
+					item = jQuery('#media-item-' + fileObj.id);
 
 				if ( type = jQuery('#type-of-' + fileObj.id).val() )
 					jQuery('#' + type + '-counter').text(jQuery('#' + type + '-counter').text()-0+1);
@@ -210,21 +212,23 @@
 	if ( last_err == id ) // prevent firing an error for the same file twice
 		return;
 
-	item.html('<div class="error-div">'
-				+ '<a class="dismiss" href="#">' + pluploadL10n.dismiss + '</a>'
-				+ '<strong>' + pluploadL10n.error_uploading.replace('%s', jQuery.trim(filename)) + '</strong> '
-				+ message
-				+ '</div>').data('last-err', id);
+	item.html('<div class="error-div">' +
+				'<a class="dismiss" href="#">' + pluploadL10n.dismiss + '</a>' +
+				'<strong>' + pluploadL10n.error_uploading.replace('%s', jQuery.trim(filename)) + '</strong> ' +
+				message +
+				'</div>').data('last-err', id);
 }
 
-function deleteSuccess(data, textStatus) {
+function deleteSuccess(data) {
+	var type, id, item;
 	if ( data == '-1' )
 		return itemAjaxError(this.id, 'You do not have permission. Has your session expired?');
 
 	if ( data == '0' )
 		return itemAjaxError(this.id, 'Could not be deleted. Has it been deleted already?');
 
-	var id = this.id, item = jQuery('#media-item-' + id);
+	id = this.id;
+	item = jQuery('#media-item-' + id);
 
 	// Decrement the counters.
 	if ( type = jQuery('#type-of-' + id).val() )
@@ -252,7 +256,7 @@
 	return;
 }
 
-function deleteError(X, textStatus, errorThrown) {
+function deleteError() {
 	// TODO
 }
 
@@ -273,16 +277,6 @@
 	}
 }
 
-function dndHelper(s) {
-	var d = document.getElementById('dnd-helper');
-
-	if ( s ) {
-		d.style.display = 'block';
-	} else {
-		d.style.display = 'none';
-	}
-}
-
 function uploadError(fileObj, errorCode, message, uploader) {
 	var hundredmb = 100 * 1024 * 1024, max;
 
@@ -309,10 +303,10 @@
 			wpQueueError(pluploadL10n.upload_failed);
 			break;
 		case plupload.IO_ERROR:
-			max = parseInt(uploader.settings.max_file_size, 10);
+			max = parseInt( uploader.settings.filters.max_file_size, 10 );
 
 			if ( max > hundredmb && fileObj.size > hundredmb )
-				wpFileError(fileObj, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>'));
+				wpFileError( fileObj, pluploadL10n.big_upload_failed.replace('%1$s', '<a class="uploader-html" href="#">').replace('%2$s', '</a>') );
 			else
 				wpQueueError(pluploadL10n.io_error);
 			break;
@@ -406,6 +400,16 @@
 
 	// init and set the uploader
 	uploader_init = function() {
+		var isIE = navigator.userAgent.indexOf('Trident/') != -1 || navigator.userAgent.indexOf('MSIE ') != -1;
+
+		// Make sure flash sends cookies (seems in IE it does whitout switching to urlstream mode)
+		if ( ! isIE && 'flash' === plupload.predictRuntime( wpUploaderInit ) &&
+			( ! wpUploaderInit.required_features || ! wpUploaderInit.required_features.hasOwnProperty( 'send_binary_string' ) ) ) {
+
+			wpUploaderInit.required_features = wpUploaderInit.required_features || {};
+			wpUploaderInit.required_features.send_binary_string = true;
+		}
+
 		uploader = new plupload.Uploader(wpUploaderInit);
 
 		$('#image_resize').bind('change', function() {
@@ -436,33 +440,25 @@
 				$('#drag-drop-area').unbind('.wp-uploader');
 			}
 
-			if ( up.runtime == 'html4' )
+			if ( up.runtime === 'html4' ) {
 				$('.upload-flash-bypass').hide();
+			}
 		});
 
 		uploader.init();
 
-		uploader.bind('FilesAdded', function(up, files) {
-			var hundredmb = 100 * 1024 * 1024, max = parseInt(up.settings.max_file_size, 10);
-
-			$('#media-upload-error').html('');
+		uploader.bind('FilesAdded', function( up, files ) {
+			$('#media-upload-error').empty();
 			uploadStart();
 
-			plupload.each(files, function(file){
-				if ( max > hundredmb && file.size > hundredmb && up.runtime != 'html5' )
-					uploadSizeError( up, file, true );
-				else
-					fileQueued(file);
+			plupload.each( files, function( file ) {
+				fileQueued( file );
 			});
 
 			up.refresh();
 			up.start();
 		});
 
-		uploader.bind('BeforeUpload', function(up, file) {
-			// something
-		});
-
 		uploader.bind('UploadFile', function(up, file) {
 			fileUploading(up, file);
 		});
@@ -480,12 +476,13 @@
 			uploadSuccess(file, response.response);
 		});
 
-		uploader.bind('UploadComplete', function(up, files) {
+		uploader.bind('UploadComplete', function() {
 			uploadComplete();
 		});
+	};
+
+	if ( typeof(wpUploaderInit) == 'object' ) {
+		uploader_init();
 	}
 
-	if ( typeof(wpUploaderInit) == 'object' )
-		uploader_init();
-
 });