Add massive collection of CSS, JavaScript and theme assets that were previously excluded: **CSS Files (681 total):** - HVAC plugin-specific styles (hvac-*.css): 34 files including dashboard, certificates, registration, mobile nav, accessibility fixes, animations, and welcome popup - Theme framework files (Astra, builder systems, layouts): 200+ files - Plugin compatibility styles (WooCommerce, WPForms, Elementor, Contact Form 7): 150+ files - WordPress core and editor styles: 50+ files - Responsive and RTL language support: 200+ files **JavaScript Files (400+ total):** - HVAC plugin functionality (hvac-*.js): 27 files including menu systems, dashboard enhancements, profile sharing, mobile responsive features, accessibility, and animations - Framework and library files: jQuery plugins, GSAP, AOS, Swiper, Chart.js, Lottie, Isotope - Plugin compatibility scripts: WPForms, WooCommerce, Elementor, Contact Form 7, LifterLMS - WordPress core functionality: customizer, admin, block editor compatibility - Third-party integrations: Stripe, SMTP, analytics, search functionality **Assets:** - Certificate background images and logos - Comprehensive theme styling infrastructure - Mobile-responsive design systems - Cross-browser compatibility assets - Performance-optimized minified versions **Updated .gitignore:** - Fixed asset directory whitelisting patterns to properly include CSS/JS/images - Added proper directory structure recognition (!/assets/css/, !/assets/js/, etc.) - Maintains security by excluding sensitive files while including essential assets This commit provides the complete frontend infrastructure needed for: - Full theme functionality and styling - Plugin feature implementations - Mobile responsiveness and accessibility - Cross-browser compatibility - Performance optimization - Developer workflow support
		
			
				
	
	
		
			1762 lines
		
	
	
	
		
			50 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			1762 lines
		
	
	
	
		
			50 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| 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 = '<div id="message" class="notice notice-success is-dismissible breeze-notice" style="margin-top:10px; margin-bottom:10px;padding: 10px;margin-left: 0;"><p><strong>Object Cache has been purged.</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 							//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() {
 | |
| 			$(
 | |
| 				'<div/>',
 | |
| 				{
 | |
| 					'id': 'breeze_loader_function'
 | |
| 				}
 | |
| 			).appendTo( 'body' );
 | |
| 
 | |
| 			$(
 | |
| 				'<div/>',
 | |
| 				{
 | |
| 					'id': 'breeze_info',
 | |
| 					'html': '<span class="breeze-ajax-loader"></span>'
 | |
| 				}
 | |
| 			).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 = '<div id="message" class="notice notice-success is-dismissible breeze-notice" style="margin-top:10px; margin-bottom:10px;padding: 10px;margin-left: 0;"><p><strong>Varnish Cache has been purged.</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 							//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 = '<div id="message" class="notice notice-success is-dismissible breeze-notice br-internal-purge" style="margin-top:10px; margin-bottom:10px;padding: 10px;margin-left: 0;"><p><strong>Internal cache has been purged: ' + fileClean + 'Kb cleaned</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 						} else {
 | |
| 							div = '<div id="message" class="notice notice-success is-dismissible breeze-notice br-internal-purge" style="margin-top:10px; margin-bottom:10px;padding: 10px;margin-left: 0;"><p><strong>Internal cache has been purged.</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 
 | |
| 						}
 | |
| 						$( "#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 = '<div id="message" class="notice notice-success is-dismissible breeze-notice" style="margin-top:10px; margin-bottom:10px;padding: 10px;"><p><strong>Internal cache has been purged: ' + fileClean + 'Kb cleaned</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 						} else {
 | |
| 							div = '<div id="message" class="notice notice-success is-dismissible breeze-notice" style="margin-top:10px; margin-bottom:10px;padding: 10px;"><p><strong>Internal cache has been purged.</strong></p><button type="button" class="notice-dismiss"><span class="screen-reader-text">Dismiss this notice.</span></button></div>';
 | |
| 
 | |
| 						}
 | |
| 
 | |
| 						$( "#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 += '<div class="breeze-input-group">';
 | |
| 				html += '   <input type="text" size="98"';
 | |
| 				html += 'class="breeze-input-url"';
 | |
| 				if ( preload ) {
 | |
| 					html += 'name="breeze-preload-font[]"';
 | |
| 				} else if ( ! defer ) {
 | |
| 					html += 'name="move-to-footer-js[]"';
 | |
| 				} else {
 | |
| 					html += 'name="defer-js[]"';
 | |
| 				}
 | |
| 				html += 'placeholder="Enter URL..."';
 | |
| 				html += 'value="" />';
 | |
| 				html += '   <span class="sort-handle">';
 | |
| 				html += '       <span class="dashicons dashicons-arrow-up moveUp"></span>';
 | |
| 				html += '       <span class="dashicons dashicons-arrow-down moveDown"></span>';
 | |
| 				html += '   </span>';
 | |
| 				html += '       <span class="dashicons dashicons-no item-remove" title="Remove"></span>';
 | |
| 				html += '</div>';
 | |
| 
 | |
| 				listURL.append( html );
 | |
| 				initRemoveBtn();
 | |
| 				initSortableHandle();
 | |
| 				initMoveButtons();
 | |
| 				validateMoveButtons();
 | |
| 			}
 | |
| 		);
 | |
| 
 | |
| 		// Change tab // TODO REMOVE
 | |
| 		$( "#breeze-tabs .nav-tab" ).click(
 | |
| 			function ( e ) {
 | |
| 				e.preventDefault();
 | |
| 				$( "#breeze-tabs .nav-tab" ).removeClass( 'active' );
 | |
| 				$( e.target ).addClass( 'active' );
 | |
| 				id_tab = $( this ).data( 'tab-id' );
 | |
| 				$( "#tab-" + id_tab ).addClass( 'active' );
 | |
| 				$( "#breeze-tabs-content .tab-pane" ).removeClass( 'active' );
 | |
| 				$( "#tab-content-" + id_tab ).addClass( 'active' );
 | |
| 				document.cookie = 'breeze_active_tab=' + id_tab;
 | |
| 
 | |
| 				// Toggle right-side content
 | |
| 				if ( id_tab === 'faq' ) {
 | |
| 					$( '#breeze-and-cloudways' ).hide();
 | |
| 					if ( $( '#faq-content' ).length ) {
 | |
| 						$( '#faq-content' ).accordion(
 | |
| 							{
 | |
| 								collapsible: true,
 | |
| 								animate: 200,
 | |
| 								header: '.faq-question',
 | |
| 								heightStyle: 'content'
 | |
| 							}
 | |
| 						);
 | |
| 					}
 | |
| 				} else {
 | |
| 					$( '#breeze-and-cloudways' ).show();
 | |
| 				}
 | |
| 			}
 | |
| 		);
 | |
| 
 | |
| 		// Cookie do
 | |
| 		function Breeze_setTabFromCookie() {
 | |
| 			var breeze_active_tab = getCookie( 'breeze_active_tab' );
 | |
| 			if ( ! breeze_active_tab ) {
 | |
| 				breeze_active_tab = 'basic';
 | |
| 			}
 | |
| 
 | |
| 			if ('import_export' === breeze_active_tab) {
 | |
| 				breeze_active_tab = 'basic';
 | |
| 			}
 | |
| 
 | |
| 			if ( $( "#tab-" + breeze_active_tab ).length === 0 ) { // Tab not found (multisite case)
 | |
| 				firstTab = $( '#breeze-tabs' ).find( 'a:first-child' );
 | |
| 				if (firstTab.length) {
 | |
| 					tabType = firstTab.attr( 'id' ).replace( 'tab-', '' );
 | |
| 					firstTab.addClass( 'active' );
 | |
| 					$( "#tab-content-" + tabType ).addClass( 'active' );
 | |
| 				}
 | |
| 			} else {
 | |
| 				$( "#tab-" + breeze_active_tab ).addClass( 'active' );
 | |
| 				$( "#tab-content-" + breeze_active_tab ).addClass( 'active' );
 | |
| 			}
 | |
| 
 | |
| 			// Toggle right-side content
 | |
| 			if ( breeze_active_tab === 'faq' ) {
 | |
| 				$( '#breeze-and-cloudways' ).hide();
 | |
| 				if ( $( '#faq-content' ).length ) {
 | |
| 					$( '#faq-content' ).accordion(
 | |
| 						{
 | |
| 							collapsible: true,
 | |
| 							animate: 200,
 | |
| 							header: '.faq-question',
 | |
| 							heightStyle: 'content'
 | |
| 						}
 | |
| 					);
 | |
| 				}
 | |
| 			} else {
 | |
| 				$( '#breeze-and-cloudways' ).show();
 | |
| 			}
 | |
| 		}
 | |
| 
 | |
| 		function getCookie( 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 "";
 | |
| 		}
 | |
| 
 | |
| 		Breeze_setTabFromCookie();
 | |
| 
 | |
| 		// Sub-site settings toggle.
 | |
| 		var global_tabs                          = [
 | |
| 			'faq'
 | |
| 		];
 | |
| 		var save_settings_inherit_form_on_submit = true;
 | |
| 		var settings_inherit_form_did_change     = false;
 | |
| 		var $settings_inherit_form               = $( '#breeze-inherit-settings-toggle' );
 | |
| 		if ( $settings_inherit_form.length ) {
 | |
| 			$( 'input', $settings_inherit_form ).on(
 | |
| 				'change',
 | |
| 				function () {
 | |
| 					var inherit = $( this ).val() == '1';
 | |
| 
 | |
| 					$( '#breeze-tabs' ).toggleClass( 'tabs-hidden', inherit );
 | |
| 					$( '#breeze-tabs-content' ).toggleClass( 'tabs-hidden', inherit );
 | |
| 
 | |
| 					$( '#breeze-tabs .nav-tab' ).each(
 | |
| 						function () {
 | |
| 							var tab_id = $( this ).data( 'tab-id' );
 | |
| 
 | |
| 							if ( $.inArray( tab_id, global_tabs ) === -1 ) {
 | |
| 								$( this ).toggleClass( 'inactive', inherit );
 | |
| 								$( '#breeze-tabs-content #tab-content-' + tab_id ).toggleClass( 'inactive', inherit );
 | |
| 							}
 | |
| 						}
 | |
| 					);
 | |
| 
 | |
| 					settings_inherit_form_did_change = ! $( this ).parents( '.radio-field' ).hasClass( 'active' );
 | |
| 
 | |
| 					//$( 'p.disclaimer', $settings_inherit_form ).toggle( settings_inherit_form_did_change );
 | |
| 				}
 | |
| 			);
 | |
| 
 | |
| 			$( '#breeze-tabs-content form' ).on(
 | |
| 				'submit',
 | |
| 				function ( event ) {
 | |
| 					var $form = $( this );
 | |
| 
 | |
| 					if ( save_settings_inherit_form_on_submit && settings_inherit_form_did_change ) {
 | |
| 						event.preventDefault();
 | |
| 
 | |
| 						$.ajax(
 | |
| 							{
 | |
| 								url: window.location,
 | |
| 								method: 'post',
 | |
| 								data: $settings_inherit_form.serializeArray(),
 | |
| 
 | |
| 								beforeSend: function () {
 | |
| 									$settings_inherit_form.addClass( 'loading' );
 | |
| 								},
 | |
| 
 | |
| 								complete: function () {
 | |
| 									$settings_inherit_form.removeClass( 'loading' );
 | |
| 
 | |
| 									// Continue form submit.
 | |
| 									settings_inherit_form_did_change = false;
 | |
| 									$form.submit();
 | |
| 								},
 | |
| 
 | |
| 								success: function () {
 | |
| 									$( 'input:checked', $settings_inherit_form ).parents( '.radio-field' ).addClass( 'active' ).siblings().removeClass( 'active' );
 | |
| 								}
 | |
| 							}
 | |
| 						);
 | |
| 					} else {
 | |
| 						return;
 | |
| 					}
 | |
| 				}
 | |
| 			);
 | |
| 		}
 | |
| 
 | |
| 		// Database optimization.
 | |
| 		$( '#breeze-database-optimize' ).on(
 | |
| 			'click',
 | |
| 			function ( event ) {
 | |
| 				save_settings_inherit_form_on_submit = false;
 | |
| 			}
 | |
| 		);
 | |
| 		$( '#tab-content-database .submit input' ).on(
 | |
| 			'click',
 | |
| 			function ( event ) {
 | |
| 				$( '#tab-content-database input[type=checkbox]' ).attr( 'checked', false );
 | |
| 			}
 | |
| 		);
 | |
| 
 | |
| 		function remove_query_arg( url, arg ) {
 | |
| 			var urlparts = url.split( '?' );
 | |
| 			if ( urlparts.length >= 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 = '<div class="br-loader-spinner import_settings"><div></div><div></div><div></div><div></div></div>';
 | |
| 					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 <Cloudways> 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 = '<div class="br-loader-spinner loading_tab"><div></div><div></div><div></div><div></div></div>';
 | |
| 	var loader_spinner_save = '<div class="br-loader-spinner saving_settings"><div></div><div></div><div></div><div></div></div>';
 | |
| 
 | |
| 	// 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( '<p>Re-checking permissions, please wait...</p>' );
 | |
| 		}
 | |
| 
 | |
| 		$.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 ) {
 | |
| 					$(
 | |
| 						'<div/>',
 | |
| 						{
 | |
| 							'id': 'breeze_loader_function'
 | |
| 						}
 | |
| 					).appendTo( 'body' );
 | |
| 
 | |
| 					$(
 | |
| 						'<div/>',
 | |
| 						{
 | |
| 							'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 = '<span class="breeze-ajax-loader"></span> ' + ' ' + 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 ) {
 | |
| 					$(
 | |
| 						'<div/>',
 | |
| 						{
 | |
| 							'id': 'breeze_loader_function'
 | |
| 						}
 | |
| 					).appendTo( 'body' );
 | |
| 
 | |
| 					$(
 | |
| 						'<div/>',
 | |
| 						{
 | |
| 							'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' )
 | |
| 			};
 | |
| 
 | |
| 			$(
 | |
| 				'<div/>',
 | |
| 				{
 | |
| 					'class': 'br-inherit-wait',
 | |
| 					'html': '<div class="br-loader-spinner switch-to-settings"><div></div><div></div><div></div><div></div></div>'
 | |
| 				}
 | |
| 			).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 );
 |