jQuery( document ).ready(function( $ ){
$( '.advads-option-group-refresh input:checkbox:checked' ).each( function() {
var number_option = $( this ).parents( '.advads-ad-group-form' ).find( '.advads-option-group-number' );
number_option.val( 'all' ).hide();
});
$( '.advads-option-group-refresh input:checkbox' ).on( 'click', function() {
var number_option = $( this ).parents( '.advads-ad-group-form' ).find( '.advads-option-group-number' );
if ( this.checked ) {
number_option.val( 'all' ).hide();
} else {
number_option.show();
}
});
jQuery( '.advads-option-placement-cache-busting input' ).on( 'change', function() {
var cb_state = jQuery( this ).val(),
$inputs = jQuery( this ).closest( '.advads-placements-table-options' ).find( '.advanced-ads-inputs-dependent-on-cb' );
if ( 'off' === cb_state ) {
// Hide UI elements that work only with cache-busting.
$inputs.hide().next().show();
}
else {
$inputs.show().next().hide();
}
});
$( '#advads-pro-vc-hash-change' ).on( 'click', function() {
var $button = $(this);
var $ok = jQuery( '#advads-pro-vc-hash-change-ok' );
var $error = jQuery( '#advads-pro-vc-hash-change-error' );
$( '' ).insertAfter( $button );
$button.hide();
$ok.hide();
$error.hide();
jQuery.ajax( {
type: 'POST',
url: ajaxurl,
data: {
action: 'advads-reset-vc-cache',
security: $('#advads-pro-reset-vc-cache-nonce').val()
},
} ).done(function( data ) {
jQuery( '#advads-pro-vc-hash' ).val( data );
$ok.show();
} ).fail(function( jqXHR, textStatus ) {
$error.show();
} ).always( function() {
$( 'span.spinner' ).remove();
$button.show();
} );
});
});
function advads_cb_check_set_status( status, msg ) {
if ( status === true ) {
jQuery( '#advads-cache-busting-possibility' ).val( true );
} else {
jQuery( '#advads-cache-busting-possibility' ).val( false );
jQuery( '#advads-cache-busting-error-result' ).append( msg ? '
' + msg : '' ).show();
}
}
function advads_cb_check_ad_markup( ad_content ) {
if ( ! ad_content ) {
return;
}
// checks whether the ad contains the jQuery.document.ready() and document.write(ln) functions
if ( ( /\)\.ready\(/.test( ad_content ) || /(\$|jQuery)\(\s*?function\(\)/.test( ad_content ) ) && /document\.write/.test( ad_content ) ) {
advads_cb_check_set_status( false );
return;
}
var search_str = 'cache_busting_test';
var source = ad_content += search_str;
var parser = new Prescribe( source, { autoFix: true } );
var tok, result = '';
while ( ( tok = parser.readToken() ) ) {
if (tok) {
result += Prescribe.tokenToString(tok);
}
}
advads_cb_check_set_status( ( result.substr( - search_str.length ) === search_str ) ? true : false );
}