ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
wp-includes
2026-09-15 12:51:52
Editing: admin.js
Cancel
Save Changes
/* jshint onevar: false, multistr: true */ /* global _wpMediaViewsL10n, _wpGalleryWidgetAdminSettings */ (function($){ var $ids; var $thumbs; $(function(){ $( document.body ) .on( 'click', '.gallery-widget-choose-images', function( event ) { event.preventDefault(); var widget_form = $( this ).closest( 'form, .form' ); $ids = widget_form.find( '.gallery-widget-ids' ); $thumbs = widget_form.find( '.gallery-widget-thumbs' ); var idsString = $ids.val(); var attachments = getAttachments( idsString ); var selection = null; var editing = false; if ( attachments ) { selection = getSelection( attachments ); editing = true; } var options = { state: 'gallery-edit', title: wp.media.view.l10n.addMedia, multiple: true, editing: editing, selection: selection }; var workflow = getWorkflow( options ); workflow.open(); }); // Setup an onchange handler to toggle various options when changing style. The different style options // require different form inputs to be presented in the widget; this event will keep the UI in sync // with the selected style $( '.widget-inside' ).on( 'change', '.gallery-widget-style', setupStyleOptions); // Setup the Link To options for all forms currently on the page. Does the same as the onChange handler, but // is called once to display the correct form inputs for each widget on the page setupStyleOptions(); }); var media = wp.media, l10n; // Link any localized strings. l10n = media.view.l10n = typeof _wpMediaViewsL10n === 'undefined' ? {} : _wpMediaViewsL10n; /** * wp.media.view.MediaFrame.GalleryWidget * * This behavior can be very nearly had by setting the workflow's state to 'gallery-edit', but * we cannot use the custom WidgetGalleryEdit controller with it (must overide createStates(), * which is necessary to disable the sidebar gallery settings in the media browser) */ media.view.MediaFrame.GalleryWidget = media.view.MediaFrame.Post.extend({ createStates: function() { var options = this.options; // `CollectionEdit` and `CollectionAdd` were only introduced in r27214-core, // so they may not be available yet. if ( 'CollectionEdit' in media.controller ) { this.states.add([ new media.controller.CollectionEdit({ type: 'image', collectionType: 'gallery', title: l10n.editGalleryTitle, SettingsView: media.view.Settings.Gallery, library: options.selection, editing: options.editing, menu: 'gallery' }), new media.controller.CollectionAdd({ type: 'image', collectionType: 'gallery', title: l10n.addToGalleryTitle }) ]); } else { // If `CollectionEdit` is not available, then use the old approach. if ( ! ( 'WidgetGalleryEdit' in media.controller ) ) { // Remove the gallery settings sidebar when editing widgets. media.controller.WidgetGalleryEdit = media.controller.GalleryEdit.extend({ gallerySettings: function( /*browser*/ ) { return; } }); } this.states.add([ new media.controller.WidgetGalleryEdit({ library: options.selection, editing: options.editing, menu: 'gallery' }), new media.controller.GalleryAdd({ }) ]); } } }); function setupStyleOptions(){ $( '.widget-inside .gallery-widget-style' ).each( function( /*i*/ ){ var style = $( this ).val(); var form = $( this ).parents( 'form' ); switch ( style ) { case 'slideshow': form.find( '.gallery-widget-link-wrapper' ).hide(); form.find( '.gallery-widget-columns-wrapper' ).hide(); break; default: form.find( '.gallery-widget-link-wrapper' ).show(); form.find( '.gallery-widget-columns-wrapper' ).show(); } }); } /** * Take a given Selection of attachments and a thumbs wrapper div (jQuery object) * and fill it with thumbnails */ function setupThumbs( selection, wrapper ){ wrapper.empty(); var imageSize = _wpGalleryWidgetAdminSettings.thumbSize; selection.each( function( model ){ var sizedUrl = model.get('url') + '?w=' + imageSize + '&h=' + imageSize + '&crop=true'; var thumb = jQuery('<img>', { 'src' : sizedUrl, 'alt': model.get('title'), 'title': model.get('title'), 'width': imageSize, 'height': imageSize, 'class': 'thumb' }); wrapper.append( thumb ); }); } /** * Take a csv string of ids (as stored in db) and fetch a full Attachments collection */ function getAttachments( idsString ) { if ( ! idsString ) { return null; } // Found in /wp-includes/js/media-editor.js var shortcode = wp.shortcode.next( 'gallery', '[gallery ids="' + idsString + '"]' ); // Ignore the rest of the match object, to give attachments() below what it expects shortcode = shortcode.shortcode; var attachments = wp.media.gallery.attachments( shortcode ); return attachments; } /** * Take an Attachments collection and return a corresponding Selection model that can be * passed to a MediaFrame to prepopulate the gallery picker */ function getSelection( attachments ) { var selection = new wp.media.model.Selection( attachments.models, { props: attachments.props.toJSON(), multiple: true }); selection.gallery = attachments.gallery; // Fetch the query's attachments, and then break ties from the // query to allow for sorting. selection.more().done( function() { // Break ties with the query. selection.props.set( { query: false } ); selection.unmirror(); selection.props.unset( 'orderby' ); }); return selection; } /** * Create a media 'workflow' (MediaFrame). This is the main entry point for the media picker */ function getWorkflow( options ) { var workflow = new wp.media.view.MediaFrame.GalleryWidget( options ); workflow.on( 'update', function( selection ) { var state = workflow.state(); selection = selection || state.get( 'selection' ); if ( ! selection ) { return; } // Map the Models down into a simple array of ids that can be easily imploded to a csv string var ids = selection.map( function( model ){ return model.get( 'id' ); } ); var id_string = ids.join( ',' ); $ids.val( id_string ).trigger( 'change' ); setupThumbs( selection, $thumbs ); }, this ); workflow.setState( workflow.options.state ); return workflow; } })(jQuery);
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete