From 91a8720fff08147b3f8519ad97d3adcc53054c6a Mon Sep 17 00:00:00 2001 From: azaozz Date: Fri, 29 Jul 2011 08:59:35 +0000 Subject: [PATCH] Pluploader take 1, props jacobwg, see #18206 git-svn-id: http://svn.automattic.com/wordpress/trunk@18482 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-admin/css/wp-admin.dev.css | 4 + wp-admin/includes/file.php | 23 +- wp-admin/includes/media.php | 234 ++--- wp-admin/media-upload.php | 4 +- wp-includes/js/plupload/changelog.txt | 152 +++ .../{swfupload => plupload}/handlers.dev.js | 226 ++-- wp-includes/js/plupload/handlers.js | 22 + wp-includes/js/plupload/license.txt | 339 ++++++ wp-includes/js/plupload/plupload.flash.js | 1 + wp-includes/js/plupload/plupload.flash.swf | Bin 0 -> 18538 bytes wp-includes/js/plupload/plupload.full.js | 2 + wp-includes/js/plupload/plupload.html4.js | 1 + wp-includes/js/plupload/plupload.html5.js | 1 + wp-includes/js/plupload/plupload.js | 2 + .../js/plupload/plupload.silverlight.js | 1 + .../js/plupload/plupload.silverlight.xap | Bin 0 -> 43337 bytes wp-includes/js/swfupload/handlers.js | 1 - wp-includes/js/swfupload/license.txt | 32 - .../js/swfupload/plugins/swfupload.cookies.js | 53 - .../js/swfupload/plugins/swfupload.queue.js | 98 -- .../js/swfupload/plugins/swfupload.speed.js | 342 ------ .../swfupload/plugins/swfupload.swfobject.js | 105 -- wp-includes/js/swfupload/swfupload-all.js | 8 - wp-includes/js/swfupload/swfupload.js | 980 ------------------ wp-includes/js/swfupload/swfupload.swf | Bin 12787 -> 0 bytes wp-includes/js/thickbox/thickbox.css | 2 +- wp-includes/js/thickbox/thickbox.js | 2 +- wp-includes/script-loader.php | 34 +- 28 files changed, 794 insertions(+), 1875 deletions(-) create mode 100644 wp-includes/js/plupload/changelog.txt rename wp-includes/js/{swfupload => plupload}/handlers.dev.js (76%) create mode 100644 wp-includes/js/plupload/handlers.js create mode 100644 wp-includes/js/plupload/license.txt create mode 100644 wp-includes/js/plupload/plupload.flash.js create mode 100644 wp-includes/js/plupload/plupload.flash.swf create mode 100644 wp-includes/js/plupload/plupload.full.js create mode 100644 wp-includes/js/plupload/plupload.html4.js create mode 100644 wp-includes/js/plupload/plupload.html5.js create mode 100644 wp-includes/js/plupload/plupload.js create mode 100644 wp-includes/js/plupload/plupload.silverlight.js create mode 100644 wp-includes/js/plupload/plupload.silverlight.xap delete mode 100644 wp-includes/js/swfupload/handlers.js delete mode 100644 wp-includes/js/swfupload/license.txt delete mode 100644 wp-includes/js/swfupload/plugins/swfupload.cookies.js delete mode 100644 wp-includes/js/swfupload/plugins/swfupload.queue.js delete mode 100644 wp-includes/js/swfupload/plugins/swfupload.speed.js delete mode 100644 wp-includes/js/swfupload/plugins/swfupload.swfobject.js delete mode 100644 wp-includes/js/swfupload/swfupload-all.js delete mode 100644 wp-includes/js/swfupload/swfupload.js delete mode 100644 wp-includes/js/swfupload/swfupload.swf diff --git a/wp-admin/css/wp-admin.dev.css b/wp-admin/css/wp-admin.dev.css index 774a939d23..cdcc5426ca 100644 --- a/wp-admin/css/wp-admin.dev.css +++ b/wp-admin/css/wp-admin.dev.css @@ -3306,6 +3306,10 @@ abbr.required { 14.1 - Media Uploader ------------------------------------------------------------------------------*/ +div.plupload input { + cursor: pointer; +} + .find-box { width: 500px; height: 300px; diff --git a/wp-admin/includes/file.php b/wp-admin/includes/file.php index c535a1b637..36fbf12961 100644 --- a/wp-admin/includes/file.php +++ b/wp-admin/includes/file.php @@ -323,11 +323,30 @@ function wp_handle_upload( &$file, $overrides = false, $time = null ) { $filename = wp_unique_filename( $uploads['path'], $file['name'], $unique_filename_callback ); + $tmp_file = wp_tempnam($filename); + // Move the file to the uploads dir - $new_file = $uploads['path'] . "/$filename"; - if ( false === @ move_uploaded_file( $file['tmp_name'], $new_file ) ) + if ( false === @ move_uploaded_file( $file['tmp_name'], $tmp_file ) ) return $upload_error_handler( $file, sprintf( __('The uploaded file could not be moved to %s.' ), $uploads['path'] ) ); + // If a resize was requested, perform the resize. + $do_resize = apply_filters( 'wp_upload_resize', isset( $_REQUEST['image_resize'] ) ); + $size = @getimagesize( $tmp_file ); + if ( $do_resize && $size ) { + $old_temp = $tmp_file; + $tmp_file = image_resize( $tmp_file, (int) get_option('large_size_w'), (int) get_option('large_size_h'), 0, 'resized'); + if ( ! is_wp_error($tmp_file) ) { + unlink($old_temp); + } else { + $tmp_file = $old_temp; + } + } + + // Copy the temporary file into its destination + $new_file = $uploads['path'] . "/$filename"; + copy( $tmp_file, $new_file ); + unlink($tmp_file); + // Set correct file permissions $stat = stat( dirname( $new_file )); $perms = $stat['mode'] & 0000666; diff --git a/wp-admin/includes/media.php b/wp-admin/includes/media.php index 5e2c0e6b65..072438c2c8 100644 --- a/wp-admin/includes/media.php +++ b/wp-admin/includes/media.php @@ -1437,14 +1437,8 @@ function media_upload_header() { function media_upload_form( $errors = null ) { global $type, $tab, $pagenow; - $flash_action_url = admin_url('async-upload.php'); + $upload_action_url = admin_url('async-upload.php'); - // If Mac and mod_security, no Flash. :( - $flash = true; - if ( false !== stripos($_SERVER['HTTP_USER_AGENT'], 'mac') && apache_mod_loaded('mod_security') ) - $flash = false; - - $flash = apply_filters('flash_uploader', $flash); $post_id = isset($_REQUEST['post_id']) ? intval($_REQUEST['post_id']) : 0; $upload_size_unit = $max_upload_size = wp_max_upload_size(); @@ -1458,15 +1452,6 @@ function media_upload_form( $errors = null ) { $upload_size_unit = (int) $upload_size_unit; } ?> -
@@ -1487,9 +1472,7 @@ if ( is_multisite() && !is_upload_space_available() ) { do_action('pre-upload-ui'); -if ( $flash ) : - -// Set the post params, which SWFUpload will post back with the file, and pass +// Set the post params, which plupload will post back with the file, and pass // them through a filter. $post_params = array( "post_id" => $post_id, @@ -1500,80 +1483,105 @@ $post_params = array( "tab" => $tab, "short" => "1", ); -$post_params = apply_filters( 'swfupload_post_params', $post_params ); +$post_params = apply_filters( 'upload_post_params', $post_params ); // hook change! old name: 'swfupload_post_params' $p = array(); foreach ( $post_params as $param => $val ) $p[] = "\t\t'$param' : '$val'"; $post_params_str = implode( ", \n", $p ); -// #8545. wmode=transparent cannot be used with SWFUpload -if ( 'media-new.php' == $pagenow ) { - $upload_image_path = get_user_option( 'admin_color' ); - if ( 'classic' != $upload_image_path ) - $upload_image_path = 'fresh'; - $upload_image_path = admin_url( 'images/upload-' . $upload_image_path . '.png?ver=20101205' ); -} else { - $upload_image_path = includes_url( 'images/upload.png?ver=20100531' ); -} - ?> -
- +
+
-
- + +
-

- -

+

+
- -
> +

@@ -1582,12 +1590,12 @@ SWFUpload.onload = function() {

-

- -

- - +
+ +

+

+ '; - printf( __('You are using the Flash uploader. Problems? Try the Browser uploader instead.'), esc_url(add_query_arg('flash', 0)) ); - echo '

'; +function media_upload_max_image_resize() { +?> + + +'; - _e('You are using the Browser uploader.'); - if ( $flash ) { - // the user manually selected the browser uploader, so let them switch back to Flash - echo ' '; - printf( __('Try the Flash uploader instead.'), esc_url(add_query_arg('flash', 1)) ); - } - echo "

\n"; -} - -add_action('post-flash-upload-ui', 'media_upload_flash_bypass'); -add_action('post-html-upload-ui', 'media_upload_html_bypass'); - -/** - * {@internal Missing Short Description}} - * - * Make sure the GET parameter sticks when we submit a form. - * - * @since 2.6.0 - * - * @param unknown_type $url - * @return unknown - */ -function media_upload_bypass_url($url) { - if ( array_key_exists('flash', $_REQUEST) ) - $url = add_query_arg('flash', intval($_REQUEST['flash'])); - return $url; -} - -add_filter('media_upload_form_url', 'media_upload_bypass_url'); +add_action('post-upload-ui', 'media_upload_max_image_resize'); add_filter('async_upload_image', 'get_media_item', 10, 2); add_filter('async_upload_audio', 'get_media_item', 10, 2); diff --git a/wp-admin/media-upload.php b/wp-admin/media-upload.php index b33b0d51c4..b292a8dd2e 100644 --- a/wp-admin/media-upload.php +++ b/wp-admin/media-upload.php @@ -18,8 +18,8 @@ require_once('./admin.php'); if (!current_user_can('upload_files')) wp_die(__('You do not have permission to upload files.')); -wp_enqueue_script('swfupload-all'); -wp_enqueue_script('swfupload-handlers'); +wp_enqueue_script('plupload-full'); +wp_enqueue_script('plupload-handlers'); wp_enqueue_script('image-edit'); wp_enqueue_script('set-post-thumbnail' ); wp_enqueue_style('imgareaselect'); diff --git a/wp-includes/js/plupload/changelog.txt b/wp-includes/js/plupload/changelog.txt new file mode 100644 index 0000000000..b49828dbc6 --- /dev/null +++ b/wp-includes/js/plupload/changelog.txt @@ -0,0 +1,152 @@ +Version 1.4.3.2 (2011-04-13) + Fixed bug in HTML5 runtime, when was reduced by a factor of 100 after every upload. +Version 1.4.3.1 (2011-04-12) + Fixed build script, mistakenly populating jquery.plupload.queue directory from jquery.ui.plupload sources. + Fixed script urls in all examples, build script now will alter them automatically from dev to release when needed. + Fixed isEmptyObj undefined error in HTML4 runtime. + Fixed bug in UI Widget preventing UploadComplete from triggering. +Version 1.4.3 (2011-04-11) + Added Latvian language pack and updated French. + Fixed bug in Flash runtime when JPEG header was not investigated deep enough to reach SOFn marker in large images. + Fixed bug, when PNGs were cropped to width in Flash runtimes, rather then resized. + Fixed Flash to allow multiple uploading of the same file, with different settings. + Fixed Flash runtime to clean anonymous listeners properly. + Fixed HTML5 runtime to resolve to mimeType in case-insensitive way. + Fixed HTML5/Flash/SilverLight/Gears runtimes for inconsistency in naming of chunks feature, comparing to other runtimes. + Fixed HTML4/HTML5 runtimes for input[type=file] to outsize contaner effectively enough to fill the whole click area. + Fixed all runtimes to preserve position (relative/absolute) rule on containers that already have it. + Fixed SilverLight runtime to support large files (over 2GB). + Restructured the examples, src and build scripts to make it more clear that jQuery is optional. + Added support for *.* filter. + Added support for preserving ICC and IPTC headers when resizing JPEGs. + Added Image.onerror/onabort handlers to HTML5 in order to gracefully bypass faulty images. + Added ability to drop image size (by lowering quality), while preserving original dimension (HTML5/Flash/Gears). + Ported EXIF, ICC, IPTC preservation code to Flash runtime. +Version 1.4.2 (2011-02-20) + Added Brazilian Portuguese, German, Russian and Spanish translations. + Added support for file_data_name option to SilverLight runtime. + Added support for better quality image resizing to Flash runtime. + Added support for properly handling images with dimensions up to 8191x8191 pixels to Flash runtime. + Added 'updatelist' event to UI Widget, which will be triggered every time file list will get redrawn. + Added support for dynamically changing options to UI Widget. + Fixed HTML4 runtime bug, when UploadFile handler was attached twice. + Fixed HTML5 to use FileReader.readAsBinaryString() instead of File.getAsBinary() on newer WebKit browsers (like Chrome 9). + Fixed Flash runtime from sending duplicate Filename param, when using FileReference.upload(). + Updated S3 example to illustrate support for a proper progress indication. +Version 1.4.1 (2011-02-01) + Added an example on how to use Plupload with Amazon S3 written in PHP but can easily be ported to other languages. + Fixed bug where hidden input elements wasn't created when the multiple_queues option wasn't used. + Fixed bug where FF4 would produce an exception about missing BlobBuilder. +Version 1.4.0 (2011-01-26) + Added removeEvent and removeAllEvents methods and modified addEvent accordingly, in order to support dynamic unload. + Added unbindAll method. + Added UploadComplete event, which fires when internal iterator reaches the end of the queue. + Added public destroy method to plupload object, new event - Destroy, and corresponding handlers to all runtimes. + Added Czech, Italian, French, Dutch translations. + Added support for translatable error messages. + Added two new options: browse_button_hover and browse_button_active, in order to support browse_button interactivity. + Added support for 'multi_selection: false' to Silverlight runtime. + Added support for video/mp4, video/x-m4v and audio/mp4 MIME Types. + Added artificial sendAsBinary method to XMLHttpRequest.prototype for browsers that have support for BlobBuilder and typed arrays. + Added version tracking variable into plupload object and version comment to the header of every file. + Fixed measurements of browse_button element in order to size and position input[type=file] element to fit it fully. + Fixed Flash runtime behavior for multiple_select=false and other simpleUpload usage cases: basically new FileReference has to be created for every select dialog. + Fixed browser sniffer to match only Safari, for fakeSafariDragDrop (seems like Safari on Mac doesn't require it either). + Fixed so that ExternalInterface escapes strings properly, before passing them to JS. + Fixed eventual reinitialization of flash/silverlight runtimes, especially for cases when object wrapper needed to be programmatically hidden and then shown again. + Fixed so that Plupload will now ignore files with duplicate names when adding to the queue, in one set. Mainly introduced to work around Safari on Windows bug (https://bugs.webkit.org/show_bug.cgi?id=37957). + Fixed bug, when final UploadProgress was firing after FileUploaded for Flash simpleUpload. + Fixed bug where upload would fail if an error was produced inside the FilesAdded event. + Fixed bug in Flash runtime when it used a wrong size when resizing, but not chunking. + Fixed bug in Silverlight runtime that would keep sending 0 byte packages when a picture was chunked before resized. + Disabled blur filter (is going to be replaced with some bilinear resampling in next release). + Completely revised UI Widget, to be more jQuery UI oriented. Optionally depends on UI Button, UI Sortable, UI ProgressBar. +Version 1.3.0 (2010-11-24) + Added new jQuery UI widget that supports jQuery UI themes. + Added new multiple_queues option that enables you to upload multiple times in the queue widgets. + Added support for crossdomain loading of the XAP and SWF files and crossdomain upload. + Added new multiple_queues option that enables you to upload multiple times in the queue widgets. + Added support for crossdomain loading of the XAP and SWF files and crossdomain upload. + Added preinit/init options to to ease up the binding of custom events to queueWidget and the Uploader class. + Added drag/drop support for Safari until they fix the broken drag/drop support on Windows. + Added events example file that show how to bind all events and display event specific data. + Added support for retaining Exif data on images when they where resized using the HTML5 runtime. + Fixed logic issue with the upload.php example file. Chunking wasn't working correctly. + Fixed issue with HTML4 not handling the form encoding correctly on older IE versions. Patch contributed by jinxdone. + Fixed so the HTML4 runtime only submits the defined multipart_params arguments. + Fixes issue where it wasn't possible to dynamically override url or mutlipart_params for the HTML4 runtime. + Fixed so all runtimes pass the name, chunk and chunks parameters as multipart parameters instead of querystring parameters. + Fixed so files are read using the newer FileReader class if it's available if not it tries the older getAsXXX on Gecko. + Fixed bug where IE 9 beta 1 wouldn't render Silverlight properly. + Fixed bug where Flash would do extra empty requests if images below a specific size would be uploaded. + Fixed bug where Google Gears would resize and re-encode images even if the it wasn't changed in scale. + Fixed bug where the HTML5 runtime wouldn't free memory after each request on Gecko. +Version 1.2.4 (2010-09-08) + Added new BeforeUpload event to make it easier to override settings before a file is uploaded. + Added new automatic usage of FileReference in Flash if it's possible. Contributed by Marcel Jackwerth. + Added new chunking support for Chrome 5 and Firefox 3.6 using the HTML 5 runtime. + Added new multipart upload support for WebKit using the HTML 5 runtime and the FormData object. + Added new image scaling method for the Flash runtime contributed by rcoopman. + Added new alert error message if the user selected invalid files. + Added new automatic unique name generation to the example.php script. Contributed by Brandon Kelly. + Changed so the default upload method is multipart and the default chunk size is 0. + Fixed progress issue with the HTML5 runtime running on Gecko. + Fixed so longer extensions can be used such as .tar.gz. + Fixed so the file extension is retained when using the unique_names option. +Version 1.2.3 (2010-05-27) + Added new drag/drop support for HTML5 running on Chrome beta. + Added new multipart state for the features object. It's now possible to detect multipart support. + Added new getFeatures function to all runtime. Basic concept by Javier Martinez Fernandez. + Fixed bug where runtimes where initialized even if they didn't match the required_features setting. +Version 1.2.2.1 (2010-05-04) + Added new headers option, enables you to set custom headers for the upload requests. + Fixed bug where the file extension checking was case sensitive. +Version 1.2.2 (2010-04-26) + Added new file_data_name option that enables you to set the multipart file data param. Patch contributed by Alex Ganov. + Added new FILE_SIZE_ERROR type that will be triggered if the user selected a file that is to large or zero bytes. + Added new FILE_EXTENSION_ERROR type that will be triggered if you add a file with an invalid file extension. + Added new required_features setting, enables you to specify a list of required features that the runtime must have. + Fixed so the plupload.buildUrl function uses the UTF compatible encodeURIComponent method instead of escape. + Fixed so that all file types can be selected if you don't specify a filter setting. + Fixed so more valid HTTP status codes are accepted as valid responses. + Fixed so all runtimes fills the features object with available features. + Fixed some issues with the HTML4 runtime if there wasn't any existing forms on the page. + Fixed some conflict issues with HTML4 runtime and forms with the input names of action or target. + Fixed bug where some Gecko versions would produce exceptions when checking the HTTP status of a XHR. +Version 1.2.1 (2010-03-22) + Fixed bug with incorrect aspect ratio in Flash image scaling. + Fixed bug where chunked uploads could get scrambled in the Flash runtime. Patch contributed by Grady Werner. + Fixed bug where a beta version of Chrome wouldn't handle drag/drop correctly because of missing drag effect. + Fixed so the HTML 4 runtime displays N/A for file sizes and the progress is based on uploaded files instead of bytes. + Fixed so chunking can be disabled properly in Flash but that will affect the progress bar. + Fixed so queue widget displays the drag/drop message if file queue is emptied. + Fixed small files are uploaded as one single chunk and not forced into 4 chunks in the Flash runtime. +Version 1.2 (2010-03-09) + Added new rename file support for jQuery queue widget, click on a file name to rename it if it's enabled. + Added official ChunkUploaded event, it similar to FileUploaded but executed for each chunk. + Added bytes per second support to total queue progress. + Added better error handling to core API using the new Error event. + Added better error handling to jQuery queue widget. + Fixed so chunking uploads is dispatch from JS not from inside Flash/Silverlight. +Version 1.1.1 (2010-02-25) + Added new setup setting to queue widget. Makes it easier to bind custom events to uploader instance. + Fixed so it's possible to disable chunking compleatly. It's now disabled by default. + Fixed bug where multipart mode was enabled all the time in the Flash runtime. + Fixed bug where chunked uploading in Silverlight would fail. + Fixed bug where the delete button was visible while uploading. + Fixed bug where unique_names setting wasn't working when the core API was used. + Fixed bug where the queue widget wouldn't display the currently uploaded file if the unique_names was enabled. +Version 1.1 (2010-02-24) + Added new multipart and multipart_params support. + Added new container option, enables you to specify where flash/silverlight objects would be added. + Added chunking support to BrowserPlus runtime, contributed by Steve Spencer. + Added FileUploaded event that fires when a file is uploaded. + Added more easily understandable buttons to queue widget. + Added html4 runtime, contributed by Ryan Demmer. + Fixed issues with i18n support and added a Swedish and Danish language pack. + Fixed bug where the Flash runtime could do empty requests if the image was scaled down. + Fixed bug where uploading small images in Silverlight would produce an exception. + Fixed so the runtime list can include whitespace or missing runtimes. Patch contributed by Řyvind Sean Kinsey. + Fixed so to large files are ignored and never dispatched to the FilesAdded event. +Version 1.0 (2010-02-03) + First official release of Plupload. diff --git a/wp-includes/js/swfupload/handlers.dev.js b/wp-includes/js/plupload/handlers.dev.js similarity index 76% rename from wp-includes/js/swfupload/handlers.dev.js rename to wp-includes/js/plupload/handlers.dev.js index e72ed69b11..e02362dc67 100644 --- a/wp-includes/js/swfupload/handlers.dev.js +++ b/wp-includes/js/plupload/handlers.dev.js @@ -40,7 +40,54 @@ function uploadProgress(fileObj, bytesDone, bytesTotal) { jQuery('.percent', item).html( Math.ceil(bytesDone / bytesTotal * 100) + '%' ); if ( bytesDone == bytesTotal ) - jQuery('.bar', item).html('' + swfuploadL10n.crunching + ''); + jQuery('.bar', item).html('' + pluploadL10n.crunching + ''); +} + +function updateMediaForm() { + var one = jQuery('form.type-form #media-items').children(), items = jQuery('#media-items').children(); + + // Just one file, no need for collapsible part + if ( one.length == 1 ) { + jQuery('.slidetoggle', one).slideDown(500).siblings().addClass('hidden').filter('.toggle').toggle(); + } + + // Only show Save buttons when there is at least one file. + if ( items.not('.media-blank').length > 0 ) + jQuery('.savebutton').show(); + else + jQuery('.savebutton').hide(); + + // Only show Gallery button when there are at least two files. + if ( items.length > 1 ) + jQuery('.insert-gallery').show(); + else + jQuery('.insert-gallery').hide(); +} + +function uploadSuccess(fileObj, serverData) { + // if async-upload returned an error message, place it in the media item div and return + if ( serverData.match('media-upload-error') ) { + jQuery('#media-item-' + fileObj.id).html(serverData); + return; + } + + prepareMediaItem(fileObj, serverData); + updateMediaForm(); + + // Increment the counter. + if ( jQuery('#media-item-' + fileObj.id).hasClass('child-of-' + post_id) ) + jQuery('#attachments-count').text(1 * jQuery('#attachments-count').text() + 1); +} + +function setResize(r) { + jQuery('#image_resize').prop('checked', r); + if (r) { + uploader.settings.resize = { width: resize_width, height: resize_height, quality: 100 }; + uploader.settings.multipart_params.image_resize = true; + } else { + uploader.settings.resize = {}; + uploader.settings.multipart_params.image_resize = null; + } } function prepareMediaItem(fileObj, serverData) { @@ -144,13 +191,42 @@ function prepareMediaItemInit(fileObj) { jQuery('#media-item-' + fileObj.id + '.startopen').removeClass('startopen').slideToggle(500).siblings('.toggle').toggle(); } +function cancelUpload() { + uploader.stop(); + jQuery.each(uploader.files, function(i,file) { + if (file.status == plupload.STOPPED) + jQuery('#media-item-' + file.id).remove(); + }); +} + + +// wp-specific error handlers + +// generic message +function wpQueueError(message) { + jQuery('#media-upload-error').show().text(message); +} + +// file-specific message +function wpFileError(fileObj, message) { + var item = jQuery('#media-item-' + fileObj.id); + var filename = jQuery('.filename', item).text(); + + item.html('
' + + '' + pluploadL10n.dismiss + '' + + '' + pluploadL10n.error_uploading.replace('%s', filename) + '
' + + message + + '
'); + item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})}); +} + function itemAjaxError(id, html) { var item = jQuery('#media-item-' + id); var filename = jQuery('.filename', item).text(); item.html('
' - + '' + swfuploadL10n.dismiss + '' - + '' + swfuploadL10n.error_uploading.replace('%s', filename) + '
' + + '' + pluploadL10n.dismiss + '' + + '' + pluploadL10n.error_uploading.replace('%s', filename) + '
' + html + '
'); item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})}); @@ -182,7 +258,7 @@ function deleteSuccess(data, textStatus) { jQuery('.filename:empty', item).remove(); jQuery('.filename .title', item).css('font-weight','bold'); - jQuery('.filename', item).append(' ' + swfuploadL10n.deleted + ' ').siblings('a.toggle').hide(); + jQuery('.filename', item).append(' ' + pluploadL10n.deleted + ' ').siblings('a.toggle').hide(); jQuery('.filename', item).append( jQuery('a.undo', item).removeClass('hidden') ); jQuery('.menu_order_input', item).hide(); @@ -193,47 +269,12 @@ function deleteError(X, textStatus, errorThrown) { // TODO } -function updateMediaForm() { - var one = jQuery('form.type-form #media-items').children(), items = jQuery('#media-items').children(); - - // Just one file, no need for collapsible part - if ( one.length == 1 ) { - jQuery('.slidetoggle', one).slideDown(500).siblings().addClass('hidden').filter('.toggle').toggle(); - } - - // Only show Save buttons when there is at least one file. - if ( items.not('.media-blank').length > 0 ) - jQuery('.savebutton').show(); - else - jQuery('.savebutton').hide(); - - // Only show Gallery button when there are at least two files. - if ( items.length > 1 ) - jQuery('.insert-gallery').show(); - else - jQuery('.insert-gallery').hide(); -} - -function uploadSuccess(fileObj, serverData) { - // if async-upload returned an error message, place it in the media item div and return - if ( serverData.match('media-upload-error') ) { - jQuery('#media-item-' + fileObj.id).html(serverData); - return; - } - - prepareMediaItem(fileObj, serverData); - updateMediaForm(); - - // Increment the counter. - if ( jQuery('#media-item-' + fileObj.id).hasClass('child-of-' + post_id) ) - jQuery('#attachments-count').text(1 * jQuery('#attachments-count').text() + 1); -} function uploadComplete(fileObj) { // If no more uploads queued, enable the submit button if ( swfu.getStats().files_queued == 0 ) { - jQuery('#cancel-upload').prop('disabled', true); - jQuery('#insert-gallery').prop('disabled', false); + jQuery('#cancel-upload').attr('disabled', 'disabled'); + jQuery('#insert-gallery').attr('disabled', ''); } } @@ -251,56 +292,33 @@ function wpFileError(fileObj, message) { var filename = jQuery('.filename', item).text(); item.html('
' - + '' + swfuploadL10n.dismiss + '' - + '' + swfuploadL10n.error_uploading.replace('%s', filename) + '
' + + '' + pluploadL10n.dismiss + '' + + '' + pluploadL10n.error_uploading.replace('%s', filename) + '
' + message + '
'); item.find('a.dismiss').click(function(){jQuery(this).parents('.media-item').slideUp(200, function(){jQuery(this).remove();})}); } -function fileQueueError(fileObj, error_code, message) { - // Handle this error separately because we don't want to create a FileProgress element for it. - if ( error_code == SWFUpload.QUEUE_ERROR.QUEUE_LIMIT_EXCEEDED ) { - wpQueueError(swfuploadL10n.queue_limit_exceeded); - } - else if ( error_code == SWFUpload.QUEUE_ERROR.FILE_EXCEEDS_SIZE_LIMIT ) { - fileQueued(fileObj); - wpFileError(fileObj, swfuploadL10n.file_exceeds_size_limit); - } - else if ( error_code == SWFUpload.QUEUE_ERROR.ZERO_BYTE_FILE ) { - fileQueued(fileObj); - wpFileError(fileObj, swfuploadL10n.zero_byte_file); - } - else if ( error_code == SWFUpload.QUEUE_ERROR.INVALID_FILETYPE ) { - fileQueued(fileObj); - wpFileError(fileObj, swfuploadL10n.invalid_filetype); - } - else { - wpQueueError(swfuploadL10n.default_error); - } -} - -function fileDialogComplete(num_files_queued) { - try { - if (num_files_queued > 0) { - this.startUpload(); - } - } catch (ex) { - this.debug(ex); - } -} - function switchUploader(s) { - var f = document.getElementById(swfu.customSettings.swfupload_element_id), h = document.getElementById(swfu.customSettings.degraded_element_id); + var p = document.getElementById('flash-upload-ui'), h = document.getElementById('html-upload-ui'); if ( s ) { - f.style.display = 'block'; + p.style.display = 'block'; h.style.display = 'none'; } else { - f.style.display = 'none'; + p.style.display = 'none'; h.style.display = 'block'; } } +function dndHelper(s) { + var d = document.getElementById('dnd-helper'); + if ( s ) { + d.style.display = 'block'; + } else { + d.style.display = 'none'; + } +} + function swfuploadPreLoad() { if ( !uploaderMode ) { switchUploader(1); @@ -317,37 +335,49 @@ function swfuploadLoadFailed() { function uploadError(fileObj, errorCode, message) { switch (errorCode) { - case SWFUpload.UPLOAD_ERROR.MISSING_UPLOAD_URL: - wpFileError(fileObj, swfuploadL10n.missing_upload_url); + case plupload.FAILED: + wpFileError(fileObj, pluploadL10n.upload_failed); break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_LIMIT_EXCEEDED: - wpFileError(fileObj, swfuploadL10n.upload_limit_exceeded); + case plupload.FILE_EXTENSION_ERROR: + wpFileError(fileObj, pluploadL10n.invalid_filetype); break; - case SWFUpload.UPLOAD_ERROR.HTTP_ERROR: - wpQueueError(swfuploadL10n.http_error); + case plupload.FILE_SIZE_ERROR: + wpFileError(fileObj, pluploadL10n.upload_limit_exceeded); break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_FAILED: - wpQueueError(swfuploadL10n.upload_failed); + case plupload.IMAGE_FORMAT_ERROR: + wpFileError(fileObj, pluploadL10n.not_an_image); break; - case SWFUpload.UPLOAD_ERROR.IO_ERROR: - wpQueueError(swfuploadL10n.io_error); + case plupload.IMAGE_MEMORY_ERROR: + wpFileError(fileObj, pluploadL10n.image_memory_exceeded); break; - case SWFUpload.UPLOAD_ERROR.SECURITY_ERROR: - wpQueueError(swfuploadL10n.security_error); + case plupload.IMAGE_DIMENSIONS_ERROR: + wpFileError(fileObj, pluploadL10n.image_dimensions_exceeded); break; - case SWFUpload.UPLOAD_ERROR.UPLOAD_STOPPED: - case SWFUpload.UPLOAD_ERROR.FILE_CANCELLED: + case plupload.GENERIC_ERROR: + wpQueueError(pluploadL10n.upload_failed); + break; + case plupload.IO_ERROR: + wpQueueError(pluploadL10n.io_error); + break; + case plupload.HTTP_ERROR: + wpQueueError(pluploadL10n.http_error); + break; + case plupload.INIT_ERROR: + switchUploader(0); + jQuery('.upload-html-bypass').hide(); + break; + case plupload.SECURITY_ERROR: + wpQueueError(pluploadL10n.security_error); + break; +/* case plupload.UPLOAD_ERROR.UPLOAD_STOPPED: + case plupload.UPLOAD_ERROR.FILE_CANCELLED: jQuery('#media-item-' + fileObj.id).remove(); - break; + break;*/ default: - wpFileError(fileObj, swfuploadL10n.default_error); + wpFileError(fileObj, pluploadL10n.default_error); } } -function cancelUpload() { - swfu.cancelQueue(); -} - // remember the last used image size, alignment and url jQuery(document).ready(function($){ $('input[type="radio"]', '#media-items').live('click', function(){ diff --git a/wp-includes/js/plupload/handlers.js b/wp-includes/js/plupload/handlers.js new file mode 100644 index 0000000000..b953fea88f --- /dev/null +++ b/wp-includes/js/plupload/handlers.js @@ -0,0 +1,22 @@ +var topWin=window.dialogArguments||opener||parent||top;function fileDialogStart(){jQuery("#media-upload-error").empty()} +function fileQueued(a){jQuery(".media-blank").remove();jQuery("form.type-form #media-items").children().length==1&&jQuery(".hidden","#media-items").length>0&&(jQuery(".describe-toggle-on").show(),jQuery(".describe-toggle-off").hide(),jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden"));jQuery("#media-items").append('
'+ +a.name+"
");jQuery(".progress","#media-item-"+a.id).show();jQuery("#insert-gallery").attr("disabled","disabled");jQuery("#cancel-upload").attr("disabled","")}function uploadStart(){try{typeof topWin.tb_remove!="undefined"&&topWin.jQuery("#TB_overlay").unbind("click",topWin.tb_remove)}catch(a){}return!0} +function uploadProgress(a,b,c){var d=jQuery("#media-items").width()-2,a=jQuery("#media-item-"+a.id);jQuery(".bar",a).width(d*b/c);jQuery(".percent",a).html(Math.ceil(b/c*100)+"%");b==c&&jQuery(".bar",a).html(''+pluploadL10n.crunching+"")} +function updateMediaForm(){var a=jQuery("form.type-form #media-items").children(),b=jQuery("#media-items").children();a.length==1&&jQuery(".slidetoggle",a).slideDown(500).siblings().addClass("hidden").filter(".toggle").toggle();b.not(".media-blank").length>0?jQuery(".savebutton").show():jQuery(".savebutton").hide();b.length>1?jQuery(".insert-gallery").show():jQuery(".insert-gallery").hide()} +function uploadSuccess(a,b){b.match("media-upload-error")?jQuery("#media-item-"+a.id).html(b):(prepareMediaItem(a,b),updateMediaForm(),jQuery("#media-item-"+a.id).hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(1*jQuery("#attachments-count").text()+1))} +function setResize(a){jQuery("#image_resize").prop("checked",a);a?(uploader.settings.resize={width:resize_width,height:resize_height,quality:100},uploader.settings.multipart_params.image_resize=!0):(uploader.settings.resize={},uploader.settings.multipart_params.image_resize=null)} +function prepareMediaItem(a,b){var c=typeof shortform=="undefined"?1:2,d=jQuery("#media-item-"+a.id);jQuery(".bar",d).remove();jQuery(".progress",d).hide();try{typeof topWin.tb_remove!="undefined"&&topWin.jQuery("#TB_overlay").click(topWin.tb_remove)}catch(e){}isNaN(b)||!b?(d.append(b),prepareMediaItemInit(a)):d.load("async-upload.php",{attachment_id:b,fetch:c},function(){prepareMediaItemInit(a);updateMediaForm()})} +function prepareMediaItemInit(a){var b=jQuery("#media-item-"+a.id);jQuery(".thumbnail",b).clone().attr("class","pinkynail toggle").prependTo(b);jQuery(".filename.original",b).replaceWith(jQuery(".filename.new",b));jQuery("a.toggle",b).click(function(){jQuery(this).siblings(".slidetoggle").slideToggle(350,function(){var a=jQuery(window).height(),b=jQuery(this).offset().top,e=jQuery(this).height(),f;a&&b&&e&&(f=b+e,f>a&&e+48a&&window.scrollTo(0,b-36))});jQuery(this).siblings(".toggle").andSelf().toggle(); +jQuery(this).siblings("a.toggle").focus();return!1});jQuery("a.delete",b).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",success:deleteSuccess,error:deleteError,id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"trash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/,"")}});return!1});jQuery("a.undo",b).click(function(){jQuery.ajax({url:"admin-ajax.php",type:"post",id:a.id,data:{id:this.id.replace(/[^0-9]/g,""),action:"untrash-post",_ajax_nonce:this.href.replace(/^.*wpnonce=/, +"")},success:function(){var b=jQuery("#media-item-"+a.id);(type=jQuery("#type-of-"+a.id).val())&&jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-0+1);b.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-0+1);jQuery(".filename .trashnotice",b).remove();jQuery(".filename .title",b).css("font-weight","normal");jQuery("a.undo",b).addClass("hidden");jQuery("a.describe-toggle-on, .menu_order_input",b).show();b.css({backgroundColor:"#ceb"}).animate({backgroundColor:"#fff"}, +{queue:!1,duration:500,complete:function(){jQuery(this).css({backgroundColor:""})}}).removeClass("undo")}});return!1});jQuery("#media-item-"+a.id+".startopen").removeClass("startopen").slideToggle(500).siblings(".toggle").toggle()}function cancelUpload(){uploader.stop();jQuery.each(uploader.files,function(a,b){b.status==plupload.STOPPED&&jQuery("#media-item-"+b.id).remove()})}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)} +function wpFileError(a,b){var c=jQuery("#media-item-"+a.id),d=jQuery(".filename",c).text();c.html('
'+pluploadL10n.dismiss+""+pluploadL10n.error_uploading.replace("%s",d)+"
"+b+"
");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})} +function itemAjaxError(a,b){var c=jQuery("#media-item-"+a),d=jQuery(".filename",c).text();c.html('
'+pluploadL10n.dismiss+""+pluploadL10n.error_uploading.replace("%s",d)+"
"+b+"
");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})} +function deleteSuccess(a){if(a=="-1")return itemAjaxError(this.id,"You do not have permission. Has your session expired?");if(a=="0")return itemAjaxError(this.id,"Could not be deleted. Has it been deleted already?");var a=this.id,b=jQuery("#media-item-"+a);(type=jQuery("#type-of-"+a).val())&&jQuery("#"+type+"-counter").text(jQuery("#"+type+"-counter").text()-1);b.hasClass("child-of-"+post_id)&&jQuery("#attachments-count").text(jQuery("#attachments-count").text()-1);jQuery("form.type-form #media-items").children().length== +1&&jQuery(".hidden","#media-items").length>0&&(jQuery(".toggle").toggle(),jQuery(".slidetoggle").slideUp(200).siblings().removeClass("hidden"));jQuery(".toggle",b).toggle();jQuery(".slidetoggle",b).slideUp(200).siblings().removeClass("hidden");b.css({backgroundColor:"#faa"}).animate({backgroundColor:"#f4f4f4"},{queue:!1,duration:500}).addClass("undo");jQuery(".filename:empty",b).remove();jQuery(".filename .title",b).css("font-weight","bold");jQuery(".filename",b).append(' '+ +pluploadL10n.deleted+" ").siblings("a.toggle").hide();jQuery(".filename",b).append(jQuery("a.undo",b).removeClass("hidden"));jQuery(".menu_order_input",b).hide()}function deleteError(){}function uploadComplete(){swfu.getStats().files_queued==0&&(jQuery("#cancel-upload").attr("disabled","disabled"),jQuery("#insert-gallery").attr("disabled",""))}function wpQueueError(a){jQuery("#media-upload-error").show().text(a)} +function wpFileError(a,b){var c=jQuery("#media-item-"+a.id),d=jQuery(".filename",c).text();c.html('
'+pluploadL10n.dismiss+""+pluploadL10n.error_uploading.replace("%s",d)+"
"+b+"
");c.find("a.dismiss").click(function(){jQuery(this).parents(".media-item").slideUp(200,function(){jQuery(this).remove()})})} +function switchUploader(a){var b=document.getElementById("flash-upload-ui"),c=document.getElementById("html-upload-ui");a?(b.style.display="block",c.style.display="none"):(b.style.display="none",c.style.display="block")}function dndHelper(a){document.getElementById("dnd-helper").style.display=a?"block":"none"}function swfuploadPreLoad(){uploaderMode?switchUploader(0):switchUploader(1)}function swfuploadLoadFailed(){switchUploader(0);jQuery(".upload-html-bypass").hide()} +function uploadError(a,b){switch(b){case plupload.FAILED:wpFileError(a,pluploadL10n.upload_failed);break;case plupload.FILE_EXTENSION_ERROR:wpFileError(a,pluploadL10n.invalid_filetype);break;case plupload.FILE_SIZE_ERROR:wpFileError(a,pluploadL10n.upload_limit_exceeded);break;case plupload.IMAGE_FORMAT_ERROR:wpFileError(a,pluploadL10n.not_an_image);break;case plupload.IMAGE_MEMORY_ERROR:wpFileError(a,pluploadL10n.image_memory_exceeded);break;case plupload.IMAGE_DIMENSIONS_ERROR:wpFileError(a,pluploadL10n.image_dimensions_exceeded); +break;case plupload.GENERIC_ERROR:wpQueueError(pluploadL10n.upload_failed);break;case plupload.IO_ERROR:wpQueueError(pluploadL10n.io_error);break;case plupload.HTTP_ERROR:wpQueueError(pluploadL10n.http_error);break;case plupload.INIT_ERROR:switchUploader(0);jQuery(".upload-html-bypass").hide();break;case plupload.SECURITY_ERROR:wpQueueError(pluploadL10n.security_error);break;default:wpFileError(a,pluploadL10n.default_error)}} +jQuery(document).ready(function(a){a('input[type="radio"]',"#media-items").live("click",function(){var b=a(this).closest("tr");a(b).hasClass("align")?setUserSetting("align",a(this).val()):a(b).hasClass("image-size")&&setUserSetting("imgsize",a(this).val())});a("button.button","#media-items").live("click",function(){var b=this.className||"";if((b=b.match(/url([^ '"]+)/))&&b[1])setUserSetting("urlbutton",b[1]),a(this).siblings(".urlfield").val(a(this).attr("title"))})}); diff --git a/wp-includes/js/plupload/license.txt b/wp-includes/js/plupload/license.txt new file mode 100644 index 0000000000..d511905c16 --- /dev/null +++ b/wp-includes/js/plupload/license.txt @@ -0,0 +1,339 @@ + GNU GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1989, 1991 Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +License is intended to guarantee your freedom to share and change free +software--to make sure the software is free for all its users. This +General Public License applies to most of the Free Software +Foundation's software and to any other program whose authors commit to +using it. (Some other Free Software Foundation software is covered by +the GNU Lesser General Public License instead.) You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if you +distribute copies of the software, or if you modify it. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must give the recipients all the rights that +you have. You must make sure that they, too, receive or can get the +source code. And you must show them these terms so they know their +rights. + + We protect your rights with two steps: (1) copyright the software, and +(2) offer you this license which gives you legal permission to copy, +distribute and/or modify the software. + + Also, for each author's protection and ours, we want to make certain +that everyone understands that there is no warranty for this free +software. If the software is modified by someone else and passed on, we +want its recipients to know that what they have is not the original, so +that any problems introduced by others will not reflect on the original +authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that redistributors of a free +program will individually obtain patent licenses, in effect making the +program proprietary. To prevent this, we have made it clear that any +patent must be licensed for everyone's free use or not licensed at all. + + The precise terms and conditions for copying, distribution and +modification follow. + + GNU GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License applies to any program or other work which contains +a notice placed by the copyright holder saying it may be distributed +under the terms of this General Public License. The "Program", below, +refers to any such program or work, and a "work based on the Program" +means either the Program or any derivative work under copyright law: +that is to say, a work containing the Program or a portion of it, +either verbatim or with modifications and/or translated into another +language. (Hereinafter, translation is included without limitation in +the term "modification".) Each licensee is addressed as "you". + +Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running the Program is not restricted, and the output from the Program +is covered only if its contents constitute a work based on the +Program (independent of having been made by running the Program). +Whether that is true depends on what the Program does. + + 1. You may copy and distribute verbatim copies of the Program's +source code as you receive it, in any medium, provided that you +conspicuously and appropriately publish on each copy an appropriate +copyright notice and disclaimer of warranty; keep intact all the +notices that refer to this License and to the absence of any warranty; +and give any other recipients of the Program a copy of this License +along with the Program. + +You may charge a fee for the physical act of transferring a copy, and +you may at your option offer warranty protection in exchange for a fee. + + 2. You may modify your copy or copies of the Program or any portion +of it, thus forming a work based on the Program, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) You must cause the modified files to carry prominent notices + stating that you changed the files and the date of any change. + + b) You must cause any work that you distribute or publish, that in + whole or in part contains or is derived from the Program or any + part thereof, to be licensed as a whole at no charge to all third + parties under the terms of this License. + + c) If the modified program normally reads commands interactively + when run, you must cause it, when started running for such + interactive use in the most ordinary way, to print or display an + announcement including an appropriate copyright notice and a + notice that there is no warranty (or else, saying that you provide + a warranty) and that users may redistribute the program under + these conditions, and telling the user how to view a copy of this + License. (Exception: if the Program itself is interactive but + does not normally print such an announcement, your work based on + the Program is not required to print an announcement.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Program, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Program, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Program. + +In addition, mere aggregation of another work not based on the Program +with the Program (or with a work based on the Program) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may copy and distribute the Program (or a work based on it, +under Section 2) in object code or executable form under the terms of +Sections 1 and 2 above provided that you also do one of the following: + + a) Accompany it with the complete corresponding machine-readable + source code, which must be distributed under the terms of Sections + 1 and 2 above on a medium customarily used for software interchange; or, + + b) Accompany it with a written offer, valid for at least three + years, to give any third party, for a charge no more than your + cost of physically performing source distribution, a complete + machine-readable copy of the corresponding source code, to be + distributed under the terms of Sections 1 and 2 above on a medium + customarily used for software interchange; or, + + c) Accompany it with the information you received as to the offer + to distribute corresponding source code. (This alternative is + allowed only for noncommercial distribution and only if you + received the program in object code or executable form with such + an offer, in accord with Subsection b above.) + +The source code for a work means the preferred form of the work for +making modifications to it. For an executable work, complete source +code means all the source code for all modules it contains, plus any +associated interface definition files, plus the scripts used to +control compilation and installation of the executable. However, as a +special exception, the source code distributed need not include +anything that is normally distributed (in either source or binary +form) with the major components (compiler, kernel, and so on) of the +operating system on which the executable runs, unless that component +itself accompanies the executable. + +If distribution of executable or object code is made by offering +access to copy from a designated place, then offering equivalent +access to copy the source code from the same place counts as +distribution of the source code, even though third parties are not +compelled to copy the source along with the object code. + + 4. You may not copy, modify, sublicense, or distribute the Program +except as expressly provided under this License. Any attempt +otherwise to copy, modify, sublicense or distribute the Program is +void, and will automatically terminate your rights under this License. +However, parties who have received copies, or rights, from you under +this License will not have their licenses terminated so long as such +parties remain in full compliance. + + 5. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Program or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Program (or any work based on the +Program), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Program or works based on it. + + 6. Each time you redistribute the Program (or any work based on the +Program), the recipient automatically receives a license from the +original licensor to copy, distribute or modify the Program subject to +these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 7. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Program at all. For example, if a patent +license would not permit royalty-free redistribution of the Program by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Program. + +If any portion of this section is held invalid or unenforceable under +any particular circumstance, the balance of the section is intended to +apply and the section as a whole is intended to apply in other +circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system, which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 8. If the distribution and/or use of the Program is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Program under this License +may add an explicit geographical distribution limitation excluding +those countries, so that distribution is permitted only in or among +countries not thus excluded. In such case, this License incorporates +the limitation as if written in the body of this License. + + 9. The Free Software Foundation may publish revised and/or new versions +of the General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + +Each version is given a distinguishing version number. If the Program +specifies a version number of this License which applies to it and "any +later version", you have the option of following the terms and conditions +either of that version or of any later version published by the Free +Software Foundation. If the Program does not specify a version number of +this License, you may choose any version ever published by the Free Software +Foundation. + + 10. If you wish to incorporate parts of the Program into other free +programs whose distribution conditions are different, write to the author +to ask for permission. For software which is copyrighted by the Free +Software Foundation, write to the Free Software Foundation; we sometimes +make exceptions for this. Our decision will be guided by the two goals +of preserving the free status of all derivatives of our free software and +of promoting the sharing and reuse of software generally. + + NO WARRANTY + + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, +REPAIR OR CORRECTION. + + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE +POSSIBILITY OF SUCH DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License along + with this program; if not, write to the Free Software Foundation, Inc., + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +Also add information on how to contact you by electronic and paper mail. + +If the program is interactive, make it output a short notice like this +when it starts in an interactive mode: + + Gnomovision version 69, Copyright (C) year name of author + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, the commands you use may +be called something other than `show w' and `show c'; they could even be +mouse-clicks or menu items--whatever suits your program. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the program, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the program + `Gnomovision' (which makes passes at compilers) written by James Hacker. + + , 1 April 1989 + Ty Coon, President of Vice + +This General Public License does not permit incorporating your program into +proprietary programs. If your program is a subroutine library, you may +consider it more useful to permit linking proprietary applications with the +library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. diff --git a/wp-includes/js/plupload/plupload.flash.js b/wp-includes/js/plupload/plupload.flash.js new file mode 100644 index 0000000000..9e496800bd --- /dev/null +++ b/wp-includes/js/plupload/plupload.flash.js @@ -0,0 +1 @@ +(function(f,b,d,e){var a={},g={};function c(){var h;try{h=navigator.plugins["Shockwave Flash"];h=h.description}catch(j){try{h=new ActiveXObject("ShockwaveFlash.ShockwaveFlash").GetVariable("$version")}catch(i){h="0.0"}}h=h.match(/\d+/g);return parseFloat(h[0]+"."+h[1])}d.flash={trigger:function(j,h,i){setTimeout(function(){var m=a[j],l,k;if(m){m.trigger("Flash:"+h,i)}},0)}};d.runtimes.Flash=d.addRuntime("flash",{getFeatures:function(){return{jpgresize:true,pngresize:true,maxWidth:8091,maxHeight:8091,chunks:true,progress:true,multipart:true}},init:function(j,o){var n,i,k,p=0,h=b.body;if(c()<10){o({success:false});return}g[j.id]=false;a[j.id]=j;n=b.getElementById(j.settings.browse_button);i=b.createElement("div");i.id=j.id+"_flash_container";d.extend(i.style,{position:"absolute",top:"0px",background:j.settings.shim_bgcolor||"transparent",zIndex:99999,width:"100%",height:"100%"});i.className="plupload flash";if(j.settings.container){h=b.getElementById(j.settings.container);if(d.getStyle(h,"position")==="static"){h.style.position="relative"}}h.appendChild(i);k="id="+escape(j.id);i.innerHTML='';function m(){return b.getElementById(j.id+"_flash")}function l(){if(p++>5000){o({success:false});return}if(!g[j.id]){setTimeout(l,1)}}l();n=i=null;j.bind("Flash:Init",function(){var r={},q;m().setFileFilters(j.settings.filters,j.settings.multi_selection);if(g[j.id]){return}g[j.id]=true;j.bind("UploadFile",function(s,u){var v=s.settings,t=j.settings.resize||{};m().uploadFile(r[u.id],v.url,{name:u.target_name||u.name,mime:d.mimeTypes[u.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:v.chunk_size,width:t.width,height:t.height,quality:t.quality,multipart:v.multipart,multipart_params:v.multipart_params||{},file_data_name:v.file_data_name,format:/\.(jpg|jpeg)$/i.test(u.name)?"jpg":"png",headers:v.headers,urlstream_upload:v.urlstream_upload})});j.bind("Flash:UploadProcess",function(t,s){var u=t.getFile(r[s.id]);if(u.status!=d.FAILED){u.loaded=s.loaded;u.size=s.size;t.trigger("UploadProgress",u)}});j.bind("Flash:UploadChunkComplete",function(s,u){var v,t=s.getFile(r[u.id]);v={chunk:u.chunk,chunks:u.chunks,response:u.text};s.trigger("ChunkUploaded",t,v);if(t.status!=d.FAILED){m().uploadNextChunk()}if(u.chunk==u.chunks-1){t.status=d.DONE;s.trigger("FileUploaded",t,{response:u.text})}});j.bind("Flash:SelectFiles",function(s,v){var u,t,w=[],x;for(t=0;tD*VH)e{?hq_ngJq$PP-mzs5igrQ zZ8{jW24{z(-JSl#9Dgj<(H`^@yRx;V@klgy${PRbP-(csACDYUHcUu;677kO(45NF zXdqPV?Fg+cKD@YcxWAy*NrLf!eAvjkL*G$Vm*P5 z_IM=JJ*TJZl&Oy5z*l|kbJ zHq5g**3lE|i27Tbmly@jWT=^;5eBo7YBuMf$u4ax5e$>-mHYozboEiWpsY}ovw z^33&Dyr>Kf$!`qF&kV^@p+1w^3Q2kga(z*WN~`Ok&yc^f+gkE&rDXhk;a_milIee& z`(kv_<~u+7cJA#t9bW{JU(Y@IiCdm**FK*6Xz}x>{_^;D=Qi!=eyj1;)ZFtbTRuom z?4KKOtvKrb-S5qPVfEv`DJpwxu4DDn57u1s>=Xa2zENvBY|mVs`#W>BK%JI)>Gip> zH3MCbChwm+=ju@S#@-L-9#z(K%X_E2I`^N7q^yp%x0>q{-R)g%4zY2kg;vvUH`P#< zwWK@R)*Xt+Ma@y`tLg5Jc8f}GeJI$|-JV!CjLL_~rgg4upVr=qU1Bh@)lx;YTdVyE zzs`v$)5>)vLb&9#7@^YJ56QO$o8NgX@^)mdmN@Sm=I-KJdxf7*`ioQ z^U<6184{apy|_5EHX(L{tvl2iT`fki1+fddg;dUXNQiETYz?<}8=OU24Q2TgK^VE5 zQAoZUduK87THuqZg1C7Sn`)f4o61e=W`U#`08tMvlkI_|K z+0iiy9nTsizexz5HwvduMs1Eqd%A;APkUE5YHnWB-kON0Skv~lNW#+miynUmY?azf zlY$fr^-R~IHKR*YJm~KTWi_{j5`t?jc;!U9hR^*{=xCk1Wbyo*(J}xdHwU^M^V;dC zEftznND@2o602C5u+^+>4=;hPL)~LXcOPz0aD)2QXgG{b5La+g;ua)ym&TQv6}4V@ z{*rnXZPddG*7|_v_ITZrn)z8Ix3}7-_qO90b^C*f1~4%LfxL8o)^GMtTE9`$dHW%o zFp6S-j9j&QZ2(tuXf#4;Zfg(A^V@MIvEMs{#dI_$$Y$b9ksWCcWcb>Ki)P`fgp^iT zUstqC*JxFgPC_E&YBl($5m{-35XTkq$4Bk6Jbn9(!r9kAoQCf9wl)Y!%bPn|X@s&g zclx_e!9H~wi@iWU#5QOmU5sanS?yg=ak^%Lm)RD|>0CRlt=k`qvoS0vR zs+Lv>l(U^~jxK+PPHS63ca_-J2huti9H#l>+7U-gpPjkg5lHz<$(P(>7B$V{+}Af{}ZG5 ze|i-E{zfsM(B5`}zsHAl@>j3T&4z~SVS%&?+UFEIj#|2-6*dFGy;}YH#$j)3wpxgPJdTJpo0untS1o~ z#t1D}8H4MNRW_lH@9|?h(a>>q>HK*!RyHoPBH#$Z4XkdohO4U@1cg;>0cbjIlpuv( zS|06g)k~F2mXupWsrvW^9aZo1rcs!?fvQitjs8g|W8vvjF% zsZHQQN4v&ze}e2opwK5z4)nnk{)D+x6{$3RurVsYzheT(Y} zJ)@{`$wFUcb#v8%#>K}qrw44Vu575Z>u!O#{;i8DS2QoLt!`Lgqtb$!+W89_6s%h! zci23q4R7`^N<<2_>ZO&-n-|tDs%(e9AFb8T~)lhcTD*6P)q z8lzB4?O{K;u+gqKVvcDY(KZE&?l1|5)md3xT~poM;A^gLsGMJ81WWOCxGOp>=~#%B z*wG=nraIc`Z|}0{&IUOVHf%RIa^$a0FlIeGtEyaFRkP4sU$d~Ls=-!ID^l6f z-qvMl@GWUxSmSLl`Kjs@E%oF@ErKbtEXHzGRW7Wt#xtn2>9+<#ZS7s~$~!D{g;Qw6 z*0Oab;klW0$4w1&QDD$v3-lxs(Jtzr)e{db@OQOV^>oLh-4^(fRgw0NR@HpMK3irn5q`mRvl+s5oLU!Z6pek#(*Jpyi*-8R_ifuT2Gl^F(UNX%VN*l*G z^T7o2#~yzu*hANhVr`V{>&+8|R7Uh#0ynp-vK4M26Qt zVySgZekp#^yD<>$>1u^5qCk?63X9T!S@F_Ro@H}X>5hIWdHM%sR9QxjPbq2U=;Czm zV<)9)X}cN=IlFiSrI3Cio0uisjP#mhO+30dY;1{RCpt$CIJ?-E@$%whM?QT=VJH%% z`gWEvSDUU7(!V7wkfjx8j6ex?cZ9Pt!o%+gSQ~KibpsqUOsxzzI>(4>7G~~HD=m;1 zzW@t!Je{*}d#JSv=Ql21W>!rrnLRs8_cyBacWg8KWO%)5t5}CnRtz>3j-MW=I&{){ z@o-?*DaF;Lgb-b4FKJ&J>R3??1qidG*H>ohCfyu|GNHR_NNnn+Su3>*s+XF?=9Ljd z*%IyHu&!`>BH9>(sjBkFLn?Jg$Zn^2ei^n07&{T1`qq#^08wI{BaE=3D&j|Mi`bwo z76-YE%rSpSz0sq#noUzqj<$CxXe(D}C})k%cu7<^J~<$!H5|s6qr!win1#_bx-c>c z;_Gh59E56Z!kev+;SO@qex$vKX58BT4hL?jXuPLeAXTpsKGedMkA*_5OZ~z+H`8GE81F%9$~!*|9uA+t1%Yx2~%`h|^!? zj}a@{o~~+$g-i8>Xta|Ck6MJw?T;sH^?neE`B>|*im@&jStpibA#jPFR(cJzkEmu- zIoj2hZgY&RD{%xwj>ax*lJ)?YhFaA|{lgQray4#>wopM;h*o#Ga9={L23Dz$MHALV zwC$;+F7eZ{bRqAiIK$*iz{j#w``2|)H@ml^9bRiZNN1v<2MdX9mln^OUS59ORH7XD|-SsXP)3>zQT95SjulG4yR(hGgc zNgvk|vpN3*nx7GI_J7}f|6PAlQTyZA_o)D_9A~5+=EQrAzERugQtWNxuT+*wt#+}?kxN9`)8PtWj#0G*p?0`mn4ek!T_s zk3?g|hfOP&BcZiwJk-`HK5ymjie#R(iHB9VhuxGt?m9UbB)Ms^J?ce*DS8Ctz4Y7u(qLLVU1BM z81eb??95wx&Pbl(`A#JaBrwmf^&WYYzoC#7DuvcUM`2#!n8E`J#}yuIlEzK~R02*I z+hmdoTgCpN+kcp?D)J+|Dewu(3O-b`Kl-0OfD9u^%C~oXZO@ z=7pPh;g#GZjd576=S7o>Zs0{X@}l4HqF!FKg%@QP{uPZy7!M>ZMFFJYB8*mq(TaXG z=6psCMK>ZFvz-;~WJM3?n73Kc-xTB@u{_3EvC{#sv#i`cea2yjA2D;5&B=~JHEZ_F zSxm7Vomb9|$vt)sD!KMTRxmfeqP!9{>sU4q#W7X0SiY@@l~?Ci98d%Fe6|4SgKKA5 z4`Fr1$CXc9ILpdxlTdOmn#F9k#mtv`Z29CR$Ir4(WlInAmQSgl#SZ*NRvA~Bta6je z%_>(_Zc$~M%I&I>r7BL9Wvk4kvK*D=s-}FE6{xIGHIG%*BGq!B%EqgfgH&s=YMr23 zC#tqXR7F!QZq+eawMNr$2dsIiM>X@cF%2Y?W>X@!NW~h$CRL9|};|SF; zQ+3Qz9Y?B;qg2Oi)p4}yI7W3Gt2*YWj=3tYP@VHsXO-%#R-HAf)2lk?tIh?gvsQK1 zsm|k6=R(!FNOdk&oj%pMM0FmoI+v=>dX<%_tU+asDqE(q?Ad3 zv6|yk*(#MatGRwPFQ~Fsm4(#&Hnp%_Ej(E*JVh<+PzyWN!YxHsBn< zxlBFq0%pC4F?IaKOg*SeJ?IjkHler~a4Fz2bh{jI1>j25uL4|+@-={K0oMVpXKMZp zOg;EFfTileYgE=wXQz&5~5Of9~dsS|Dm+y=NE^&QN5Gn9VF9cTxh0ndOx@$7^;1y%75Qg?&jDWmz65*)_!{sH z;9Jmq2lyM{?|^>-{tfsMupY-}1K>=+SzJBn9Ilp}ht<7+tCIkSUcyz+X0%-fxEyc= zS4*!#ehuJSz;%2a&fr#*wsF;R6Y}kVn^C?6`K^H40Jj5n0CocI0Ne?<3vf5!9>BeT z`vCWIl|O*|LBKL!@8TBg-LT5+ zX&Gqb&w$mlvUQzBH9sehv#1rjWVK>90J2s<)`}NE@FMCj0bU0DUbgl!i**ZND_|P~ zlN4y6!3vm|imO4>CtLev;9o(R@ZICA7|m)Okge7pn_B*wJkD&XAKLdOY_yX{yV%@>`IH&bK=Ct0+aK(M4Snp@tdI+w%uNBq&4T!!4e5Z`V&G$V@ ze^;z))p0r2O)U2z`sSp>7?;GCC>fI_3v)QqWh4qECQ8hdsFYYJu~K4_IMH!~7$uo; zZU;BV2)3MMIVeSg;GX{BI_PvxD)VfEPGSywS|-bA5fp=ji?4mMj8v*2fsjR~FvLpt zg;0EWY|eFQWNG-vrGr`G4hMI+h8s+b=Qvyr$s*fq3?RlH@x!ECNssr}M0s@l_4ndKJb?$ZxMPBddL z`~(M{m6es=RIX7B%`6|3v?WZ=tSl#y>BNi`8Pp<4Z%WQwBWjuPnJ$!qRZ&<0brK0S z9W()bb6!xem(00DF0@2y|{eUh)`X^`HfmWP?!ts)HkaVyl6-yH&X`*xp_BfL@ zNwP_9TFXhKo5{3~rci0BBxOq_Op*^}lHy^Ksgy}s)39=7Ov)~YsMDF0GXr`(j7fQi zGb#TFCKcFbTC=1B$IYU?M-r=}i1Tbpj;7=oN{*#u4juKmG_4Avt0de!Dpk?ZtEQxe z5-;tV`IIc6q?Su#>$r44oh%g{$E9%#nKXV8lMY(UB+bX9LzghAOqH$K(hPn)v0OSq zI?QUZx}+nOdScf=Nh6nLF5}Xy6jCjTMMKL`$;5O6Gn76 zR*|I5l(bOdm!yCcq;+j2nh=vJ!%Ujj#-!Sa-8x2EB)3b_$&SZ3?&%(J1Y-CJoJsU~r93N%6iNItB#FzB^jv{t z^_AEa(y!#JFx9rt(tT$z>h;*k&?-1#oBE3rp zaJNYB5$U}my-%d~i}V4JJ}Au!LcSKR|jfLKB7+{s<{nnEi$2$ZU)>-SjatGyXkepD;7$|6uG>W|sNC z7~&MO!hc}wGiEmNA;ykipA+R7oXwWz@-I*>P~Yu25O={BDY0NL!nd)?$#PgZCc`gwCd*sCXP!%W z%J+B1frU3^wM|ZzCznZ)Dal%?403bKk!iOD4nrVBsHF_($d`3lA~BJK0oRS1kDtPKFOgm-Rdu_JEmQ zI|F$s)qICa$)<^Q6D9uyV$iaIhtK5xv$&{i%F*J#C|$VN=;XVEODIk9Z{i}`%$qKylJ8QEiH&c$ zjE65reVPzgRIeCay%L48;p$bRTdy8by@rRc9bLW7sFFTrC&T5w>$xZ&lMK&Dm!AO5 zVd=`8WccuO`RHVLI+c^2C%Nwk2F)m>$Qe*%cxo>E*JQDOYO*Q2E?Yt#o;qsbr;b>7 z^fYnk)P|m(rwm?Z3!JaXsqhWF#dgkm+d$J1o~OB|tS?;ad4{LLH*!y7D*PMXDEp2e z2C5b0hm9hC-XPx%@?PGug?nD&o|pMN%Dr1TZ{&Jc%f4Oz@IUNoHKXgnqq_dl=z3x* ze0-YBw(kf@gY1R>FoNBNuE&n*n)(l2J*!gTMo)7pysS~tnK&@M;|jLCWS~4Gr8-$i z>R>HOcpI-UWBEnR6uya9sOg$Hyq#BA(ls^w39GQCYnJfMyuy~QS;L>R3Oj9~TLdCp zOR0Z|wcH9Zb&O|FZ>sY&iu^ceP?I3sZ5*0rx5MwYNm;7N=6IbY%Y~GzczsqUr)*-U z9AZ;CO(8~tvkJ%hoK7XgmPtB6GCYAulHtj@@M%I!lX^N$F8E>A5bID{n{1xfd9q|M zd`QWYL8U*S_z$rt7P%KEKfD9oJ4`SSbv9nfrcz~dPlz2#V|AExittWeaNp37>u}=z zv;3y&T$14_DAUY@Ir0372GMnCx&srHrCSk`;i~77JW;xnOG=J(7l*ekIb|GyY&rt( zLa}%AUi}UR0lYr|ep;&zv{iLoF!Dm|*x`?)hM3 z{XVg6J~Fn=U%2;v&U;6+Kfvqm;WEvFFi+B=$W#Iet;lslL$u(N#iGy}X_6BmEtX77 z_CZ7is;HtUxenQfZ0cyTse%mNak9Lx`~<0Fu%!IZPL}k1%0nF60p3!JaJY*U*tW)rV_QK}#XRX3L}`j%N(>l6~RhB6E;F#Us>VybO|Jko5T%B>TLJSgs9|hRln(%dD4tv}y;* zCX@M>xT75@&);}>7q4@$)dMNdT~uCOl4F&msVUFhqiWxa+UmiS=kHX~q`QI&?bCm7 z&pX(sn1J_b&aN!UK}0^a|H_hF%KKKA&|Nb%pa5YeKH+Ehm6*)IGBcZNT5jjzS;E$} zJj;cbAP{84TAmw$Ap6(y{0Ib@z?R(tf$0>hX0y4Y=>@*<1uji(QUu4zlZkYWNa_^R zdS#&LJl5w!1kz*`hH*0PuNMWsDoU#BtmgIBK@_pm!c|WOO#vlf@>f|*76m=~MbGnC zigJuOfpfDtCo|@7!^EFzID{IkBM_QmHd}VeWIP6iQMJ)IE?)ltcO&GBNmggWbaEHTlrkpoc*b!pj&`GJJcb{QW za$Xu5qJ_k0FY&sUFq%He4yEPyJp2dl|09h^2v#Xw_RL>Z>JMX#b#S(_0SF7gw~<)DmdjiY2hf8KIJaYZ=`Cj>k@!1dm_c$y#3Jx%HB?>NVc-I@fpi8+@DhO~fBS zy~Z`=j*?vXs`6y(c_Iw4^7cKyunvd2Xu7h=>*hjpas9%dCQ-;zk>2T z++RugtK2`2^0&C3&J2e1S5y85_tRN!c^exHxo-(QnoQJPHt1v z`+VX1=opeJCPANkgl(dsgmr>7I+T{Dk7rDs-KgKaS6w%ExsBM?Qqze-DX1J^bU5^iBbt!itO}+ zk}2Px$rY0hRTQ)3dcK#vfMcPE)Fe`zj>)u{Cks2VkY%Rn&Me)2IQ1-h ze+I;j23JxX%A=B#{YNH+r|<#y&(}*Ia{tjdpbl|BGxrFMzR#hB7y={ijyTCc_5qg& zi8*Yabh&haE2ffoN#k^Y#;Kpy5)wB#e7v(o$TG|K5y!4`?R!4|g7fK;KF0BMNuS_! zx}-nhbULJ0aXKAzUaeeu3#Zd1y@u22lHS1SbV+Y>Da$Sma>*%9aCVLaUAS^2kBZCY zSH&9#T0Z6Y4gZyUKf?qEGM7r+iF(<=S$#8Xc5xG@#HiWMsN+c%2%ej*mU?=3(PjL$6Q|U9JwU-%et4y$hw*^cueDUGz?Fl#SLc2^U4N;hKc+8;;pDea-8> z#>Mh=`eLD7Q{mC=xT1$prRkaop{9viGJF)~pA1*zoT6W0o||Ovx14E1`7S~js9ppv zj!gY#svG57jM3{^nS-#Z?E7uFZX~n1Ue78_QeeEEX3SH#4v^mq`MtyPlf9rptb#FJ!@ZvSWhyv&JrBq_MkL9M z8==>I|I{aUpFX+$^GSv)dp!?Pe(W$i&u%V3~yIT?G)_b=K?0!gldwKvV$ zI;xZC2=By*o<^+JBXWA73^G|bF}iC56U8PikR1Ppje^JUIgC`U^d*c`uJkF46m~DH zmx+_zGTWpdV5PY9BdipchJ=+`FH1Hqogqv1Txo+$K14a95G5au{F$;5hRj^S5OdgI z1EzDt9OcRKRUb3Y_bl=;TlER^{DVb4VXHo6o`12(r)<5CPIqig=NDCawWO$Vz-j)nE z3!-h_3uWGe+fJjw3#l)PJ4$lxI-84R&kbznmASdYQhW>nm@Yt5pe`Uq{K>FCe6cLd zcQV{2E_dKg@?9d+GR-q#nNGu+Y=q*P#6xDdX+g_Hpgqa^6=S(Mz%+?!-9?N=f-XcR zEs=Dqom#0@7eQMx84h|k$x@_=cuf$zuwj}u%ha%0X5>UZFVABhMsIiiOJy2NlBzhj zShAZglUpvA!)LLDm&xKyp;`fY%&7JKYi4~VsYWqbtPRVdKjFBZihD|b?<1#6>L<6d z>D0PYCA|f=R36=6Rk}|}HF%iSMvb28$cLQd+sJS}l`CY4Ii)LQi94msWJ%7EE|(?c zRLQF<7R#b31I6pd3{nVih1_zL9KMKeYq?UCF6O$<2Aamyjgdgq-`D30@f6zni;IgV z`Oao$lzmsr(yFWEl>aI+2J;ogVx1to(98syu94F+Rd^R(Bg9>bAq1x=Qxmh>g+O67*d!!x3)@dj24LZ;+WTlkhQeL&ERxtm~9? z5jzNQn}sixz1=L=D?E7F^G6Kl>k&S`Cn>iyqb%4F!n<1X-6-=_7^tPy`x_ZUx}1_U z;t`Er&2ois*Rr~6nUoQ2-^0PaVn47mc(1%gmbYS6^QCPvy_ektU3W^g2#Kt_M?B9K z>TX`X{yeJ~Z?sd$!NX$jb;4lSgqOm?H}LRwxux(Ny+8IkSpw=#Mc4phqMv)Z(&*Te z1EcRCID}|QN6TBiH)F!943udYg&q|(dc0jR--zPX)^x;Qv7nMRj^!4aVxns?#X{*S zOfg@=R#L=PGC8GNWy$Q6u8}FmzD}kX8!-kmjT!M8w;aDKOmsDzhz)xjW3r-O4GS%b ztW+e+-RCiFiMCjquVraAtw^&iv#ie==!5Prix0ZsZCX?P;oIasO7b|O*#-Si4fbo& z*bjz=aED8aI9E&s`fFU%$#o}7k@jS`J>~1BlfKxjD5hFrxc6vMVj!tmyd4acRQPt; zvq#Q{HSIMIiPq3<$$SC z!Ej6HJ3%g7VmrkpW?x|*ABkXI#}8kzOJ!~{H`0UntFmTmWRYm<%90%YiEk&rGFL2F zGTcQgf=rXV{fw2Gcb4Slfrc=Uv(RfXw{&ixC>h z0nw7>DcF#mSC-J@_0$w>$juY_>zn?(x>svMnjWUa)6<-sONoI@4FWjwoI=d zlhjF!={{skS671P137hnu8S^GVvq{M?cU&`RoXy3#X5OD+>7Snku-F+R;t-1^Si3p z?#4bZ-WW7fL8Zh(iIo!DgbhJE?J}A|Vvs&`2|60#Bn7iXUl%TSYf5tjl&!rqlb{nF z15OJvTOaxbY}64`*@z=TzKv_8ED3y?+D6oZdr;j^gE&SOV3l5=^zmKe;H?KNn&Qlp zbY?`R&z7jfgj|T5tpP{CBnSegUT+^`n18^u8La_Rz*6wm(2%S9=UD}^0%o0o z8Se(;x}RgbKk@eLPdw$n6>rZz;_cb5cstP7^&_^|R!It|L8rz7<5~_pUCas!?OE z7Np#$ao19$vQd*=)%1~pQBzzqk(!K}$u$M3)u@?iZ)rB8rqZ(oefpzW=#Xg^i*sBL z;^*KGL-@V(hoN_W7%Ka5=(Hb)27VkmaA*i^r0*T{VOzi zB$qxH3fQmkd?fF2Lm{GG(&?8n}?Q7xp17e$Rv^87PJR!8*ttX{n`)OKu0lP0YP7p z1p`|)4A6&|GaU9DL~Ry_1@cD)56{PPFU<_jcyUqst_mpnK^H<;U1h{pf$^{k;{myd z#!NJQ`LsG_%>t}SUR}VtnJkMnU@CY43#jH~c&h!rR~RR=cH-eM+OL@CGe_YtbPeB~ zNzb2U_oY1M`9v6n=3JGpdh z%=0(7^njS>d%3hI=J~r^Ixgn3%yW*S znPZ-F755N`&QlsKkdf%m7xWhh`U?g9x3Y%ixJc2k5*I5PR^k$6Dw-Pe{6?YCd&O8=#3)-84ePy4aJWg)u!`Fi4QqC@q8%Lb+@fg3G0&}vRvGi$ zrf4-W&+UpfKjzt?XtgoVPDNW3^W33mzL@7uMOzv3+@)wuG0)wK)*SQPqcj#mJtWAz zLXi8!V%)D_C;UyI9}wsVX_3Ddh=&B?w}S3rv1pGdjS6&0jgN}P--*V@h{-=kpdT0L zCkXwo{Zs#2_B^S0o>Dx!6wlK%!ZOwVG9v z?O72y1x@86KLnw8oCTClCE1j3yybD@!&Id%Ux}Q_lD>19CTcIm>}_G3RK8g(w8A*7kz-YLA(q`Hn3G^P)UiL!B+jcX+7I#ob^nJ{Cd^t`pd}a zEvKi$ww7}keXHm6mS2b8X7n;L-eR854xBybQT~{$JdWteB|U-Y$t69B=*eNXKZWqA zfXg8@M=?FAkb`&t`BLOcktd~FQveKpFspd|n4lBUV=$Y@T&b4)`{>CA`8nZTvUjOO zohdL+wLH#^rpNg?BJnfHFtnX0TX>H5HN)=;Bj&LNO73xH1fh>q&0(lMvlA0 zS2fOLi0tEWI63L2XGb($Oigx#mjM-BaAP9|jRze%;#u53IwGs-fVu-nURNJ|gb;A_ zg`bnRf-sQP7k-{fS*`-y`mTS`GlTvH5_I;_oB~dw^*<+5;d$BrJPHBJrhs*mZ@0_? zF5EblEiGTOY>0%chwfN`>+xSi%~=8KKFx&d@n6hw!%92!Z$t#J{5$jq^fOs1;Oq}5 z=xi2mA5G|zO&>{88?8H362O1ZLNdI8(Kj=a;WJo*?q}Rtz84@@_Gli|)9BLlq8zXU ztaUHSoE}$RlFb1tBj<$eKT)5E`)y)Vlwd=?2!CxwK~)2AV{NAjP+NM6^Zy}nsQA6;^K0Lc?C zUUhlm0c5;I@XfqhVE2FV@Hah$CB_YA{ z<1|l9BVtCxwPG_ermwknGeB@M6b`8HuL{U(VNS5O^a=*%!@qM2nlJpdj-0xFF%z+Uj7_k)h z>6;3oY0n_{{7Lb=rFh>SgVR@9Oq7tF&L2f!t0nTO(OCpero^6r$zl?I)<9qB zgu6>fcT@XHC*GM`3Ok~idJ}uZO9*-pm3Sc8Pwz&)VE0xqe5Qh4Uj5IvuC zXPXq$CN3o2Gg@lCAE^giucn38S@xG6VhGw_s@+M}h{jFqaosIR{iW`mB{_QAq@DC2 z?dqkSuFEDuYw{hHWcXr68ieCKS-c_;fzq2shf{L6Po@}d1ZHP$EwQ?Uc|KJ7p{z_( zKcaCsv4g|JdvwfzobtTM1B&M(MT`KKHpO_OnLhkLg_fnSa3Xy}@DkdYaT%)Yrt2VU zfP&XS!qfYwO&@oCmiQ8&cQZpHXj0_Y_AL-gM;nylBFx6x7f^JuQuLlv1c$iaKn;j5 zDyBVuxW}oXp?-{aFGV2GwY|<8a?`iSO1zU!Ou*G{!knSmciw_RRCE_rwKN)j3 z-n#n4TbG(%tbu?+X9Pim@hEcu3};iX?D>mQ*DEub$a4cUp2h{i?&ym}LZnTXR|(1!>_FZ zdE{Ga{B?R1SPWk;qfyo~!kLrhE#J~kJA;{w2h&sv_j(E!cq;s=?A^lX!EpmKnRHVs z%&>tylbK*(dxi}SnWgI)9b#7lnMEB--~YAtY3$bA1F_l#O$BALw}3Sj0Cfurw*zpb zNfT*QVxWIBPPJw!c$SXB^(@ure@#wp#_4dc=LI*3J#ZE?Whti5h1DS6C=qm!2ZRgI zlxoR6XMHaGJyJcwK>8Mw@$q>{P%Tq@ugff;mQJBOgSYhg-T>OtuV;kE0SMY%vk7gY55ce#5FUH~L{``#!f>A_%#{w ztC}UVQ_#t>ncnm)I7!b94N)_;6d!I+1_Q;DXO=;E9P2DgJm?+y#5 z<$y)5HbI-NRf1KXcD&{X!-?82w0v!b`wZsZ%-mZTMmR*9=e~!zpJG~pw$z}YVG1^$|0If)KYm>Ce+7xZ7R-zrQ9ih$CW@$%iM`^RQDy>?p(Y)Gx zZGl#+)oJxwgVv}m)0S&1w3XTkT2O1%LRwgB(;`~CcCr@N5?YV8T3e&7)z)dhbf3xG zXEFCi=02Ob&tdL!nfpBEKA*WSW$w$E`*P;Kg1N6`?yH#lYUaL%xvypJt<1fRxo=|b z?aX~MbKk<;w=(x_%zZm^-^<+hG57t<{Qz@6$lMPx_ivf|Vdj2>xpy)5)6D%0b3e=6 z&oTG&%)OhrUtsPRnY)j<`I-(~LinEQR^{xfrbz}z1) z_eaeA7v}z$xj$j57M{wG_ul|^<8tB;e?NX05N zMEVoBHBjKr5j!A9>;Y1r8EUMA`cx?J7f|Fxp*|=sABq!7G}LE>Di4DSza&kP_EJpf zPSXyD_?jD1X7o6$#s5tmZeahvtMO-a`11<9!_W<#OQ)8tjnfVkr%=_hG#3_hyhcj3 zXbx!Z0PP?w?V(VJ9l9H<9gL;+V4-c$-WaVIOJ9n^GZP9dgoY<+)1bCl+A+}DL>#a( zZ3fhFw011iscGfd0i>Ea+T3LokvmzkDXY{|m&GFY4HxgHqEQ()T2T53&nMpYLfAQM7|?WDa8 ziw}=r=Hc$uAx}|_B zd>rmJ7AHQq%M3@wRk$7Zun9BT#AM8KP~5V6G&Z2|L5!%l9wlEYzQ;9RxY;-iLqjap z8&Lf8q2T>SH7&|8hDKK~`Y22a;_YIoe)=P={>wIjYu*0>*Z#{=y*lH*O@((24Z)|| zKG2V3a2NT}*@edn_iZz)fE)3Mk}RJxs6TWK;NaMCC|o!qQ*Z>1)f^=_TX{H5vvC?` zp`2wj9tE>>B720CZw!t{9 zh2dHNTr(_V3}&oN3ofgGf)N@Fh%ZCZOBG@$tkPC(Mz7Yo&HJIudf=2Yhed4vLHhIB ze)uU)1eeHq5S-z-h3{m2LiO*D-rTL0s-ZlnXGYc}8t4%17$u5|9|^ z{|bcUrje4H{#(f({0YffnYm0Y0WAp9_p>0kmf6be^eqhfq<4T0hO3*-0d(hT7W?KQ z23?O_1hMA>DzdG}EtG4Pt=q&N`mIj<;QxSl7vE(ehrHk#c&jRTg9T@cJ#;Bk5du7F zgaF0si}nryg65=f%OekyxsE)7RE<2!lBKHeMaGi8m&g{qOtz@s_j`o)zCRG+j|~2G z4;}m-+Lt{+>&VW+y+2)_x!o0}nNw6p4mh|x%gnGRu%B3sfSL@$0)_8k-shMJ4ABB} zim3-I$uLY&_+F#Mf|e)r7VGF1Yrw8qdgDRitzQP?U=vm0v!6=A5ebxiDC{hq&h?U(s)LbT%W?Z&)ICyD8YA0~Ty88f*QQ?I^=Bi@=3JWL5@O$j=u z1haKB2t|J(0^I;aD1m6^YQ>zQDTgq~%RkS=oEjiSZD_Zi2{ot9vW_K`HWypg zOggkbMO#Xf?$ZAviG~T-L8VDMa^A)^LsLFIUkA+8uYUn99}9gt4uRv)pN!Hji|A$1 zdl|3gmVo`vocHK6>VRVl_5mz*b_rRXpwnd&XGJB3yPN@M0Bzd}KSc=VLNWVR@(+Sp zbePbvH9e)w7`+CJn%byV!I%O=d*L!Mg}Hg^h$%?Y70f(VG2Je{xgx%?J0)nI5>%%I zEmMNlDM8zmpnb}ST|Xu0ni9;J63m?v%$pL-pAsyX5-gk&9Ah{Hu8SBw{c4i9OZzod zNZ140vlnhl4}xBpUjt`0=+wP&ptI2HsDU#Xbk@CbptGSY8#u+Fv+s=qor7Km(3V9x z>dt@~u%ez#IqEJUYalC-O=m)MqzWB_0M1KqS^n0ZV2%&~3d=Ew%%UQQ9N1jM-UgdM zY!Q_sr%zX0TgnR1Ik(J)BNoU7Hm^(#xb$LvAX~65fZ;4ay^wOqGe*oYFeZ>^3?+-o z7QMoH1BHQnqeT@JYUwAFsCyTdf>VARO6%vm(fT=ZKl(Xxgnldru6%@kM&S(oxD4Es z5&9X0GxRgoz!i_s&nVpgjed%MLO-sN`YHc^s-Gz%^)q&)ek>#Pb7V$8aCmjyL`gSL z41FOa6;R-)q=av*d&uGos6}|NT`=1(2(q9Ze%APX*WcX1=f9k5=oQ}ijZ5ZL>5X+|z zz>xc1VB{=NMlWfCsg4t_gYX3C)16<7JK-uupC>u!0rz2+qSrnkuVylk^aljCQRMs9FDeiqcX+ zgSdPIE&X+ci|jM`Zz(dSK*EQIB0k2Qqz^WN=)rx7FwS+1%Zlk_n$-lId5)f0ggkws zlG0J~s9EHUnhYO>G)Uxqkr?uNreJD!abs@N^to-7_nKRtF80k3R@mIMy}aTvKNZUyY}L8`+wrHV%7FPI|QEOxov;KvY^bK&Ri+XOYBN`LL>x_Kmlj_)<-(9TBn#k@359Wgmn`Y3mWbOtas zY3?mMxnO-9eKmb2y$19f-%y-HpGfr^Ur;=NzKYmyd_OV$%|cmxjYGD`<8}@W$z?-B zbwfj^3=N^u2MfDRta?teoW!E>-j(SQ9xXTR-SWBY{amzcXY@~5OwP2>2VwMmnx?m8 z^5YjYy)O5O85(c!H}B2q3)%aH;B*V4e>Wp{xaBj10-te;Om1cAe_%sA$=}A(f4lXi z*h0DZU6DP0eB@*_-ag_fe+SEax9Bb6vy*XXw>bSza}2@|MP6me{>U4Mh?K~m5D2~_ zJ`=k`9ElS8CW43>-$Ki~6cN5h$@`T2nUW7E`A~GZQ*?3aV|o6e&|e?|eHWweG|Z(3 zsqi54eI#7gSM>r25uIqU+cfF6WcYP%ZCA}`m?)7}Df!h)vpw|KGuoU8t>OK=D;~r>T zF~#*aDf-J%&`e0n?EVMKh_C3SH^e`1qOm<19}pW+bnDajcD=9EM{AJM7XYIftCI}B z$@W=^d&NS}(id9ujO=1$`(5cw|NBJ$ETjL?2KIh&F&67s{eCtE&fMHO;RBfuk-j$U pmuq}vJ+(ZD-G)6Zc3x2){Ue(r|EJi~(*HYl`ll?V{{s*-k2^m~EJgqT literal 0 HcmV?d00001 diff --git a/wp-includes/js/plupload/plupload.full.js b/wp-includes/js/plupload/plupload.full.js new file mode 100644 index 0000000000..661b1c8ea8 --- /dev/null +++ b/wp-includes/js/plupload/plupload.full.js @@ -0,0 +1,2 @@ +/*1.4.3.2*/ +(function(){var f=0,l=[],n={},j={},a={"<":"lt",">":"gt","&":"amp",'"':"quot","'":"#39"},m=/[<>&\"\']/g,b,c=window.setTimeout,d={},e;function h(){this.returnValue=false}function k(){this.cancelBubble=true}(function(o){var p=o.split(/,/),q,s,r;for(q=0;q0){g.each(p,function(s,r){o[r]=s})}});return o},cleanName:function(o){var p,q;q=[/[\300-\306]/g,"A",/[\340-\346]/g,"a",/\307/g,"C",/\347/g,"c",/[\310-\313]/g,"E",/[\350-\353]/g,"e",/[\314-\317]/g,"I",/[\354-\357]/g,"i",/\321/g,"N",/\361/g,"n",/[\322-\330]/g,"O",/[\362-\370]/g,"o",/[\331-\334]/g,"U",/[\371-\374]/g,"u"];for(p=0;p0?"&":"?")+q}return p},each:function(r,s){var q,p,o;if(r){q=r.length;if(q===b){for(p in r){if(r.hasOwnProperty(p)){if(s(r[p],p)===false){return}}}}else{for(o=0;o1073741824){return Math.round(o/1073741824,1)+" GB"}if(o>1048576){return Math.round(o/1048576,1)+" MB"}if(o>1024){return Math.round(o/1024,1)+" KB"}return o+" b"},getPos:function(p,t){var u=0,s=0,w,v=document,q,r;p=p;t=t||v.body;function o(C){var A,B,z=0,D=0;if(C){B=C.getBoundingClientRect();A=v.compatMode==="CSS1Compat"?v.documentElement:v.body;z=B.left+A.scrollLeft;D=B.top+A.scrollTop}return{x:z,y:D}}if(p&&p.getBoundingClientRect&&(navigator.userAgent.indexOf("MSIE")>0&&v.documentMode!==8)){q=o(p);r=o(t);return{x:q.x-r.x,y:q.y-r.y}}w=p;while(w&&w!=t&&w.nodeType){u+=w.offsetLeft||0;s+=w.offsetTop||0;w=w.offsetParent}w=p.parentNode;while(w&&w!=t&&w.nodeType){u-=w.scrollLeft||0;s-=w.scrollTop||0;w=w.parentNode}return{x:u,y:s}},getSize:function(o){return{w:o.offsetWidth||o.clientWidth,h:o.offsetHeight||o.clientHeight}},parseSize:function(o){var p;if(typeof(o)=="string"){o=/^([0-9]+)([mgk]+)$/.exec(o.toLowerCase().replace(/[^0-9mkg]/g,""));p=o[2];o=+o[1];if(p=="g"){o*=1073741824}if(p=="m"){o*=1048576}if(p=="k"){o*=1024}}return o},xmlEncode:function(o){return o?(""+o).replace(m,function(p){return a[p]?"&"+a[p]+";":p}):o},toArray:function(q){var p,o=[];for(p=0;p=0;p--){if(r[p].key===q||r[p].orig===u){if(t.detachEvent){t.detachEvent("on"+o,r[p].func)}else{if(t.removeEventListener){t.removeEventListener(o,r[p].func,false)}}r[p].orig=null;r[p].func=null;r.splice(p,1);if(u!==b){break}}}if(!r.length){delete d[t[e]][o]}if(g.isEmptyObj(d[t[e]])){delete d[t[e]];try{delete t[e]}catch(s){t[e]=b}}},removeAllEvents:function(p){var o=arguments[1];if(p[e]===b||!p[e]){return}g.each(d[p[e]],function(r,q){g.removeEvent(p,q,o)})}};g.Uploader=function(r){var p={},u,t=[],q;u=new g.QueueProgress();r=g.extend({chunk_size:0,multipart:true,multi_selection:true,file_data_name:"file",filters:[]},r);function s(){var w,x=0,v;if(this.state==g.STARTED){for(v=0;v0?Math.ceil(u.uploaded/t.length*100):0}else{u.bytesPerSec=Math.ceil(u.loaded/((+new Date()-q||1)/1000));u.percent=u.size>0?Math.ceil(u.loaded/u.size*100):0}}g.extend(this,{state:g.STOPPED,runtime:"",features:{},files:t,settings:r,total:u,id:g.guid(),init:function(){var A=this,B,x,w,z=0,y;if(typeof(r.preinit)=="function"){r.preinit(A)}else{g.each(r.preinit,function(D,C){A.bind(C,D)})}r.page_url=r.page_url||document.location.pathname.replace(/\/[^\/]+$/g,"/");if(!/^(\w+:\/\/|\/)/.test(r.url)){r.url=r.page_url+r.url}r.chunk_size=g.parseSize(r.chunk_size);r.max_file_size=g.parseSize(r.max_file_size);A.bind("FilesAdded",function(C,F){var E,D,H=0,I,G=r.filters;if(G&&G.length){I=[];g.each(G,function(J){g.each(J.extensions.split(/,/),function(K){if(/^\s*\*\s*$/.test(K)){I.push("\\.*")}else{I.push("\\."+K.replace(new RegExp("["+("/^$.*+?|()[]{}\\".replace(/./g,"\\$&"))+"]","g"),"\\$&"))}})});I=new RegExp(I.join("|")+"$","i")}for(E=0;Er.max_file_size){C.trigger("Error",{code:g.FILE_SIZE_ERROR,message:g.translate("File size error."),file:D});continue}t.push(D);H++}if(H){c(function(){A.trigger("QueueChanged");A.refresh()},1)}else{return false}});if(r.unique_names){A.bind("UploadFile",function(C,D){var F=D.name.match(/\.([^.]+)$/),E="tmp";if(F){E=F[1]}D.target_name=D.id+"."+E})}A.bind("UploadProgress",function(C,D){D.percent=D.size>0?Math.ceil(D.loaded/D.size*100):100;o()});A.bind("StateChanged",function(C){if(C.state==g.STARTED){q=(+new Date())}else{if(C.state==g.STOPPED){for(B=C.files.length-1;B>=0;B--){if(C.files[B].status==g.UPLOADING){C.files[B].status=g.QUEUED;o()}}}}});A.bind("QueueChanged",o);A.bind("Error",function(C,D){if(D.file){D.file.status=g.FAILED;o();if(C.state==g.STARTED){c(function(){s.call(A)},1)}}});A.bind("FileUploaded",function(C,D){D.status=g.DONE;D.loaded=D.size;C.trigger("UploadProgress",D);c(function(){s.call(A)},1)});if(r.runtimes){x=[];y=r.runtimes.split(/\s?,\s?/);for(B=0;B=0;v--){if(t[v].id===w){return t[v]}}},removeFile:function(w){var v;for(v=t.length-1;v>=0;v--){if(t[v].id===w.id){return this.splice(v,1)[0]}}},splice:function(x,v){var w;w=t.splice(x===b?0:x,v===b?t.length:v);this.trigger("FilesRemoved",w);this.trigger("QueueChanged");return w},trigger:function(w){var y=p[w.toLowerCase()],x,v;if(y){v=Array.prototype.slice.call(arguments);v[0]=this;for(x=0;x=0;w--){if(y[w].func===x){y.splice(w,1);break}}}else{y=[]}if(!y.length){delete p[v]}}},unbindAll:function(){var v=this;g.each(p,function(x,w){v.unbind(w)})},destroy:function(){this.trigger("Destroy");this.unbindAll()}})};g.File=function(r,p,q){var o=this;o.id=r;o.name=p;o.size=q;o.loaded=0;o.percent=0;o.status=0};g.Runtime=function(){this.getFeatures=function(){};this.init=function(o,p){}};g.QueueProgress=function(){var o=this;o.size=0;o.loaded=0;o.uploaded=0;o.failed=0;o.queued=0;o.percent=0;o.bytesPerSec=0;o.reset=function(){o.size=o.loaded=o.uploaded=o.failed=o.queued=o.percent=o.bytesPerSec=0}};g.runtimes={};window.plupload=g})();(function(){if(window.google&&google.gears){return}var a=null;if(typeof GearsFactory!="undefined"){a=new GearsFactory()}else{try{a=new ActiveXObject("Gears.Factory");if(a.getBuildInfo().indexOf("ie_mobile")!=-1){a.privateSetGlobalObject(this)}}catch(b){if((typeof navigator.mimeTypes!="undefined")&&navigator.mimeTypes["application/x-googlegears"]){a=document.createElement("object");a.style.display="none";a.width=0;a.height=0;a.type="application/x-googlegears";document.documentElement.appendChild(a)}}}if(!a){return}if(!window.google){window.google={}}if(!google.gears){google.gears={factory:a}}})();(function(e,b,c,d){var f={};function a(h,k,m){var g,j,l,o;j=google.gears.factory.create("beta.canvas");try{j.decode(h);if(!k.width){k.width=j.width}if(!k.height){k.height=j.height}o=Math.min(width/j.width,height/j.height);if(o<1||(o===1&&m==="image/jpeg")){j.resize(Math.round(j.width*o),Math.round(j.height*o));if(k.quality){return j.encode(m,{quality:k.quality/100})}return j.encode(m)}}catch(n){}return h}c.runtimes.Gears=c.addRuntime("gears",{getFeatures:function(){return{dragdrop:true,jpgresize:true,pngresize:true,chunks:true,progress:true,multipart:true}},init:function(j,l){var k;if(!e.google||!google.gears){return l({success:false})}try{k=google.gears.factory.create("beta.desktop")}catch(h){return l({success:false})}function g(o){var n,m,p=[],q;for(m=0;m0;t=Math.ceil(p.size/q);if(!m){q=p.size;t=1}function n(){var z,B,w=s.settings.multipart,v=0,A={name:p.target_name||p.name},x=s.settings.url;function y(D){var C,I="----pluploadboundary"+c.guid(),F="--",H="\r\n",E,G;if(w){z.setRequestHeader("Content-Type","multipart/form-data; boundary="+I);C=google.gears.factory.create("beta.blobbuilder");c.each(c.extend(A,s.settings.multipart_params),function(K,J){C.append(F+I+H+'Content-Disposition: form-data; name="'+J+'"'+H+H);C.append(K+H)});G=c.mimeTypes[p.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream";C.append(F+I+H+'Content-Disposition: form-data; name="'+s.settings.file_data_name+'"; filename="'+p.name+'"'+H+"Content-Type: "+G+H+H);C.append(D);C.append(H+F+I+F+H);E=C.getAsBlob();v=E.length-D.length;D=E}z.send(D)}if(p.status==c.DONE||p.status==c.FAILED||s.state==c.STOPPED){return}if(m){A.chunk=u;A.chunks=t}B=Math.min(q,p.size-(u*q));if(!w){x=c.buildUrl(s.settings.url,A)}z=google.gears.factory.create("beta.httprequest");z.open("POST",x);if(!w){z.setRequestHeader("Content-Disposition",'attachment; filename="'+p.name+'"');z.setRequestHeader("Content-Type","application/octet-stream")}c.each(s.settings.headers,function(D,C){z.setRequestHeader(C,D)});z.upload.onprogress=function(C){p.loaded=r+C.loaded-v;s.trigger("UploadProgress",p)};z.onreadystatechange=function(){var C;if(z.readyState==4){if(z.status==200){C={chunk:u,chunks:t,response:z.responseText,status:z.status};s.trigger("ChunkUploaded",p,C);if(C.cancelled){p.status=c.FAILED;return}r+=B;if(++u>=t){p.status=c.DONE;s.trigger("FileUploaded",p,{response:z.responseText,status:z.status})}else{n()}}else{s.trigger("Error",{code:c.HTTP_ERROR,message:c.translate("HTTP Error."),file:p,chunk:u,chunks:t,status:z.status})}}};if(u3){l.pop()}while(l.length<4){l.push(0)}m=s.split(".");while(m.length>4){m.pop()}do{u=parseInt(m[q],10);n=parseInt(l[q],10);q++}while(q8?"":0.01});o.className="plupload silverlight";if(p.settings.container){k=b.getElementById(p.settings.container);if(d.getStyle(k,"position")==="static"){k.style.position="relative"}}k.appendChild(o);for(l=0;l';function j(){return b.getElementById(p.id+"_silverlight").content.Upload}p.bind("Silverlight:Init",function(){var r,s={};if(h[p.id]){return}h[p.id]=true;p.bind("Silverlight:StartSelectFiles",function(t){r=[]});p.bind("Silverlight:SelectFile",function(t,w,u,v){var x;x=d.guid();s[x]=w;s[w]=x;r.push(new d.File(x,u,v))});p.bind("Silverlight:SelectSuccessful",function(){if(r.length){p.trigger("FilesAdded",r)}});p.bind("Silverlight:UploadChunkError",function(t,w,u,x,v){p.trigger("Error",{code:d.IO_ERROR,message:"IO Error.",details:v,file:t.getFile(s[w])})});p.bind("Silverlight:UploadFileProgress",function(t,x,u,w){var v=t.getFile(s[x]);if(v.status!=d.FAILED){v.size=w;v.loaded=u;t.trigger("UploadProgress",v)}});p.bind("Refresh",function(t){var u,v,w;u=b.getElementById(t.settings.browse_button);if(u){v=d.getPos(u,b.getElementById(t.settings.container));w=d.getSize(u);d.extend(b.getElementById(t.id+"_silverlight_container").style,{top:v.y+"px",left:v.x+"px",width:w.w+"px",height:w.h+"px"})}});p.bind("Silverlight:UploadChunkSuccessful",function(t,w,u,z,y){var x,v=t.getFile(s[w]);x={chunk:u,chunks:z,response:y};t.trigger("ChunkUploaded",v,x);if(v.status!=d.FAILED){j().UploadNextChunk()}if(u==z-1){v.status=d.DONE;t.trigger("FileUploaded",v,{response:y})}});p.bind("Silverlight:UploadSuccessful",function(t,w,u){var v=t.getFile(s[w]);v.status=d.DONE;t.trigger("FileUploaded",v,{response:u})});p.bind("FilesRemoved",function(t,v){var u;for(u=0;u';function n(){return b.getElementById(k.id+"_flash")}function m(){if(q++>5000){p({success:false});return}if(!g[k.id]){setTimeout(m,1)}}m();o=j=null;k.bind("Flash:Init",function(){var s={},r;n().setFileFilters(k.settings.filters,k.settings.multi_selection);if(g[k.id]){return}g[k.id]=true;k.bind("UploadFile",function(t,v){var w=t.settings,u=k.settings.resize||{};n().uploadFile(s[v.id],w.url,{name:v.target_name||v.name,mime:d.mimeTypes[v.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream",chunk_size:w.chunk_size,width:u.width,height:u.height,quality:u.quality,multipart:w.multipart,multipart_params:w.multipart_params||{},file_data_name:w.file_data_name,format:/\.(jpg|jpeg)$/i.test(v.name)?"jpg":"png",headers:w.headers,urlstream_upload:w.urlstream_upload})});k.bind("Flash:UploadProcess",function(u,t){var v=u.getFile(s[t.id]);if(v.status!=d.FAILED){v.loaded=t.loaded;v.size=t.size;u.trigger("UploadProgress",v)}});k.bind("Flash:UploadChunkComplete",function(t,v){var w,u=t.getFile(s[v.id]);w={chunk:v.chunk,chunks:v.chunks,response:v.text};t.trigger("ChunkUploaded",u,w);if(u.status!=d.FAILED){n().uploadNextChunk()}if(v.chunk==v.chunks-1){u.status=d.DONE;t.trigger("FileUploaded",u,{response:v.text})}});k.bind("Flash:SelectFiles",function(t,w){var v,u,x=[],y;for(u=0;u0){r(++t,v)}else{k.status=a.DONE;n.trigger("FileUploaded",k,{response:x.value.body,status:w});if(w>=400){n.trigger("Error",{code:a.HTTP_ERROR,message:a.translate("HTTP Error."),file:k,status:w})}}}else{n.trigger("Error",{code:a.GENERIC_ERROR,message:a.translate("Generic Error."),file:k,details:x.error})}})}function q(t){k.size=t.size;if(l){e.FileAccess.chunk({file:t,chunkSize:l},function(w){if(w.success){var x=w.value,u=x.length;o=Array(u);for(var v=0;v0&&navigator.vendor.indexOf("Apple")!==-1;return{html5:n,dragdrop:p.mozInnerScreenX!==d||m||f,jpgresize:o,pngresize:o,multipart:o||!!p.FileReader||!!p.FormData,progress:q,chunks:m||o,canOpenDialog:navigator.userAgent.indexOf("WebKit")!==-1}},init:function(p,q){var m={},n;function o(v){var t,s,u=[],w,r={};for(s=0;s";D=j.getElementById(p.id+"_html5");D.onchange=function(){o(this.files);this.value=""};E=j.getElementById(v.settings.browse_button);if(E){var x=v.settings.browse_button_hover,z=v.settings.browse_button_active,w=v.features.canOpenDialog?E:F;if(x){h.addEvent(w,"mouseover",function(){h.addClass(E,x)},v.id);h.addEvent(w,"mouseout",function(){h.removeClass(E,x)},v.id)}if(z){h.addEvent(w,"mousedown",function(){h.addClass(E,z)},v.id);h.addEvent(j.body,"mouseup",function(){h.removeClass(E,z)},v.id)}if(v.features.canOpenDialog){h.addEvent(E,"click",function(y){j.getElementById(v.id+"_html5").click();y.preventDefault()},v.id)}}});p.bind("PostInit",function(){var r=j.getElementById(p.settings.drop_element);if(r){if(f){h.addEvent(r,"dragenter",function(v){var u,s,t;u=j.getElementById(p.id+"_drop");if(!u){u=j.createElement("input");u.setAttribute("type","file");u.setAttribute("id",p.id+"_drop");u.setAttribute("multiple","multiple");h.addEvent(u,"change",function(){o(this.files);h.removeEvent(u,"change",p.id);u.parentNode.removeChild(u)},p.id);r.appendChild(u)}s=h.getPos(r,j.getElementById(p.settings.container));t=h.getSize(r);if(h.getStyle(r,"position")==="static"){h.extend(r.style,{position:"relative"})}h.extend(u.style,{position:"absolute",display:"block",top:0,left:0,width:t.w+"px",height:t.h+"px",opacity:0})},p.id);return}h.addEvent(r,"dragover",function(s){s.preventDefault()},p.id);h.addEvent(r,"drop",function(t){var s=t.dataTransfer;if(s&&s.files){o(s.files)}t.preventDefault()},p.id)}});p.bind("Refresh",function(r){var s,u,v,w,t;s=j.getElementById(p.settings.browse_button);if(s){u=h.getPos(s,j.getElementById(r.settings.container));v=h.getSize(s);w=j.getElementById(p.id+"_html5_container");h.extend(w.style,{top:u.y+"px",left:u.x+"px",width:v.w+"px",height:v.h+"px"});if(p.features.canOpenDialog){t=parseInt(s.parentNode.style.zIndex,10);if(isNaN(t)){t=0}h.extend(s.style,{zIndex:t});if(h.getStyle(s,"position")==="static"){h.extend(s.style,{position:"relative"})}h.extend(w.style,{zIndex:t-1})}}});p.bind("UploadFile",function(r,t){var u=r.settings,w,s;function v(x){var A=0,z=0;function y(){var H=x,O,P,K,L,M=0,D="----pluploadboundary"+h.guid(),G,I,E,F="--",N="\r\n",J="",C,B=r.settings.url;if(t.status==h.DONE||t.status==h.FAILED||r.state==h.STOPPED){return}L={name:t.target_name||t.name};if(u.chunk_size&&n.chunks){G=u.chunk_size;K=Math.ceil(t.size/G);I=Math.min(G,t.size-(A*G));if(typeof(x)=="string"){H=x.substring(A*G,A*G+I)}else{H=x.slice(A*G,I)}L.chunk=A;L.chunks=K}else{I=t.size}O=new XMLHttpRequest();P=O.upload;if(P){P.onprogress=function(Q){t.loaded=Math.min(t.size,z+Q.loaded-M);r.trigger("UploadProgress",t)}}if(!r.settings.multipart||!n.multipart){B=h.buildUrl(r.settings.url,L)}else{L.name=t.target_name||t.name}O.open("post",B,true);O.onreadystatechange=function(){var Q,S;if(O.readyState==4){try{Q=O.status}catch(R){Q=0}if(Q>=400){r.trigger("Error",{code:h.HTTP_ERROR,message:h.translate("HTTP Error."),file:t,status:Q})}else{if(K){S={chunk:A,chunks:K,response:O.responseText,status:Q};r.trigger("ChunkUploaded",t,S);z+=I;if(S.cancelled){t.status=h.FAILED;return}t.loaded=Math.min(t.size,(A+1)*G)}else{t.loaded=t.size}r.trigger("UploadProgress",t);if(!K||++A>=K){t.status=h.DONE;r.trigger("FileUploaded",t,{response:O.responseText,status:Q});w=x=m[t.id]=null}else{y()}}O=H=E=J=null}};h.each(r.settings.headers,function(R,Q){O.setRequestHeader(Q,R)});if(r.settings.multipart&&n.multipart){if(!O.sendAsBinary){E=new FormData();h.each(h.extend(L,r.settings.multipart_params),function(R,Q){E.append(Q,R)});E.append(r.settings.file_data_name,H);O.send(E);return}O.setRequestHeader("Content-Type","multipart/form-data; boundary="+D);h.each(h.extend(L,r.settings.multipart_params),function(R,Q){J+=F+D+N+'Content-Disposition: form-data; name="'+Q+'"'+N+N;J+=unescape(encodeURIComponent(R))+N});C=h.mimeTypes[t.name.replace(/^.+\.([^.]+)/,"$1").toLowerCase()]||"application/octet-stream";J+=F+D+N+'Content-Disposition: form-data; name="'+r.settings.file_data_name+'"; filename="'+unescape(encodeURIComponent(t.name))+'"'+N+"Content-Type: "+C+N+N+H+N+F+D+F+N;M=J.length-H.length;H=J}else{O.setRequestHeader("Content-Type","application/octet-stream")}if(O.sendAsBinary){O.sendAsBinary(H)}else{O.send(H)}}y()}w=m[t.id];s=r.settings.resize;if(n.jpgresize){if(s&&/\.(png|jpg|jpeg)$/i.test(t.name)){c(w,s,/\.png$/i.test(t.name)?"image/png":"image/jpeg",function(x){if(x.success){t.size=x.data.length;v(x.data)}else{k(w,v)}})}else{k(w,v)}}else{v(w)}});p.bind("Destroy",function(r){var t,u,s=j.body,v={inputContainer:r.id+"_html5_container",inputFile:r.id+"_html5",browseButton:r.settings.browse_button,dropElm:r.settings.drop_element};for(t in v){u=j.getElementById(v[t]);if(u){h.removeAllEvents(u,r.id)}}h.removeAllEvents(j.body,r.id);if(r.settings.container){s=j.getElementById(r.settings.container)}s.removeChild(j.getElementById(v.inputContainer))});q({success:true})}});function b(){var p=false,n;function q(s,u){var r=p?0:-8*(u-1),v=0,t;for(t=0;t>Math.abs(r+u*8))&255)}m(w,s,v)}return{II:function(r){if(r===d){return p}else{p=r}},init:function(r){p=false;n=r},SEGMENT:function(r,t,s){switch(arguments.length){case 1:return n.substr(r,n.length-r-1);case 2:return n.substr(r,t);case 3:m(s,r,t);break;default:return n}},BYTE:function(r){return q(r,1)},SHORT:function(r){return q(r,2)},LONG:function(r,s){if(s===d){return q(r,4)}else{o(r,s,4)}},SLONG:function(r){var s=q(r,4);return(s>2147483647?s-4294967296:s)},STRING:function(r,s){var t="";for(s+=r;r=65488&&o<=65495){m+=2;continue}if(o===65498||o===65497){break}p=q.SHORT(m+2)+2;if(t[o]&&q.STRING(m+4,t[o].signature.length)===t[o].signature){s.push({hex:o,app:t[o].app.toUpperCase(),name:t[o].name.toUpperCase(),start:m,length:p,segment:q.SEGMENT(m,p)})}m+=p}q.init(null);return{headers:s,restore:function(w){q.init(w);if(q.SHORT(0)!==65496){return false}m=q.SHORT(2)==65504?4+q.SHORT(4):2;for(var v=0,u=s.length;v=y.length){break}}},purge:function(){s=[];q.init(null)}}}function a(){var p,m,n={},s;p=new b();m={tiff:{274:"Orientation",34665:"ExifIFDPointer",34853:"GPSInfoIFDPointer"},exif:{36864:"ExifVersion",40961:"ColorSpace",40962:"PixelXDimension",40963:"PixelYDimension",36867:"DateTimeOriginal",33434:"ExposureTime",33437:"FNumber",34855:"ISOSpeedRatings",37377:"ShutterSpeedValue",37378:"ApertureValue",37383:"MeteringMode",37384:"LightSource",37385:"Flash",41986:"ExposureMode",41987:"WhiteBalance",41990:"SceneCaptureType",41988:"DigitalZoomRatio",41992:"Contrast",41993:"Saturation",41994:"Sharpness"},gps:{0:"GPSVersionID",1:"GPSLatitudeRef",2:"GPSLatitude",3:"GPSLongitudeRef",4:"GPSLongitude"}};s={ColorSpace:{1:"sRGB",0:"Uncalibrated"},MeteringMode:{0:"Unknown",1:"Average",2:"CenterWeightedAverage",3:"Spot",4:"MultiSpot",5:"Pattern",6:"Partial",255:"Other"},LightSource:{1:"Daylight",2:"Fliorescent",3:"Tungsten",4:"Flash",9:"Fine weather",10:"Cloudy weather",11:"Shade",12:"Daylight fluorescent (D 5700 - 7100K)",13:"Day white fluorescent (N 4600 -5400K)",14:"Cool white fluorescent (W 3900 - 4500K)",15:"White fluorescent (WW 3200 - 3700K)",17:"Standard light A",18:"Standard light B",19:"Standard light C",20:"D55",21:"D65",22:"D75",23:"D50",24:"ISO studio tungsten",255:"Other"},Flash:{0:"Flash did not fire.",1:"Flash fired.",5:"Strobe return light not detected.",7:"Strobe return light detected.",9:"Flash fired, compulsory flash mode",13:"Flash fired, compulsory flash mode, return light not detected",15:"Flash fired, compulsory flash mode, return light detected",16:"Flash did not fire, compulsory flash mode",24:"Flash did not fire, auto mode",25:"Flash fired, auto mode",29:"Flash fired, auto mode, return light not detected",31:"Flash fired, auto mode, return light detected",32:"No flash function",65:"Flash fired, red-eye reduction mode",69:"Flash fired, red-eye reduction mode, return light not detected",71:"Flash fired, red-eye reduction mode, return light detected",73:"Flash fired, compulsory flash mode, red-eye reduction mode",77:"Flash fired, compulsory flash mode, red-eye reduction mode, return light not detected",79:"Flash fired, compulsory flash mode, red-eye reduction mode, return light detected",89:"Flash fired, auto mode, red-eye reduction mode",93:"Flash fired, auto mode, return light not detected, red-eye reduction mode",95:"Flash fired, auto mode, return light detected, red-eye reduction mode"},ExposureMode:{0:"Auto exposure",1:"Manual exposure",2:"Auto bracket"},WhiteBalance:{0:"Auto white balance",1:"Manual white balance"},SceneCaptureType:{0:"Standard",1:"Landscape",2:"Portrait",3:"Night scene"},Contrast:{0:"Normal",1:"Soft",2:"Hard"},Saturation:{0:"Normal",1:"Low saturation",2:"High saturation"},Sharpness:{0:"Normal",1:"Soft",2:"Hard"},GPSLatitudeRef:{N:"North latitude",S:"South latitude"},GPSLongitudeRef:{E:"East longitude",W:"West longitude"}};function o(t,B){var v=p.SHORT(t),y,E,F,A,z,u,w,C,D=[],x={};for(y=0;y4){w=p.LONG(w)+n.tiffHeader}for(E=0;E4){w=p.LONG(w)+n.tiffHeader}x[F]=p.STRING(w,z-1);continue;case 3:if(z>2){w=p.LONG(w)+n.tiffHeader}for(E=0;E1){w=p.LONG(w)+n.tiffHeader}for(E=0;E