Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/wpforms-.../assets/js/admin/challeng...
File: challenge-embed.js
/* global ajaxurl */
[0] Fix | Delete
/**
[1] Fix | Delete
* WPForms Challenge function.
[2] Fix | Delete
*
[3] Fix | Delete
* @since 1.5.0
[4] Fix | Delete
* @since 1.6.2 Challenge v2.
[5] Fix | Delete
*/
[6] Fix | Delete
'use strict';
[7] Fix | Delete
[8] Fix | Delete
var WPFormsChallenge = window.WPFormsChallenge || {};
[9] Fix | Delete
[10] Fix | Delete
WPFormsChallenge.embed = window.WPFormsChallenge.embed || ( function( document, window, $ ) {
[11] Fix | Delete
[12] Fix | Delete
/**
[13] Fix | Delete
* Public functions and properties.
[14] Fix | Delete
*
[15] Fix | Delete
* @since 1.5.0
[16] Fix | Delete
*
[17] Fix | Delete
* @type {object}
[18] Fix | Delete
*/
[19] Fix | Delete
var app = {
[20] Fix | Delete
[21] Fix | Delete
/**
[22] Fix | Delete
* Start the engine.
[23] Fix | Delete
*
[24] Fix | Delete
* @since 1.5.0
[25] Fix | Delete
*/
[26] Fix | Delete
init: function() {
[27] Fix | Delete
[28] Fix | Delete
$( app.ready );
[29] Fix | Delete
$( window ).on( 'load', function() {
[30] Fix | Delete
[31] Fix | Delete
// in case of jQuery 3.+ we need to wait for an `ready` event first.
[32] Fix | Delete
if ( typeof $.ready.then === 'function' ) {
[33] Fix | Delete
$.ready.then( app.load );
[34] Fix | Delete
} else {
[35] Fix | Delete
app.load();
[36] Fix | Delete
}
[37] Fix | Delete
} );
[38] Fix | Delete
},
[39] Fix | Delete
[40] Fix | Delete
/**
[41] Fix | Delete
* Document ready.
[42] Fix | Delete
*
[43] Fix | Delete
* @since 1.5.0
[44] Fix | Delete
*/
[45] Fix | Delete
ready: function() {
[46] Fix | Delete
[47] Fix | Delete
app.setup();
[48] Fix | Delete
app.events();
[49] Fix | Delete
app.observeFullscreenMode();
[50] Fix | Delete
},
[51] Fix | Delete
[52] Fix | Delete
/**
[53] Fix | Delete
* Window load.
[54] Fix | Delete
*
[55] Fix | Delete
* @since 1.5.0
[56] Fix | Delete
*/
[57] Fix | Delete
load: function() {
[58] Fix | Delete
[59] Fix | Delete
// If the page is Add new page.
[60] Fix | Delete
if ( window.location.href.indexOf( 'post-new.php' ) > -1 ) {
[61] Fix | Delete
app.lastStep();
[62] Fix | Delete
$( '.wpforms-challenge-dot-completed' ).hide();
[63] Fix | Delete
[64] Fix | Delete
return;
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
if ( WPFormsChallenge.core.isGutenberg() ) {
[68] Fix | Delete
WPFormsChallenge.core.initTooltips( 5, '.block-editor .edit-post-header', { side: 'bottom' } );
[69] Fix | Delete
app.updateTooltipVisibility();
[70] Fix | Delete
} else {
[71] Fix | Delete
WPFormsChallenge.core.initTooltips( 5, '.wpforms-insert-form-button', { side: 'right' } );
[72] Fix | Delete
}
[73] Fix | Delete
[74] Fix | Delete
WPFormsChallenge.core.updateTooltipUI();
[75] Fix | Delete
},
[76] Fix | Delete
[77] Fix | Delete
/**
[78] Fix | Delete
* Initial setup.
[79] Fix | Delete
*
[80] Fix | Delete
* @since 1.5.0
[81] Fix | Delete
*/
[82] Fix | Delete
setup: function() {
[83] Fix | Delete
[84] Fix | Delete
if ( 5 === WPFormsChallenge.core.loadStep() ) {
[85] Fix | Delete
$( '.wpforms-challenge' ).addClass( 'wpforms-challenge-completed' );
[86] Fix | Delete
app.showPopup();
[87] Fix | Delete
}
[88] Fix | Delete
[89] Fix | Delete
$( '.wpforms-challenge' ).show();
[90] Fix | Delete
},
[91] Fix | Delete
[92] Fix | Delete
/**
[93] Fix | Delete
* Register JS events.
[94] Fix | Delete
*
[95] Fix | Delete
* @since 1.5.0
[96] Fix | Delete
*/
[97] Fix | Delete
events: function() {
[98] Fix | Delete
[99] Fix | Delete
$( '.wpforms-challenge-step5-done' )
[100] Fix | Delete
.on( 'click', app.lastStep );
[101] Fix | Delete
[102] Fix | Delete
$( '.wpforms-challenge-popup-close, .wpforms-challenge-end' )
[103] Fix | Delete
.on( 'click', app.completeChallenge );
[104] Fix | Delete
[105] Fix | Delete
$( '#wpforms-challenge-contact-form .wpforms-challenge-popup-contact-btn' )
[106] Fix | Delete
.on( 'click', app.submitContactForm );
[107] Fix | Delete
},
[108] Fix | Delete
[109] Fix | Delete
/**
[110] Fix | Delete
* Last step done routine.
[111] Fix | Delete
*
[112] Fix | Delete
* @since 1.6.2
[113] Fix | Delete
*/
[114] Fix | Delete
lastStep: function() {
[115] Fix | Delete
[116] Fix | Delete
WPFormsChallenge.core.timer.pause();
[117] Fix | Delete
WPFormsChallenge.core.stepCompleted( 5 );
[118] Fix | Delete
$( '.wpforms-challenge' ).addClass( 'wpforms-challenge-completed' );
[119] Fix | Delete
app.showPopup();
[120] Fix | Delete
},
[121] Fix | Delete
[122] Fix | Delete
/**
[123] Fix | Delete
* Show either 'Congratulations' or 'Contact Us' popup.
[124] Fix | Delete
*
[125] Fix | Delete
* @since 1.5.0
[126] Fix | Delete
*/
[127] Fix | Delete
showPopup: function() {
[128] Fix | Delete
[129] Fix | Delete
var secondsLeft = WPFormsChallenge.core.timer.getSecondsLeft();
[130] Fix | Delete
[131] Fix | Delete
$( '.wpforms-challenge-popup-container' ).show();
[132] Fix | Delete
[133] Fix | Delete
if ( 0 < secondsLeft ) {
[134] Fix | Delete
var secondsSpent = WPFormsChallenge.core.timer.getSecondsSpent( secondsLeft );
[135] Fix | Delete
[136] Fix | Delete
$( '#wpforms-challenge-congrats-minutes' )
[137] Fix | Delete
.text( WPFormsChallenge.core.timer.getMinutesFormatted( secondsSpent ) );
[138] Fix | Delete
$( '#wpforms-challenge-congrats-seconds' )
[139] Fix | Delete
.text( WPFormsChallenge.core.timer.getSecondsFormatted( secondsSpent ) );
[140] Fix | Delete
$( '#wpforms-challenge-congrats-popup' ).show();
[141] Fix | Delete
} else {
[142] Fix | Delete
$( '#wpforms-challenge-contact-popup' ).show();
[143] Fix | Delete
}
[144] Fix | Delete
},
[145] Fix | Delete
[146] Fix | Delete
/**
[147] Fix | Delete
* Hide the popup.
[148] Fix | Delete
*
[149] Fix | Delete
* @since 1.5.0
[150] Fix | Delete
*/
[151] Fix | Delete
hidePopup: function() {
[152] Fix | Delete
[153] Fix | Delete
$( '.wpforms-challenge-popup-container' ).hide();
[154] Fix | Delete
$( '.wpforms-challenge-popup' ).hide();
[155] Fix | Delete
},
[156] Fix | Delete
[157] Fix | Delete
/**
[158] Fix | Delete
* Complete Challenge.
[159] Fix | Delete
*
[160] Fix | Delete
* @since 1.5.0
[161] Fix | Delete
*/
[162] Fix | Delete
completeChallenge: function() {
[163] Fix | Delete
[164] Fix | Delete
var optionData = {
[165] Fix | Delete
status : 'completed',
[166] Fix | Delete
seconds_spent: WPFormsChallenge.core.timer.getSecondsSpent(),
[167] Fix | Delete
seconds_left : WPFormsChallenge.core.timer.getSecondsLeft(),
[168] Fix | Delete
};
[169] Fix | Delete
[170] Fix | Delete
app.hidePopup();
[171] Fix | Delete
[172] Fix | Delete
WPFormsChallenge.core.removeChallengeUI();
[173] Fix | Delete
WPFormsChallenge.core.clearLocalStorage();
[174] Fix | Delete
[175] Fix | Delete
WPFormsChallenge.admin.saveChallengeOption( optionData )
[176] Fix | Delete
.done( WPFormsChallenge.core.triggerPageSave ); // Save and reload the page to remove WPForms Challenge JS.
[177] Fix | Delete
},
[178] Fix | Delete
[179] Fix | Delete
/**
[180] Fix | Delete
* Submit contact form button click event handler.
[181] Fix | Delete
*
[182] Fix | Delete
* @since 1.5.0
[183] Fix | Delete
*
[184] Fix | Delete
* @param {object} e Event object.
[185] Fix | Delete
*/
[186] Fix | Delete
submitContactForm: function( e ) {
[187] Fix | Delete
[188] Fix | Delete
e.preventDefault();
[189] Fix | Delete
[190] Fix | Delete
var $btn = $( this ),
[191] Fix | Delete
$form = $btn.closest( '#wpforms-challenge-contact-form' );
[192] Fix | Delete
[193] Fix | Delete
/* eslint-disable camelcase */
[194] Fix | Delete
var data = {
[195] Fix | Delete
action : 'wpforms_challenge_send_contact_form',
[196] Fix | Delete
_wpnonce : WPFormsChallenge.admin.l10n.nonce,
[197] Fix | Delete
contact_data: {
[198] Fix | Delete
message : $form.find( '.wpforms-challenge-contact-message' ).val(),
[199] Fix | Delete
contact_me: $form.find( '.wpforms-challenge-contact-permission' ).prop( 'checked' ),
[200] Fix | Delete
},
[201] Fix | Delete
};
[202] Fix | Delete
/* eslint-enable */
[203] Fix | Delete
[204] Fix | Delete
$btn.prop( 'disabled', true );
[205] Fix | Delete
[206] Fix | Delete
$.post( ajaxurl, data, function( response ) {
[207] Fix | Delete
[208] Fix | Delete
if ( ! response.success ) {
[209] Fix | Delete
console.error( 'Error sending WPForms Challenge Contact Form.' );
[210] Fix | Delete
}
[211] Fix | Delete
} ).done( app.completeChallenge );
[212] Fix | Delete
},
[213] Fix | Delete
[214] Fix | Delete
/**
[215] Fix | Delete
* Observe Gutenberg's Fullscreen Mode state to adjust tooltip positioning.
[216] Fix | Delete
*
[217] Fix | Delete
* @since 1.6.2
[218] Fix | Delete
*/
[219] Fix | Delete
observeFullscreenMode: function() {
[220] Fix | Delete
[221] Fix | Delete
var $body = $( 'body' ),
[222] Fix | Delete
isFullScreenPrev = $body.hasClass( 'is-fullscreen-mode' );
[223] Fix | Delete
[224] Fix | Delete
// MutationObserver configuration and callback.
[225] Fix | Delete
var obs = {
[226] Fix | Delete
targetNode : $body[0],
[227] Fix | Delete
config : {
[228] Fix | Delete
attributes: true,
[229] Fix | Delete
},
[230] Fix | Delete
};
[231] Fix | Delete
[232] Fix | Delete
obs.callback = function( mutationsList, observer ) {
[233] Fix | Delete
[234] Fix | Delete
var mutation,
[235] Fix | Delete
isFullScreen,
[236] Fix | Delete
$step5 = $( '.wpforms-challenge-tooltip-step5' ),
[237] Fix | Delete
$step5Arrow = $step5.find( '.tooltipster-arrow' );
[238] Fix | Delete
[239] Fix | Delete
for ( var i in mutationsList ) {
[240] Fix | Delete
mutation = mutationsList[ i ];
[241] Fix | Delete
if ( mutation.type !== 'attributes' || mutation.attributeName !== 'class' ) {
[242] Fix | Delete
continue;
[243] Fix | Delete
}
[244] Fix | Delete
[245] Fix | Delete
isFullScreen = $body.hasClass( 'is-fullscreen-mode' );
[246] Fix | Delete
if ( isFullScreen === isFullScreenPrev ) {
[247] Fix | Delete
continue;
[248] Fix | Delete
}
[249] Fix | Delete
isFullScreenPrev = isFullScreen;
[250] Fix | Delete
[251] Fix | Delete
if ( isFullScreen ) {
[252] Fix | Delete
$step5.css( {
[253] Fix | Delete
'top': '93px',
[254] Fix | Delete
'left': '0',
[255] Fix | Delete
} );
[256] Fix | Delete
$step5Arrow.css( 'left', '91px' );
[257] Fix | Delete
} else {
[258] Fix | Delete
$step5.css( {
[259] Fix | Delete
'top': '125px',
[260] Fix | Delete
'left': '66px',
[261] Fix | Delete
} );
[262] Fix | Delete
$step5Arrow.css( 'left', '130px' );
[263] Fix | Delete
}
[264] Fix | Delete
}
[265] Fix | Delete
};
[266] Fix | Delete
[267] Fix | Delete
obs.observer = new MutationObserver( obs.callback );
[268] Fix | Delete
obs.observer.observe( obs.targetNode, obs.config );
[269] Fix | Delete
},
[270] Fix | Delete
[271] Fix | Delete
/**
[272] Fix | Delete
* Update tooltip z-index when Gutenberg sidebar is open.
[273] Fix | Delete
*
[274] Fix | Delete
* @since 1.7.4
[275] Fix | Delete
*
[276] Fix | Delete
* @returns {Function} Default function.
[277] Fix | Delete
*/
[278] Fix | Delete
updateTooltipVisibility: function() {
[279] Fix | Delete
[280] Fix | Delete
var targetNode = document.querySelector( '.interface-interface-skeleton__body' );
[281] Fix | Delete
[282] Fix | Delete
if ( targetNode === null ) {
[283] Fix | Delete
return app.updateTooltipVisibilityDefault();
[284] Fix | Delete
}
[285] Fix | Delete
[286] Fix | Delete
var observer = new MutationObserver( function( mutationsList ) {
[287] Fix | Delete
[288] Fix | Delete
var $step5 = $( '.wpforms-challenge-tooltip-step5' );
[289] Fix | Delete
[290] Fix | Delete
for ( var mutation of mutationsList ) {
[291] Fix | Delete
[292] Fix | Delete
if ( mutation.type === 'childList' ) {
[293] Fix | Delete
$step5.toggleClass( 'wpforms-challenge-tooltip-step5-hide' );
[294] Fix | Delete
}
[295] Fix | Delete
}
[296] Fix | Delete
} );
[297] Fix | Delete
[298] Fix | Delete
observer.observe( targetNode, { attributes: true, childList: true } );
[299] Fix | Delete
},
[300] Fix | Delete
[301] Fix | Delete
/**
[302] Fix | Delete
* Update tooltip visibility for WP 5.6 version.
[303] Fix | Delete
*
[304] Fix | Delete
* @since 1.7.4
[305] Fix | Delete
*/
[306] Fix | Delete
updateTooltipVisibilityDefault: function() {
[307] Fix | Delete
[308] Fix | Delete
$( '.editor-inserter__toggle' ).on( 'click', function() {
[309] Fix | Delete
[310] Fix | Delete
$( '.wpforms-challenge-tooltip-step5' ).toggleClass( 'wpforms-challenge-tooltip-step5-hide' );
[311] Fix | Delete
} );
[312] Fix | Delete
},
[313] Fix | Delete
};
[314] Fix | Delete
[315] Fix | Delete
// Provide access to public functions/properties.
[316] Fix | Delete
return app;
[317] Fix | Delete
[318] Fix | Delete
}( document, window, jQuery ) );
[319] Fix | Delete
[320] Fix | Delete
// Initialize.
[321] Fix | Delete
WPFormsChallenge.embed.init();
[322] Fix | Delete
[323] Fix | Delete
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function