PluginProbe ʕ •ᴥ•ʔ
Admin and Site Enhancements (ASE) / 7.1.3
Admin and Site Enhancements (ASE) v7.1.3
9.1.0 9.0.2 9.0.1 9.0.0 8.9.2 8.9.1 8.9.0 8.8.8 8.8.7 8.8.6 8.8.5 8.8.4 8.8.3 8.8.2 8.8.1 8.8.0 8.7.3 8.7.2 8.7.1 8.2.1 8.2.2 8.2.3 8.3.0 8.3.1 8.3.2 8.4.0 8.4.1 8.4.2 8.5.0 8.5.1 8.5.2 8.6.0 8.6.1 8.6.2 8.7.0 5.0.1 5.0.2 5.0.2.1 5.0.2.2 5.0.2.3 5.0.2.4 5.1.0 5.2.0 5.2.1 5.2.10 5.2.11 5.2.2 5.2.3 5.2.4 5.2.5 5.2.6 5.2.7 5.2.8 5.2.9 5.3.0 5.3.1 5.3.2 5.4.0 5.4.1 5.5.0 5.5.1 5.5.2 5.6.0 5.6.1 5.6.2 5.7.0 5.7.1 5.8.0 5.8.1 6.0.0 6.0.3 6.0.4 6.0.5 6.0.5.1 6.0.6 6.0.7 6.0.8.1 6.1.0 6.1.3 6.2.0 6.2.1 6.2.2 6.2.3 6.2.4 6.2.5 6.2.6 6.2.7 6.3.0 6.3.1 6.3.2 6.4.0 6.5.0 6.5.1 6.6.0 6.7.0 6.8.0 6.8.2 6.8.3 6.9.0 6.9.1 6.9.10 6.9.11 6.9.12 6.9.13.1 6.9.13.2 6.9.2 6.9.3 6.9.4 6.9.5 6.9.6 6.9.7 6.9.8 6.9.9 7.0.0 7.0.2 7.0.2.1 7.0.2.2 7.0.2.3 7.0.3 7.1.0 7.1.1 7.1.2 7.1.3 7.1.4 7.1.5 7.2.0 7.2.1 7.3.0 7.3.1 7.3.2 7.3.3 7.4.0 7.4.2 7.4.4 7.4.5 7.4.6 7.4.7 7.4.8 7.5.0 7.5.1 7.5.2 7.5.3 7.5.4 7.6.0 7.6.1 7.6.1.1 7.6.10 7.6.11 7.6.2 7.6.3 7.6.4 7.6.5 7.6.6 7.6.7 7.6.7.1 7.6.8 7.6.9 7.7.0 7.8.0 7.8.1 7.8.10 7.8.11 7.8.12 7.8.13 7.8.14 7.8.15 7.8.16 7.8.17 7.8.18 7.8.2 7.8.3 7.8.4 7.8.5 7.8.5.1 7.8.6 7.8.7 7.8.8 7.8.9 7.9.0 7.9.1 7.9.10 7.9.11 7.9.2 7.9.3 7.9.4 7.9.5 7.9.6 7.9.7 7.9.8 7.9.9 8.0.0 8.0.1 8.0.2 8.0.3 8.0.4 8.0.5 8.0.6 8.0.7 8.0.8 8.1.0 8.1.1 8.1.2 8.1.3 8.1.4 8.2.0 trunk 1.0.0 1.1.0 1.2.0 1.3.0 1.4.0 1.5.0 1.6.0 1.7.0 1.8.0 1.9.0 2.0.0 2.1.0 2.2.0 2.3.0 2.4.0 2.5.0 2.6.0 2.7.0 2.8.0 2.8.1 2.8.2 2.8.3 2.9.0 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.2.0 3.3.0 3.4.0 3.5.0 3.6.1 3.7.0 3.8.0 3.9.0 3.9.1 3.9.2 4.0.0 4.0.1 4.1.0 4.2.0 4.2.1 4.2.2 4.3.0 4.3.1 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.7.4 4.8.0 4.8.1 4.8.2 4.8.3 4.9.0 4.9.1 4.9.2 4.9.3 5.0.0
admin-site-enhancements / assets / js / media-replace.js
admin-site-enhancements / assets / js Last commit date
codemirror 2 years ago datatables 2 years ago admin-page.js 2 years ago content-order-sort.js 2 years ago custom-admin-menu.js 2 years ago external-permalinks.js 2 years ago gutenberg-content-duplication.js 2 years ago hide-admin-notices.js 2 years ago jBox.all.min.js 2 years ago jquery.jsticky.mod.js 2 years ago jquery.jsticky.mod.min.js 2 years ago jquery.mjs.nestedSortable.js 2 years ago jquery.ui.touch-punch.min.js 2 years ago js.cookie.min.js 2 years ago media-replace.js 2 years ago multiple-user-roles.js 2 years ago toggle-hidden-menu.js 2 years ago
media-replace.js
93 lines
1 (function( $ ) {
2 'use strict';
3
4 $(document).ready( function() {
5
6 // Place the Replace Media section after the side metaboxes
7 $('#media-replace-div').appendTo('#postbox-container-1');
8
9 });
10
11 })( jQuery );
12
13 // let asenhaMRVars = asenhaMR;
14
15 // Open media modal on clicking Select New Media File button.
16 // This is set with onclick="replaceMedia('mime/type')" on the button HTML
17 function replaceMedia(oldImageMimeType) {
18 if ( oldImageMimeType ) {
19 // There's a mime type defined. Do nothing.
20 } else {
21 // We're in the grid view of an image. Get the mime type form the file info in DOM.
22 var oldImageMimeTypeFromDom = jQuery('.details .file-type').html();
23 // Replace '<strong>File type:</strong>' in any language with empty string
24 oldImageMimeTypeFromDom = oldImageMimeTypeFromDom.replace(/<strong>(.*?)<\/strong>/, '');
25 // Replace one blank spacing with an empty space / no space
26 oldImageMimeType = oldImageMimeTypeFromDom.replace(' ', '');
27 }
28
29 // https://codex.wordpress.org/Javascript_Reference/wp.media
30 // https://github.com/ericandrewlewis/wp-media-javascript-guide
31
32 // Instantiate the media frame
33 mediaFrame = wp.media({
34 title: mediaReplace.selectMediaText,
35 button: {
36 text: mediaReplace.performReplacementText
37 },
38 multiple: false // Enable/disable multiple select
39 });
40
41
42 // Open the media dialog and store it in a variable
43 var mediaFrameEl = jQuery(mediaFrame.open().el);
44
45 // Open the "Upload files" tab on load
46 mediaFrameEl.find('#menu-item-upload').click();
47
48 // When an image is selected
49 mediaFrameEl.on('click', 'li.attachment', function(e) {
50 var mimeTypeWarning = '<div class="mime-type-warning">The selected image is of a different type than the image to replace. Please choose an image with the same type.</div>';
51 var selectedAttachment = mediaFrame.state().get('selection').first().toJSON();
52 var selectedAttachmentMimeType = selectedAttachment.mime;
53
54 if ( oldImageMimeType != selectedAttachmentMimeType ) {
55 jQuery('.media-frame-toolbar .media-toolbar-primary .mime-type-warning').remove();
56 jQuery('.media-frame-toolbar .media-toolbar-primary').prepend(mimeTypeWarning);
57 jQuery('.media-frame-toolbar .media-toolbar-primary .media-button-select').prop('disabled', true);
58 } else {
59 jQuery('.media-frame-toolbar .media-toolbar-primary .mime-type-warning').remove();
60 jQuery('.media-frame-toolbar .media-toolbar-primary .media-button-select').prop('disabled', false);
61 }
62 });
63
64 // Make sure the "Drop files to upload" blue overlay is closed after dropping one or more files
65 jQuery('.supports-drag-drop:not(.upload.php)').on( 'drop', function() {
66 jQuery('.uploader-window').hide();
67 });
68
69 // When Perform Replacement button is clicked in the media frame...
70 mediaFrame.on('select', function() {
71
72 // Get media attachment details from the frame state
73 var attachment = mediaFrame.state().get('selection').first().toJSON();
74 var newImageMimeType = attachment.mime;
75
76 if ( oldImageMimeType == newImageMimeType ) {
77
78 // Send the attachment id to our hidden input
79 jQuery('#new-attachment-id').val(attachment.id);
80
81 if (jQuery("#new-attachment-id").closest('.media-modal').length) {
82
83 } else {
84 // For media library list view
85 // "Perform Replacement" button has been clicked. Submit the edit form, which includes 'new-attachment-id'
86 jQuery("#new-attachment-id").closest("form").submit();
87 jQuery(mediaFrame.close());
88 }
89 }
90
91 });
92
93 }