| Server IP : 118.139.160.155 / Your IP : 216.73.217.176 Web Server : Apache System : Linux sg2plmcpnl504228.prod.sin2.secureserver.net 4.18.0-553.124.4.lve.el8.x86_64 #1 SMP Fri May 15 13:02:13 UTC 2026 x86_64 User : twll3xqyaqrh ( 9725459) PHP Version : 5.6.40 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/twll3xqyaqrh/public_html/Site WP/wp-content/plugins/envira-gallery/assets/js/ |
Upload File : |
/**
* Creates and handles a wp.media instance for Envira Galleries, allowing
* the user to insert images from the WordPress Media Library into their Gallery
*/
jQuery(document).ready(function($) {
// Select Files from Other Sources
$('a.envira-media-library').on('click', function(e) {
// Prevent default action
e.preventDefault();
// If the wp.media.frames.envira instance already exists, reopen it
if (wp.media.frames.envira) {
wp.media.frames.envira.open();
return;
} else {
// Create the wp.media.frames.envira instance (one time)
wp.media.frames.envira = wp.media({
frame: 'post',
title: wp.media.view.l10n.insertIntoPost,
library: {
type: ['image'],
},
button: {
text: wp.media.view.l10n.insertIntoPost,
},
multiple: true,
});
}
// Mark existing Gallery images as selected when the modal is opened
wp.media.frames.envira.on('open', function() {
// Get any previously selected images
var selection = wp.media.frames.envira.state().get('selection');
// Get images that already exist in the gallery, and select each one in the modal
$('ul#envira-gallery-output li').each(function() {
var attachment = wp.media.attachment($(this).attr('id'));
if (selection != undefined) {
selection.add(attachment ? [attachment] : []);
}
});
});
// Insert into Gallery Button Clicked
wp.media.frames.envira.on('insert', function(selection) {
// Get state
var state = wp.media.frames.envira.state(),
images = [];
// Iterate through selected images, building an images array
selection.each(function(attachment) {
// Get the chosen options for this image (size, alignment, link type, link URL)
var display = state.display(attachment).toJSON();
// Change the image link parameter based on the "Link To" setting the user chose in the media view
switch (display.link) {
case 'none':
// Because users cry when their images aren't linked, we need to actually set this to the attachment URL
attachment.set('link', attachment.get('url'));
break;
case 'file':
attachment.set('link', attachment.get('url'));
break;
case 'post':
// Already linked to post by default
break;
case 'custom':
attachment.set('link', display.linkUrl);
break;
}
// Add the image to the images array
images.push(attachment.toJSON());
}, this);
// Make visible the "items are being added"
$(document)
.find('.envira-progress-adding-images')
.css('display', 'block');
// Send the ajax request with our data to be processed.
$.post(
envira_gallery_metabox.ajax,
{
action: 'envira_gallery_insert_images',
nonce: envira_gallery_metabox.insert_nonce,
post_id: envira_gallery_metabox.id,
order: $('#envira-config-image-sort').val(),
direction: $('#envira-config-image-sort-dir').val(),
// make this a JSON string so we can send larger amounts of data (images), otherwise max is around 20 by default for most server configs
images: JSON.stringify(images),
},
function(response) {
// Response should be a JSON success with the HTML for the image grid
if (response && response.success) {
// Set the image grid to the HTML we received
$('#envira-gallery-output').html(
response.success,
);
$(document).trigger('enviraInsert');
// Repopulate the Envira Gallery Image Collection
EnviraGalleryImagesUpdate(false);
$(document)
.find('.envira-progress-adding-images')
.css('display', 'none');
}
},
'json',
);
});
// Open the media frame
wp.media.frames.envira.open();
// Remove the 'Create Gallery' left hand menu item in the modal, as we don't
// want users inserting galleries!
$('div.media-menu #menu-item-gallery').css('display', 'none');
$('div.media-menu a.media-menu-item:nth-child(4)').addClass('hidden');
$('div.media-menu #menu-item-playlist').css('display', 'none');
$('div.media-menu #menu-item-video-playlist').css('display', 'none');
$('div.media-menu #menu-item-featured-image').css('display', 'none');
return;
});
});