--- a/wp/wp-includes/js/plupload/handlers.js Tue Dec 15 15:52:01 2020 +0100
+++ b/wp/wp-includes/js/plupload/handlers.js Wed Sep 21 18:19:35 2022 +0200
@@ -361,7 +361,41 @@
up.removeFile( file );
}
+/**
+ * Copies the attachment URL to the clipboard.
+ *
+ * @since 5.8.0
+ *
+ * @param {MouseEvent} event A click event.
+ *
+ * @return {void}
+ */
+function copyAttachmentUploadURLClipboard() {
+ var clipboard = new ClipboardJS( '.copy-attachment-url' ),
+ successTimeout;
+
+ clipboard.on( 'success', function( event ) {
+ var triggerElement = jQuery( event.trigger ),
+ successElement = jQuery( '.success', triggerElement.closest( '.copy-to-clipboard-container' ) );
+
+ // Clear the selection and move focus back to the trigger.
+ event.clearSelection();
+ // Handle ClipboardJS focus bug, see https://github.com/zenorocha/clipboard.js/issues/680
+ triggerElement.trigger( 'focus' );
+ // Show success visual feedback.
+ clearTimeout( successTimeout );
+ successElement.removeClass( 'hidden' );
+ // Hide success visual feedback after 3 seconds since last success.
+ successTimeout = setTimeout( function() {
+ successElement.addClass( 'hidden' );
+ }, 3000 );
+ // Handle success audible feedback.
+ wp.a11y.speak( pluploadL10n.file_url_copied );
+ } );
+}
+
jQuery( document ).ready( function( $ ) {
+ copyAttachmentUploadURLClipboard();
var tryAgainCount = {};
var tryAgain;
@@ -570,7 +604,12 @@
plupload.each( files, function( file ) {
if ( file.type === 'image/heic' && up.settings.heic_upload_error ) {
// Show error but do not block uploading.
- wpQueueError( pluploadL10n.unsupported_image )
+ wpQueueError( pluploadL10n.unsupported_image );
+ } else if ( file.type === 'image/webp' && up.settings.webp_upload_error ) {
+ // Disallow uploading of WebP images if the server cannot edit them.
+ wpQueueError( pluploadL10n.noneditable_image );
+ up.removeFile( file );
+ return;
}
fileQueued( file );