jQuery( document ).ready( function ( $ ) { var $box_container = $( '.breeze-box' ); var $compatibility_warning = $( '#breeze-plugins-notice' ); if ( $compatibility_warning.length ) { $( document ).on( 'click tap', '.notice-dismiss', function () { $.ajax( { type: "POST", url: ajaxurl, data: { action: "compatibility_warning_close", 'breeze_close_warning': '1' }, dataType: "json", // xml, html, script, json, jsonp, text success: function ( data ) { }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } ); } $( document ).on( 'click', '.rollback-button', function (e) { e.preventDefault(); var selectedVersion = $( '.breeze-version' ).val(); // Display form submit confirmation dialog var confirmation = confirm( "Want to rollback version " + selectedVersion + " ?" ); // If user confirms, submit the form if (confirmation) { document.getElementById( "breeze_rollback_form" ).submit(); } } ); // Topbar action $( document ).on( 'click', '#wp-admin-bar-breeze-purge-varnish-group', function ( e ) { e.preventDefault(); breeze_purgeVarnish_callAjax(); } ); // Topbar action $( document ).on( 'click', '#wp-admin-bar-breeze-purge-object-cache-group', function ( e ) { e.preventDefault(); breeze_purge_opcache_ajax(); } ); $( document ).on( 'click', '#wp-admin-bar-breeze-purge-file-group', function ( e ) { e.preventDefault(); breeze_purgeFile_callAjax(); } ); // Reset Default $( document ).on( 'click', '#breeze_reset_default', function ( e ) { e.preventDefault(); reset_confirm = confirm( "Want to reset breeze settings?" ); if ( reset_confirm ) { breeze_reset_default(); } } ); var purge_action = true; // Varnish clear button $( '.breeze-box' ).on( 'click', '#purge-varnish-button', function ( e ) { e.preventDefault(); if ( true === purge_action ) { purge_action = false; $( this ).addClass( 'br-is-disabled' ); breeze_purgeVarnish_callAjax(); } } ); if ( $box_container.length ) { $( '.breeze-box' ).on( 'keyup paste', '#cdn-url', function () { var cdn_value = $.trim( $( this ).val() ); if ( '' !== cdn_value && true === is_valid_url( cdn_value ) ) { $.ajax( { type: "POST", url: ajaxurl, data: { action: 'breeze_check_cdn_url', 'cdn_url': cdn_value, security: breeze_token_name.breeze_check_cdn_url }, dataType: "json", // xml, html, script, json, jsonp, text success: function ( data ) { if ( false === data.success ) { $( '#cdn-message-error' ).show(); $( '#cdn-message-error' ).html( data.message ); } else { $( '#cdn-message-error' ).hide(); } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } else { $( '#cdn-message-error' ).hide(); } } ); } function is_valid_url( url ) { return /^(http(s)?:)?\/\/(www\.)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(:[0-9]{1,5})?(\/.*)?$/.test( url ); } //clear cache by button function breeze_purge_opcache_ajax() { $( '.br-internal-purge' ).remove(); $( '.breeze-notice' ).remove(); $.ajax( { url: ajaxurl, dataType: 'json', method: 'POST', data: { action: 'breeze_purge_opcache', is_network: $( 'body' ).hasClass( 'network-admin' ), security: breeze_token_name.breeze_purge_opcache }, success: function ( res ) { current = location.href; if ( res.clear ) { var div = '

Object Cache has been purged.

'; //backend $( "#wpbody #wpbody-content" ).prepend( div ); setTimeout( function () { //location.reload(); purge_action = true; }, 2000 ); } else { window.location.href = current + "breeze-msg=purge-fail"; purge_action = true; location.reload(); } } } ); } //reset to default function breeze_reset_default() { $( '
', { 'id': 'breeze_loader_function' } ).appendTo( 'body' ); $( '
', { 'id': 'breeze_info', 'html': '' } ).appendTo( 'body' ); $.ajax( { type: "POST", url: ajaxurl, data: { action: 'breeze_reset_default', "is-network": $( 'body' ).hasClass( 'network-admin' ), security: breeze_token_name.breeze_reset_default }, dataType: "json", // xml, html, script, json, jsonp, text success: function ( data ) { if ( data === true ) { //alert('Settings reset to default'); purge_action = true; } else { alert( 'Something went wrong - please try again' ); } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { location.reload(); } } ); } //clear cache by button function breeze_purgeVarnish_callAjax() { $( '.br-internal-purge' ).remove(); $( '.breeze-notice' ).remove(); $.ajax( { url: ajaxurl, dataType: 'json', method: 'POST', data: { action: 'breeze_purge_varnish', is_network: $( 'body' ).hasClass( 'network-admin' ), security: breeze_token_name.breeze_purge_varnish }, success: function ( res ) { current = location.href; if ( res.clear ) { var div = '

Varnish Cache has been purged.

'; //backend $( "#wpbody #wpbody-content" ).prepend( div ); setTimeout( function () { //location.reload(); purge_action = true; }, 2000 ); } else { window.location.href = current + "breeze-msg=purge-fail"; purge_action = true; location.reload(); } } } ); } function breeze_purgeFile_callAjax() { $( '.br-internal-purge' ).remove(); $( '.breeze-notice' ).remove(); $.ajax( { url: ajaxurl, dataType: 'json', method: 'POST', data: { action: 'breeze_purge_file', security: breeze_token_name.breeze_purge_cache }, success: function ( res ) { current = location.href; res = parseFloat( res ); var fileClean = res; // Remove the hash fragment (everything after #) from the current URL to avoid duplicates //if ( current.includes( "#" ) ) { // current = current.split( "#" )[ 0 ]; //} //window.location.href = current + "#breeze-msg=success-cleancache&file=" + res; //location.reload(); if ( fileClean > 0 ) { div = '

Internal cache has been purged: ' + fileClean + 'Kb cleaned

'; } else { div = '

Internal cache has been purged.

'; } $( "#wpbody #wpbody-content" ).prepend( div ); } } ); } function getParameterByName( name, url ) { if ( ! url ) { url = window.location.href; } name = name.replace( /[\[\]]/g, "\\$&" ); var regex = new RegExp( "[?&]" + name + "(=([^&#]*)|&|#|$)" ), results = regex.exec( url ); if ( ! results ) { return null; } if ( ! results[ 2 ] ) { return ''; } return decodeURIComponent( results[ 2 ].replace( /\+/g, " " ) ); } var url = location.href; var fileClean = parseFloat( getParameterByName( 'file', url ) ); $( window ).on( 'load', function () { var patt = /wp-admin/i; if ( patt.test( url ) ) { //backend var div = ''; if ( url.indexOf( "msg=success-cleancache" ) > 0 && ! isNaN( fileClean ) ) { if ( fileClean > 0 ) { div = '

Internal cache has been purged: ' + fileClean + 'Kb cleaned

'; } else { div = '

Internal cache has been purged.

'; } $( "#wpbody .wrap h1" ).after( div ); var url_return = url.split( 'breeze-msg' ); setTimeout( function () { window.location = url_return[ 0 ]; //location.reload(); }, 2000 ); } } else { //frontend } } ); $( '#breeze-hide-install-msg' ).unbind( 'click' ).click( function () { $( this ).closest( 'div.notice' ).fadeOut(); } ) function current_url_clean() { var query_search = location.search; if ( ( query_search.indexOf( 'breeze_purge=1' ) !== -1 || query_search.indexOf( 'breeze_purge_cloudflare=1' ) !== -1 ) && query_search.indexOf( '_wpnonce' ) !== -1 ) { var params = new URLSearchParams( location.search ); params.delete( 'breeze_purge' ) params.delete( 'breeze_purge_cloudflare' ) params.delete( '_wpnonce' ) history.replaceState( null, '', '?' + params + location.hash ) } } current_url_clean(); // Advanced options, API tab $box_container.on( 'change', '#breeze-enable-api', function () { var secure_api = $( '#breeze-secure-api' ); var token_api = $( '#breeze-api-token' ); //var api_route = $( '#breeze-secure-api' ); if ( $( this ).is( ':checked' ) ) { secure_api.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); token_api.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } else { secure_api.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); token_api.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); secure_api.prop( 'checked', false ); //token_api.trigger( 'change' ); } } ); $box_container.on( 'change', '#bz-lazy-load', function () { var native_lazy = $( '#native-lazy-option' ); var native_lazy_iframes = $( '#native-lazy-option-iframe' ); var native_lazy_video = $( '#native-lazy-option-videos' ); if ( true === $( this ).is( ':checked' ) ) { native_lazy.show(); native_lazy_iframes.show(); native_lazy_video.show(); } else { native_lazy.hide(); native_lazy_iframes.hide(); native_lazy_video.hide(); $( '#bz-lazy-load-nat' ).attr( 'checked', false ); $( '#bz-lazy-load-iframe' ).attr( 'checked', false ); $( '#bz-lazy-load-videos' ).attr( 'checked', false ); } } ); /* var font_display_swap = $( '#font-display-swap' ); var font_display = $( '#font-display' ); var css_minification = $( '#minification-css' ); if ( css_minification.is( ':checked' ) ) { font_display_swap.show(); } else { font_display_swap.hide(); font_display.attr( 'checked', false ); } */ $box_container.on( 'change', '#minification-css', function () { var font_display_swap = $( '#font-display-swap' ); var font_display = $( '#font-display' ); var include_inline_css = $( '#include-inline-css' ); var group_css = $( '#group-css' ); var minification_css = $( '#exclude-css' ); if ( $( this ).is( ':checked' ) ) { font_display_swap.show(); //include_inline_css.removeAttr( 'disabled' ); //group_css.removeAttr( 'disabled' ); minification_css.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); group_css.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); include_inline_css.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } else { font_display_swap.hide(); font_display.removeAttr( 'checked' ); //include_inline_css.removeAttr( 'checked' ).attr( 'disabled', 'disabled' ); //group_css.removeAttr( 'checked' ).attr( 'disabled', 'disabled' ); include_inline_css.prop( 'checked', false ); group_css.prop( 'checked', false ); minification_css.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); group_css.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); include_inline_css.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); } } ); $box_container.on( 'change', '#minification-js', function () { var include_inline_js = $( '#include-inline-js' ); var group_js = $( '#group-js' ); var exclude_js = $( '#exclude-js' ); var delay_js_scripts = $( '#enable-js-delay' ); // Delay JS Inline Scripts var enable_js_delay = $( '#breeze-delay-all-js' ); // Delay All JavaScript if ( $( this ).is( ':checked' ) ) { //include_inline_js.removeAttr( 'disabled' ); //group_js.removeAttr( 'disabled' ); exclude_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); if ( include_inline_js.is( "checked" ) ) { if ( ! delay_js_scripts.is( ':checked' ) && ! enable_js_delay.is( ':checked' ) ) { } } group_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); // breeze 194 include_inline_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } else { //include_inline_js.removeAttr( 'checked' ).attr( 'disabled', 'disabled' ); //group_js.removeAttr( 'checked' ).attr( 'disabled', 'disabled' ); include_inline_js.prop( 'checked', false ); group_js.prop( 'checked', false ); group_js.trigger( 'change' ); exclude_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); group_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); include_inline_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); } } ); /** * Breeze 194 */ // $box_container.on( // 'change', // '#include-inline-js', // function () { // var js_minification = $( '#minification-js' ); // var delay_js_scripts = $( '#enable-js-delay' ); // Delay JS Inline Scripts // var enable_js_delay = $( '#breeze-delay-all-js' ); // Delay All JavaScript // var group_js = $( '#group-js' ); // if ( js_minification.is( ':checked' ) ) { // if ( !delay_js_scripts.is( ':checked' ) && !enable_js_delay.is( ':checked' ) ) { // group_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); // } // } // // if ( $( this ).is( ':checked' ) ) { // if ( !delay_js_scripts.is( ':checked' ) && !enable_js_delay.is( ':checked' ) ) { // group_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); // } // } else { // group_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); // group_js.prop( 'checked', false ); // } // } // ); $box_container.on( 'change', '#group-js', function () { var delay_js_scripts = $( '#enable-js-delay' ); // Delay JS Inline Scripts var enable_js_delay = $( '#breeze-delay-all-js' ); // Delay All JavaScript if ( $( this ).is( ':checked' ) ) { delay_js_scripts.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); delay_js_scripts.prop( 'checked', false ); enable_js_delay.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); enable_js_delay.prop( 'checked', false ); } else { delay_js_scripts.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); enable_js_delay.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } } ); $box_container.on( 'change', '#breeze-delay-all-js', function () { var group_js = $( '#group-js' ); var $delay_js_div_all = $( '#breeze-delay-js-scripts-div-all' ); var $enable_inline_delay = $( '#enable-js-delay' ); if ( $( this ).is( ':checked' ) ) { $delay_js_div_all.show(); $( 'input[name="enable-js-delay"]' ).prop( 'checked', false ); $( '#breeze-delay-js-scripts-div' ).hide(); $enable_inline_delay.attr( 'disabled', 'disabled' ); group_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); group_js.prop( 'checked', false ); } else { $delay_js_div_all.hide(); $enable_inline_delay.removeAttr( 'disabled' ); group_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } } ) $box_container.on( 'change', '#enable-js-delay', function () { var $delay_js_div = $( '#breeze-delay-js-scripts-div' ); var $delay_all_js = $( '#breeze-delay-all-js' ); var group_js = $( '#group-js' ); if ( $( this ).is( ':checked' ) ) { $delay_js_div.show(); $( 'input[name="breeze-delay-all-js"]' ).prop( 'checked', false ); $( '#breeze-delay-js-scripts-div-all' ).hide(); $delay_all_js.attr( 'disabled', 'disabled' ); group_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); group_js.prop( 'checked', false ); } else { $delay_js_div.hide(); $delay_all_js.removeAttr( 'disabled' ); group_js.closest( 'div.br-option-item' ).removeClass( 'br-apply-disable' ); } } ) } ); var $valid_json = false; jQuery( document ).ready( function ( $ ) { var $tab_import = $( '.breeze-box' ); // database clean tabs $( 'input[name="all_control"]' ).click( function () { var checked = $( this ).is( ':checked' ); if ( checked == true ) { $( ".clean-data" ).prop( "checked", true ); } else { $( ".clean-data" ).prop( "checked", false ); } } ); $( '.clean-data' ).click( function () { var checked = $( this ).is( ':checked' ); if ( checked == false ) { $( 'input[name="all_control"]' ).prop( 'checked', false ); } } ); function initRemoveBtn() { $tab_import.on( 'click', 'span.item-remove', function(){ var inputURL = $( this ).closest( '.breeze-input-group' ); inputURL.fadeOut( 300, function () { inputURL.remove(); validateMoveButtons(); } ); } ); } initRemoveBtn(); function initSortableHandle() { if ( $( '.breeze-list-url' ).length ) { $( '.breeze-list-url' ).sortable( { handle: $( 'span.sort-handle' ), stop: validateMoveButtons } ); } } initSortableHandle(); function initMoveButtons() { $( '.sort-handle span' ).unbind( 'click' ).click( function ( e ) { var inputGroup = $( this ).parents( '.breeze-input-group' ); if ( $( this ).hasClass( 'moveUp' ) ) { inputGroup.insertBefore( inputGroup.prev() ); } else { inputGroup.insertAfter( inputGroup.next() ); } validateMoveButtons(); } ); } initMoveButtons(); function validateMoveButtons() { var listURL = $( '.breeze-list-url' ); listURL.find( '.breeze-input-group' ).find( '.sort-handle' ).find( 'span' ).removeClass( 'blur' ); listURL.find( '.breeze-input-group:first-child' ).find( '.moveUp' ).addClass( 'blur' ); listURL.find( '.breeze-input-group:last-child' ).find( '.moveDown' ).addClass( 'blur' ); } validateMoveButtons(); function is_valid_url(str) { var regexp = /^(?:(?:https?|ftp):\/\/)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)(?:\.(?:[a-z\u00a1-\uffff0-9]-*)*[a-z\u00a1-\uffff0-9]+)*(?:\.(?:[a-z\u00a1-\uffff]{2,})))(?::\d{2,5})?(?:\/\S*)?$/; if (regexp.test( str )) { return true; } else { return false; } } $tab_import.on( 'keyup change blur', '.breeze-input-url', function(){ var url_value = $( this ).val(); if ('' !== url_value) { var is_valid = is_valid_url( url_value ); if (true === is_valid) { $( this ).removeClass( 'is-invalid-url' ) } else { $( this ).addClass( 'is-invalid-url' ); } } } ); //$( 'button.add-url' ).unbind( 'click' ).click( $tab_import.on( 'click', 'button.add-url', function () { var defer = $( this ).attr( 'id' ).indexOf( 'defer' ) > -1; var preload = $( this ).attr( 'id' ).indexOf( 'preload-fonts' ) > -1; var listURL = $( this ).closest( 'div.br-option' ).find( '.breeze-list-url' ); var html = ''; var listInput = listURL.find( '.breeze-input-group' ); var emptyInput = false; listInput.each( function () { var thisInput = $( this ).find( '.breeze-input-url' ); if ( thisInput.val().trim() === '' ) { thisInput.focus(); emptyInput = true; return false; } } ); if ( emptyInput ) { return false; } html += '
'; html += ' = 2 ) { var prefix = encodeURIComponent( arg ) + '='; var pars = urlparts[ 1 ].split( /[&;]/g ); for ( var i = pars.length; i-- > 0; ) { if ( pars[ i ].lastIndexOf( prefix, 0 ) !== -1 ) { pars.splice( i, 1 ); } } return urlparts[ 0 ] + ( pars.length > 0 ? '?' + pars.join( '&' ) : '' ); } return url; } // Remove notice query args from URL. if ( window.history && typeof window.history.pushState === 'function' ) { var clean_url = remove_query_arg( window.location.href, 'save-settings' ); clean_url = remove_query_arg( clean_url, 'database-cleanup' ); window.history.replaceState( null, null, clean_url ); } /** * Import/Export settings TAB. */ $tab_import.on( 'click tap', '#breeze_export_settings', function () { $network = $( '#breeze-level' ).val(); window.location = ajaxurl + '?action=breeze_export_json&network_level=' + $network; } ); $( '#breeze_import_btn' ).attr( 'disabled', 'disabled' ); $tab_import.on( 'change', '#breeze_import_settings', function () { var the_file = this.files[ 0 ]; var filename_holder = $( '#file-selected' ); var filename_error = $( '#file-error' ); var breeze_import_btn = $( '#breeze_import_btn' ); filename_holder.html( the_file.name ); if ( 'application/json' !== the_file.type ) { $valid_json = false; filename_holder.removeClass( 'file_green file_red' ).addClass( 'file_red' ); filename_error.html( 'File must be JSON' ); breeze_import_btn.attr( 'disabled', 'disabled' ); } else { $valid_json = true; filename_holder.removeClass( 'file_green file_red' ).addClass( 'file_green' ); filename_error.html( '' ); breeze_import_btn.removeAttr( 'disabled' ); } $( '.br-file-text' ).remove(); } ); $tab_import.on( 'click tap', '#breeze_import_btn', function () { if ( true === $valid_json ) { var network = $( '#breeze-level' ).val(); var the_file = $( '#breeze_import_settings' ).get( 0 ).files[ 0 ]; var breeze_data = new FormData(); breeze_data.append( 'action', 'breeze_import_json' ); breeze_data.append( 'network_level', network ); breeze_data.append( 'breeze_import_file', the_file ); breeze_data.append( 'security', breeze_token_name.breeze_import_settings ); var filename_holder = $( '#file-selected' ); var filename_error = $( '#file-error' ); var import_settings = '
'; filename_holder.removeClass( 'file_green file_red' ).addClass( 'file_green' ); filename_holder.html( import_settings ); $.ajax( { type: "POST", url: ajaxurl, data: breeze_data, processData: false, contentType: false, enctype: 'multipart/form-data', mimeType: 'multipart/form-data', // this too cache: false, dataType: 'json', // xml, html, script, json, jsonp, text success: function ( json ) { if ( true == json.success ) { filename_holder.removeClass( 'file_green file_red' ).addClass( 'file_green' ); filename_holder.html( json.data ); filename_error.html( '' ); alert( json.data ); window.location.reload( true ); } else { filename_holder.removeClass( 'file_green file_red' ); filename_holder.html( '' ); filename_error.html( json.data[ 0 ].message ); } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } } ); } ); /** * Created by on 09/11/2021. */ ( function ( $ ) { var selected_services = []; setTimeout( function () { var found_alert = $( '.message-clear-cache-top' ); if ( found_alert.length ) { found_alert.prependTo( '#wpbody-content' ); found_alert.show(); } }, 1000 ); $( window ).on( 'resize', function () { var win = $( this ); //this = window if ( win.height() >= 632 ) { $( '.br-link' ).removeAttr( 'style' ); } } ); var loader_spinner = '
'; var loader_spinner_save = '
'; // document.cookie = 'breeze_active_tab=' + requested_tab; $( document ).on( 'click', '#breeze-cache-on', function ( e ) { e.preventDefault(); document.cookie = 'breeze_active_tab=basic'; window.location.href = $( this ).attr( 'href' ); } ) $( '.breeze-box .br-link' ).on( 'click tap', 'a', function ( e ) { e.preventDefault(); var requested_tab = this.dataset.tabId; var $html_area = $( '.br-options' ); active_tab = get_cookie( 'breeze_active_tab' ); if ( !active_tab ) { active_tab = 'basic'; } $( '.br-link' ).removeClass( 'br-active' ); $( '.br-link' ).each( function ( index, element ) { // element == this var $the_slug = element.dataset.breezeLink; var $image = $( this ).find( 'img' ); var $image_path = $image.get( 0 ).dataset.path; $image.attr( 'src', $image_path + $the_slug + '.png' ); } ); var this_line = $( this ).closest( '.br-link' ); this_line.addClass( 'br-active' ); var $image = this_line.find( 'img' ); var $image_path = $image.get( 0 ).dataset.path; $image.attr( 'src', $image_path + requested_tab + '-active.png' ); $html_area.html( loader_spinner ); var $mobile_menu_is = $( '.br-mobile-menu' ).is( ':visible' ); if ( true === $mobile_menu_is ) { $( '.br-link' ).fadeOut(); } $.ajax( { type: "GET", url: ajaxurl, data: { action: 'breeze_load_options_tab', 'request_tab': requested_tab, 'is-network': $( 'body' ).hasClass( 'network-admin' ) }, contentType: 'text/html; charset=UTF-8', dataType: 'html', // xml, html, script, json, jsonp, text success: function ( data ) { $html_area.html( data ); }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { breeze_permission_check(); document.cookie = 'breeze_active_tab=' + requested_tab; if ( 'faq' === requested_tab ) { if ( $( '#faq-content' ).length ) { $( '#faq-content' ).accordion( { collapsible: true, animate: 200, header: '.faq-question', heightStyle: 'content' } ); } } selected_services = []; var global_group_js = $( '#group-js' ); var global_delay_js_scripts = $( '#enable-js-delay' ); // Delay JS Inline Scripts var global_enable_js_delay = $( '#breeze-delay-all-js' ); // Delay All JavaScript var is_exception_delay_js, is_exception_enable_js; if ( global_delay_js_scripts.length ) { is_exception_delay_js = $( '#enable-js-delay' ).get( 0 ).dataset.noaction; } if ( global_enable_js_delay.length ) { is_exception_enable_js = $( '#breeze-delay-all-js' ).get( 0 ).dataset.noaction; } if ( global_group_js.length ) { if ( global_group_js.is( ':checked' ) ) { if ( typeof is_exception_delay_js === 'undefined' ) { global_delay_js_scripts.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); } if ( typeof is_exception_enable_js === 'undefined' ) { global_enable_js_delay.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); } if ( typeof is_exception_delay_js === 'undefined' && global_delay_js_scripts.is( ':checked' ) ) { global_delay_js_scripts.prop( 'checked', false ); global_delay_js_scripts.trigger( 'change' ); } if ( typeof is_exception_enable_js === 'undefined' && global_enable_js_delay.is( ':checked' ) ) { global_enable_js_delay.prop( 'checked', false ); global_enable_js_delay.trigger( 'change' ); } } else if ( global_delay_js_scripts.is( ':checked' ) || global_enable_js_delay.is( ':checked' ) ) { global_group_js.closest( 'div.br-option-item' ).addClass( 'br-apply-disable' ); global_group_js.prop( 'checked', false ); } } } } ); } ); function breeze_permission_check() { var existing_notice = $( '.breeze-per' ); if ( existing_notice.length ) { existing_notice.empty(); existing_notice.append( '

Re-checking permissions, please wait...

' ); } $.ajax( { type: "GET", url: ajaxurl, data: { action: "breeze_file_permission_check", 'is-network': $( 'body' ).hasClass( 'network-admin' ) }, dataType: "html", // xml, html, script, json, jsonp, text success: function ( data ) { if ( '' === data || 'no-issue' === data ) { existing_notice.remove(); } else { if ( existing_notice.length ) { $( data ).insertBefore( existing_notice ); existing_notice.remove(); } else { $( '#wpbody-content' ).prepend( data ); } } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } function get_cookie( cname ) { var name = cname + "="; var ca = document.cookie.split( ';' ); for ( var i = 0; i < ca.length; i++ ) { var c = ca[ i ]; while ( c.charAt( 0 ) == ' ' ) { c = c.substring( 1 ); } if ( c.indexOf( name ) == 0 ) { return c.substring( name.length, c.length ); } } return ""; } var active_tab = get_cookie( 'breeze_active_tab' ); if ( $( '#tab-basic' ).closest( 'div.br-link' ).hasClass( 'br-hide' ) ) { $( '#tab-faq' ).trigger( 'click' ); } else { if ( typeof active_tab !== 'undefined' && '' !== active_tab ) { if ( 'import_export' === active_tab ) { active_tab = 'basic'; } var link_target = $( '#tab-' + active_tab ); if ( link_target.length ) { link_target.trigger( 'click' ); } } else { var default_target = $( '#tab-basic' ); if ( default_target.length ) { default_target.trigger( 'click' ); } } } var $container_box = $( '.breeze-box' ); $container_box.on( 'click', '.br-db-item', function () { var this_section_id = this.dataset.section; if ( $( this ).hasClass( 'br-db-selected' ) ) { $( this ).removeClass( 'br-db-selected' ); if ( selected_services.length ) { var temp_array = []; for ( var i = 0; i < selected_services.length; i++ ) { if ( this_section_id !== selected_services[ i ] ) { temp_array.push( selected_services[ i ] ); } } selected_services = temp_array; } } else { $( this ).addClass( 'br-db-selected' ); selected_services.push( this_section_id ); } var submit_services = $( '#optimize-selected-services' ); if ( selected_services.length ) { submit_services.show(); } else { submit_services.hide(); } } ); $container_box.on( 'click', '#optimize-selected-services', function ( e ) { var do_task = false; if ( selected_services.length ) { do_task = true; } if ( false === do_task ) { alert( 'Please select an options first' ); } else { var ask_clean_start = confirm( 'Proceed to optimize the selected items?' ); if ( ask_clean_start ) { $( '
', { 'id': 'breeze_loader_function' } ).appendTo( 'body' ); $( '
', { 'id': 'breeze_info' } ).appendTo( 'body' ); breeze_do_db_actions( selected_services, 0 ); } } } ); /** * Format string to capital case * created for breeze_do_db_actions:1307 * * @param str * @returns {*} */ function breeze_uc_words( str ) { return str.replace( /(^|\s)\S/g, function ( match ) { return match.toUpperCase(); } ); } function breeze_do_db_actions( selected_services, call_index, optimize_db_no ) { if ( typeof optimize_db_no === 'undefined' ) { optimize_db_no = { 'page_no': 0, 'total_no': 0 }; } var title = selected_services[ call_index ]; title = title.replace( /_/gi, " " ); title = breeze_uc_words( title ); title = ' ' + ' ' + title; if ( 'optimize_database' === selected_services[ call_index ] ) { var current_db_count = optimize_db_no.page_no * 50; title = title + ' (' + current_db_count + ' / ' + optimize_db_no.total_no + ' )'; } $( 'body' ).find( '#breeze_info' ).html( title ); var count_total = selected_services.length; var do_increment = true; $.ajax( { type: "POST", url: ajaxurl, data: { action: "breeze_purge_database", 'action_type': selected_services[ call_index ], 'db_count': optimize_db_no.page_no, //'services': JSON.stringify( Object.assign( {}, selected_services[call_index] ) ), 'security': breeze_token_name.breeze_purge_database, 'is-network': $( 'body' ).hasClass( 'network-admin' ) }, dataType: "JSON", // xml, html, script, json, jsonp, text success: function ( data ) { if ( data.clear.optmize_no ) { optimize_db_no.page_no = data.clear.optmize_no; optimize_db_no.total_no = data.clear.db_total; do_increment = false; breeze_do_db_actions( selected_services, call_index, optimize_db_no ); //call_index--; } else { do_increment = true; $( 'div.br-db-item' ).each( function ( index, element ) { var this_section_id = element.dataset.section; // element == this if ( $.inArray( this_section_id, selected_services ) !== -1 ) { $( element ).find( 'h3' ).find( 'span' ).removeClass( 'br-has' ).html( '0' ); $( element ).removeClass( 'br-db-selected' ); } } ); } }, error: function ( jqXHR, textStatus, errorThrown ) { $( '#breeze_loader_function' ).remove(); $( 'body' ).find( '#breeze_info' ).remove(); alert( 'Error while trying to optimize' ); }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { if ( true === do_increment ) { call_index++; if ( call_index < count_total ) { breeze_do_db_actions( selected_services, call_index ); } else { selected_services = []; $( '#breeze_loader_function' ).remove(); $( 'body' ).find( '#breeze_info' ).remove(); $( '#tab-database' ).trigger( 'click' ); } } } } ); } $container_box.on( 'click', '.do_clean_action', function ( e ) { e.preventDefault(); var action_type = this.dataset.section; var section = $( this ).closest( 'div.br-db-item' ); var section_title = section.get( 0 ).dataset.sectionTitle; var confirm_action = confirm( 'Confirm the action to clean ' + section_title ); if ( confirm_action ) { $( this ).addClass( 'opac' ); $.ajax( { type: "POST", url: ajaxurl, data: { action: "breeze_purge_database", 'action_type': action_type, 'security': breeze_token_name.breeze_purge_database, 'is-network': $( 'body' ).hasClass( 'network-admin' ) }, dataType: "JSON", // xml, html, script, json, jsonp, text success: function ( data ) { section.find( 'h3' ).find( 'span' ).removeClass( 'br-has' ).html( '0' ); alert( 'Data for ' + section_title + ' has been cleaned' ); }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } } ); $container_box.on( 'change', '#br-clean-all', function ( e ) { var is_selected = $( this ).is( ':checked' ); var the_action_button = $( '#br-clean-all-cta' ); if ( true === is_selected ) { the_action_button.removeAttr( 'disabled' ); selected_services = []; $( '.br-db-item' ).each( function ( index, element ) { // element == this var this_section_id = this.dataset.section; if ( $( element ).hasClass( 'br-db-selected' ) ) { } else { $( element ).addClass( 'br-db-selected' ); } selected_services.push( this_section_id ); } ); } else { the_action_button.attr( 'disabled', 'disabled' ); selected_services = []; $( '.br-db-item' ).each( function ( index, element ) { // element == this $( element ).removeClass( 'br-db-selected' ) selected_services = []; } ); } } ); $container_box.on( 'click', '#br-clean-all-cta', function ( e ) { var is_disabled = $( this ).is( ':disabled' ); if ( false === is_disabled ) { var ask_clean_start = confirm( 'Proceed to clean all trashed posts and pages?' ); if ( ask_clean_start ) { $( '
', { 'id': 'breeze_loader_function' } ).appendTo( 'body' ); $( '
', { 'id': 'breeze_info' } ).appendTo( 'body' ); breeze_do_db_actions( selected_services, 0 ); // $.ajax( // { // type: "POST", // url: ajaxurl, // data: { // action: "breeze_purge_database", // 'action_type': 'all', // 'security': breeze_token_name.breeze_purge_database, // 'is-network': $( 'body' ).hasClass( 'network-admin' ) // }, // dataType: "JSON", // xml, html, script, json, jsonp, text // success: function ( data ) { // // $( '.br-clean-label' ).find( 'span' ).removeClass( 'br-has' ).html( '( 0 )' ); // // $( 'div.br-db-item' ).each( // function ( index, element ) { // // element == this // $( element ).find( 'h3' ).find( 'span' ).removeClass( 'br-has' ).html( '0' ); // } // ); // var enable_clean_all = $( '#br-clean-all' ); // if ( enable_clean_all.is( ':checked' ) ) { // enable_clean_all.trigger( 'click' ); // } // alert( 'Clean all process finished' ); // // }, // error: function ( jqXHR, textStatus, errorThrown ) { // // }, // // called when the request finishes (after success and error callbacks are executed) // complete: function ( jqXHR, textStatus ) { // // } // } // ); } } } ); $container_box.on( 'click', '.br-mobile-menu', function () { $( '.br-link' ).fadeToggle(); } ); $container_box.on( 'click', '.br-submit-save', function ( e ) { e.preventDefault(); var $form = $( this ).closest( 'form' ); var tab_is = $form.get( 0 ).dataset.section; var data_send = { 'action': 'save_settings_tab_' + tab_is, 'security': breeze_token_name.breeze_save_options, 'form-data': $form.serialize(), 'is-network': $( 'body' ).hasClass( 'network-admin' ) }; var $html_area = $( '.br-options' ); $html_area.html( loader_spinner_save ); $.ajax( { type: "POST", url: ajaxurl, data: data_send, dataType: "JSON", // xml, html, script, json, jsonp, text success: function ( data ) { $( '#tab-' + tab_is ).trigger( 'click' ); }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } ); $container_box.on( 'click', '#refresh-api-token', function ( e ) { e.preventDefault(); var data_send = { 'action': 'refresh_api_token_key', 'security': breeze_token_name.breeze_save_options, 'is-network': $( 'body' ).hasClass( 'network-admin' ) }; $.ajax( { type: "POST", url: ajaxurl, data: data_send, dataType: "JSON", // xml, html, script, json, jsonp, text success: function ( data ) { if ( typeof data.new_token !== 'undefined' ) { $( '#breeze-api-token' ).val( data.new_token ); } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { } } ); } ); $( document ).on( 'change', 'input:radio[name="inherit-settings"]', function () { var is_selected = $( 'input:radio[name="inherit-settings"]:checked' ).val(); var is_network = '.br-is-network'; var is_custom = '.br-is-custom'; var tab_is = 'inherit'; var nonce_is = $( this ).closest( 'div.change-settings-use' ).find( 'input#breeze_inherit_settings_nonce' ).val(); $( '.br-overlay-disable' ).addClass( 'br-hide' ); var data_send = { 'action': 'save_settings_tab_' + tab_is, 'is-selected': is_selected, 'security': nonce_is, 'is-network': $( 'body' ).hasClass( 'network-admin' ) }; $( '
', { 'class': 'br-inherit-wait', 'html': '
' } ).appendTo( $( '#wpcontent' ) ); $.ajax( { type: "POST", url: ajaxurl, data: data_send, dataType: "JSON", // xml, html, script, json, jsonp, text success: function ( data ) { // var default_target = $( '#tab-basic' ); // if ( default_target.length ) { // default_target.trigger( 'click' ); // } }, error: function ( jqXHR, textStatus, errorThrown ) { }, // called when the request finishes (after success and error callbacks are executed) complete: function ( jqXHR, textStatus ) { $( '#wpcontent' ).find( 'div.br-inherit-wait' ).remove(); if ( '0' === is_selected || true === is_selected ) { // custom is enabled $( is_network ).removeClass( 'br-show' ).addClass( 'br-hide' ); $( is_custom ).removeClass( 'br-hide' ).addClass( 'br-show' ); $( '.br-link' ).removeClass( 'br-hide' ); $( '#tab-basic' ).trigger( 'click' ); } else { // network is enabled $( is_custom ).removeClass( 'br-show' ).addClass( 'br-hide' ); $( is_network ).removeClass( 'br-hide' ).addClass( 'br-show' ); $( '.br-link' ).each( function ( index, element ) { // element == this var data_is = element.dataset.breezeLink; if ( 'faq' !== data_is ) { $( element ).addClass( 'br-hide' ); } } ); $( '#tab-faq' ).trigger( 'click' ); } } } ); } ); $( document ).on( 'click', '.notice-dismiss', function () { var parent = $( this ).closest( 'div.notice' ); if ( parent.hasClass( 'breeze-notice' ) ) { parent.fadeOut( 'fast' ).remove(); } } ); } )( jQuery );