SILENT KILLERPanel

Current Path: > home > codekrsu > > escapematrixonline.com > wp-admin > js >


Operation   : Linux premium131.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64
Software     : Apache
Server IP    : 162.0.232.56 | Your IP: 216.73.216.111
Domains      : 1034 Domain(s)
Permission   : [ 0755 ]

Files and Folders in: /home/codekrsu//escapematrixonline.com/wp-admin/js/

NameTypeSizeLast ModifiedActions
widgets Directory - -
accordion.js File 2933 bytes October 13 2024 23:09:12.
accordion.min.js File 758 bytes February 06 2025 22:27:26.
application-passwords.js File 6394 bytes September 18 2023 02:51:24.
application-passwords.min.js File 3024 bytes February 06 2025 22:27:26.
auth-app.js File 5796 bytes February 24 2021 00:45:04.
auth-app.min.js File 2084 bytes February 06 2025 22:27:26.
code-editor.js File 11588 bytes July 28 2020 03:35:02.
code-editor.min.js File 3083 bytes February 06 2025 22:27:26.
color-picker.js File 9768 bytes March 18 2021 23:01:04.
color-picker.min.js File 3486 bytes February 06 2025 22:27:26.
comment.js File 2919 bytes February 12 2024 00:14:20.
comment.min.js File 1315 bytes April 09 2022 00:07:18.
common.js File 62618 bytes April 25 2025 22:38:30.
common.min.js File 23676 bytes April 25 2025 22:38:30.
custom-background.js File 3435 bytes March 18 2021 23:01:04.
custom-background.min.js File 1206 bytes February 06 2025 22:27:26.
custom-header.js File 2023 bytes February 24 2021 00:45:04.
customize-controls.js File 294257 bytes December 23 2024 01:46:28.
customize-controls.min.js File 111759 bytes February 06 2025 22:27:26.
customize-nav-menus.js File 113587 bytes March 07 2025 04:48:24.
customize-nav-menus.min.js File 48015 bytes March 07 2025 04:48:24.
customize-widgets.js File 71727 bytes June 21 2024 22:17:14.
customize-widgets.min.js File 28065 bytes February 06 2025 22:27:26.
dashboard.js File 27666 bytes March 16 2025 23:40:32.
dashboard.min.js File 8862 bytes March 16 2025 23:40:32.
edit-comments.js File 38006 bytes December 14 2024 06:32:18.
edit-comments.min.js File 15488 bytes February 06 2025 22:27:26.
editor-expand.js File 42606 bytes April 12 2024 21:47:14.
editor-expand.min.js File 13451 bytes February 06 2025 22:27:26.
editor.js File 45036 bytes April 25 2025 22:28:30.
editor.min.js File 13066 bytes April 25 2025 22:28:30.
farbtastic.js File 7849 bytes July 18 2023 02:03:26.
gallery.js File 5543 bytes October 10 2023 01:31:28.
gallery.min.js File 3741 bytes October 10 2023 01:31:28.
image-edit.js File 40936 bytes August 28 2024 20:45:12.
image-edit.min.js File 15515 bytes February 06 2025 22:27:26.
inline-edit-post.js File 20650 bytes September 30 2024 22:24:14.
inline-edit-post.min.js File 9639 bytes February 06 2025 22:27:26.
inline-edit-tax.js File 7797 bytes March 18 2021 23:01:04.
inline-edit-tax.min.js File 2997 bytes February 06 2025 22:27:26.
iris.min.js File 23643 bytes November 03 2021 23:40:00.
language-chooser.js File 890 bytes February 24 2021 00:45:04.
language-chooser.min.js File 423 bytes February 24 2021 00:45:04.
link.js File 3987 bytes March 18 2021 23:01:04.
link.min.js File 1742 bytes March 18 2021 23:01:04.
media-gallery.js File 1303 bytes February 24 2021 00:45:04.
media-gallery.min.js File 611 bytes April 09 2022 00:07:18.
media-upload.js File 3465 bytes January 22 2021 17:32:04.
media-upload.min.js File 1152 bytes February 06 2025 22:27:26.
media.js File 6765 bytes October 07 2024 06:49:18.
media.min.js File 2439 bytes February 06 2025 22:27:26.
nav-menu.js File 61894 bytes March 07 2025 21:22:26.
nav-menu.min.js File 30485 bytes March 07 2025 21:22:26.
password-strength-meter.js File 4236 bytes January 22 2021 17:32:04.
password-strength-meter.min.js File 1123 bytes February 06 2025 22:27:26.
password-toggle.js File 1339 bytes June 24 2023 03:09:30.
password-toggle.min.js File 847 bytes February 06 2025 22:27:26.
plugin-install.js File 7086 bytes March 18 2021 23:01:04.
plugin-install.min.js File 2403 bytes February 02 2023 21:36:32.
post.js File 39607 bytes November 23 2024 01:10:24.
post.min.js File 18845 bytes February 06 2025 22:27:26.
postbox.js File 18937 bytes March 16 2025 23:40:32.
postbox.min.js File 6761 bytes March 16 2025 23:40:32.
privacy-tools.js File 10923 bytes June 21 2024 22:17:14.
privacy-tools.min.js File 5154 bytes June 21 2024 22:17:14.
revisions.js File 34729 bytes October 14 2024 00:49:14.
revisions.min.js File 18401 bytes February 06 2025 22:27:26.
set-post-thumbnail.js File 876 bytes July 07 2020 22:55:04.
set-post-thumbnail.min.js File 620 bytes July 07 2020 22:55:04.
site-health.js File 13465 bytes December 28 2023 20:27:16.
site-health.min.js File 6282 bytes February 06 2025 22:27:26.
site-icon.js File 6243 bytes August 24 2024 02:47:16.
site-icon.min.js File 2254 bytes February 06 2025 22:27:26.
svg-painter.js File 3280 bytes September 08 2024 02:44:18.
svg-painter.min.js File 1567 bytes February 06 2025 22:27:26.
tags-box.js File 11140 bytes March 18 2021 23:01:04.
tags-box.min.js File 3077 bytes February 06 2025 22:27:26.
tags-suggest.js File 5771 bytes February 19 2024 03:16:14.
tags-suggest.min.js File 2269 bytes February 06 2025 22:27:26.
tags.js File 4967 bytes March 10 2025 22:16:28.
tags.min.js File 2091 bytes March 10 2025 22:16:28.
theme-plugin-editor.js File 25360 bytes February 08 2025 20:53:18.
theme-plugin-editor.min.js File 11709 bytes February 08 2025 20:53:18.
theme.js File 55979 bytes March 10 2025 22:16:28.
theme.min.js File 27051 bytes March 10 2025 22:16:28.
updates.js File 111959 bytes February 08 2025 20:53:18.
updates.min.js File 48407 bytes February 08 2025 20:53:18.
user-profile.js File 15355 bytes September 18 2024 04:14:14.
user-profile.min.js File 6862 bytes February 06 2025 22:27:26.
user-suggest.js File 2301 bytes March 18 2021 23:01:04.
user-suggest.min.js File 676 bytes February 06 2025 22:27:26.
widgets.js File 23098 bytes March 18 2021 23:01:04.
widgets.min.js File 12609 bytes February 06 2025 22:27:26.
word-count.js File 7696 bytes July 28 2020 03:35:02.
word-count.min.js File 1530 bytes February 06 2025 22:27:26.
xfn.js File 740 bytes March 18 2021 23:01:04.
xfn.min.js File 458 bytes March 18 2021 23:01:04.

Reading File: /home/codekrsu//escapematrixonline.com/wp-admin/js//site-health.js

/**
 * Interactions used by the Site Health modules in WordPress.
 *
 * @output wp-admin/js/site-health.js
 */

/* global ajaxurl, ClipboardJS, SiteHealth, wp */

jQuery( function( $ ) {

	var __ = wp.i18n.__,
		_n = wp.i18n._n,
		sprintf = wp.i18n.sprintf,
		clipboard = new ClipboardJS( '.site-health-copy-buttons .copy-button' ),
		isStatusTab = $( '.health-check-body.health-check-status-tab' ).length,
		isDebugTab = $( '.health-check-body.health-check-debug-tab' ).length,
		pathsSizesSection = $( '#health-check-accordion-block-wp-paths-sizes' ),
		menuCounterWrapper = $( '#adminmenu .site-health-counter' ),
		menuCounter = $( '#adminmenu .site-health-counter .count' ),
		successTimeout;

	// Debug information copy section.
	clipboard.on( 'success', function( e ) {
		var triggerElement = $( e.trigger ),
			successElement = $( '.success', triggerElement.closest( 'div' ) );

		// Clear the selection and move focus back to the trigger.
		e.clearSelection();

		// Show success visual feedback.
		clearTimeout( successTimeout );
		successElement.removeClass( 'hidden' );

		// Hide success visual feedback after 3 seconds since last success.
		successTimeout = setTimeout( function() {
			successElement.addClass( 'hidden' );
		}, 3000 );

		// Handle success audible feedback.
		wp.a11y.speak( __( 'Site information has been copied to your clipboard.' ) );
	} );

	// Accordion handling in various areas.
	$( '.health-check-accordion' ).on( 'click', '.health-check-accordion-trigger', function() {
		var isExpanded = ( 'true' === $( this ).attr( 'aria-expanded' ) );

		if ( isExpanded ) {
			$( this ).attr( 'aria-expanded', 'false' );
			$( '#' + $( this ).attr( 'aria-controls' ) ).attr( 'hidden', true );
		} else {
			$( this ).attr( 'aria-expanded', 'true' );
			$( '#' + $( this ).attr( 'aria-controls' ) ).attr( 'hidden', false );
		}
	} );

	// Site Health test handling.

	$( '.site-health-view-passed' ).on( 'click', function() {
		var goodIssuesWrapper = $( '#health-check-issues-good' );

		goodIssuesWrapper.toggleClass( 'hidden' );
		$( this ).attr( 'aria-expanded', ! goodIssuesWrapper.hasClass( 'hidden' ) );
	} );

	/**
	 * Validates the Site Health test result format.
	 *
	 * @since 5.6.0
	 *
	 * @param {Object} issue
	 *
	 * @return {boolean}
	 */
	function validateIssueData( issue ) {
		// Expected minimum format of a valid SiteHealth test response.
		var minimumExpected = {
				test: 'string',
				label: 'string',
				description: 'string'
			},
			passed = true,
			key, value, subKey, subValue;

		// If the issue passed is not an object, return a `false` state early.
		if ( 'object' !== typeof( issue ) ) {
			return false;
		}

		// Loop over expected data and match the data types.
		for ( key in minimumExpected ) {
			value = minimumExpected[ key ];

			if ( 'object' === typeof( value ) ) {
				for ( subKey in value ) {
					subValue = value[ subKey ];

					if ( 'undefined' === typeof( issue[ key ] ) ||
						'undefined' === typeof( issue[ key ][ subKey ] ) ||
						subValue !== typeof( issue[ key ][ subKey ] )
					) {
						passed = false;
					}
				}
			} else {
				if ( 'undefined' === typeof( issue[ key ] ) ||
					value !== typeof( issue[ key ] )
				) {
					passed = false;
				}
			}
		}

		return passed;
	}

	/**
	 * Appends a new issue to the issue list.
	 *
	 * @since 5.2.0
	 *
	 * @param {Object} issue The issue data.
	 */
	function appendIssue( issue ) {
		var template = wp.template( 'health-check-issue' ),
			issueWrapper = $( '#health-check-issues-' + issue.status ),
			heading,
			count;

		/*
		 * Validate the issue data format before using it.
		 * If the output is invalid, discard it.
		 */
		if ( ! validateIssueData( issue ) ) {
			return false;
		}

		SiteHealth.site_status.issues[ issue.status ]++;

		count = SiteHealth.site_status.issues[ issue.status ];

		// If no test name is supplied, append a placeholder for markup references.
		if ( typeof issue.test === 'undefined' ) {
			issue.test = issue.status + count;
		}

		if ( 'critical' === issue.status ) {
			heading = sprintf(
				_n( '%s critical issue', '%s critical issues', count ),
				'<span class="issue-count">' + count + '</span>'
			);
		} else if ( 'recommended' === issue.status ) {
			heading = sprintf(
				_n( '%s recommended improvement', '%s recommended improvements', count ),
				'<span class="issue-count">' + count + '</span>'
			);
		} else if ( 'good' === issue.status ) {
			heading = sprintf(
				_n( '%s item with no issues detected', '%s items with no issues detected', count ),
				'<span class="issue-count">' + count + '</span>'
			);
		}

		if ( heading ) {
			$( '.site-health-issue-count-title', issueWrapper ).html( heading );
		}

		menuCounter.text( SiteHealth.site_status.issues.critical );

		if ( 0 < parseInt( SiteHealth.site_status.issues.critical, 0 ) ) {
			$( '#health-check-issues-critical' ).removeClass( 'hidden' );

			menuCounterWrapper.removeClass( 'count-0' );
		} else {
			menuCounterWrapper.addClass( 'count-0' );
		}
		if ( 0 < parseInt( SiteHealth.site_status.issues.recommended, 0 ) ) {
			$( '#health-check-issues-recommended' ).removeClass( 'hidden' );
		}

		$( '.issues', '#health-check-issues-' + issue.status ).append( template( issue ) );
	}

	/**
	 * Updates site health status indicator as asynchronous tests are run and returned.
	 *
	 * @since 5.2.0
	 */
	function recalculateProgression() {
		var r, c, pct;
		var $progress = $( '.site-health-progress' );
		var $wrapper = $progress.closest( '.site-health-progress-wrapper' );
		var $progressLabel = $( '.site-health-progress-label', $wrapper );
		var $circle = $( '.site-health-progress svg #bar' );
		var totalTests = parseInt( SiteHealth.site_status.issues.good, 0 ) +
			parseInt( SiteHealth.site_status.issues.recommended, 0 ) +
			( parseInt( SiteHealth.site_status.issues.critical, 0 ) * 1.5 );
		var failedTests = ( parseInt( SiteHealth.site_status.issues.recommended, 0 ) * 0.5 ) +
			( parseInt( SiteHealth.site_status.issues.critical, 0 ) * 1.5 );
		var val = 100 - Math.ceil( ( failedTests / totalTests ) * 100 );

		if ( 0 === totalTests ) {
			$progress.addClass( 'hidden' );
			return;
		}

		$wrapper.removeClass( 'loading' );

		r = $circle.attr( 'r' );
		c = Math.PI * ( r * 2 );

		if ( 0 > val ) {
			val = 0;
		}
		if ( 100 < val ) {
			val = 100;
		}

		pct = ( ( 100 - val ) / 100 ) * c + 'px';

		$circle.css( { strokeDashoffset: pct } );

		if ( 80 <= val && 0 === parseInt( SiteHealth.site_status.issues.critical, 0 ) ) {
			$wrapper.addClass( 'green' ).removeClass( 'orange' );

			$progressLabel.text( __( 'Good' ) );
			announceTestsProgression( 'good' );
		} else {
			$wrapper.addClass( 'orange' ).removeClass( 'green' );

			$progressLabel.text( __( 'Should be improved' ) );
			announceTestsProgression( 'improvable' );
		}

		if ( isStatusTab ) {
			$.post(
				ajaxurl,
				{
					'action': 'health-check-site-status-result',
					'_wpnonce': SiteHealth.nonce.site_status_result,
					'counts': SiteHealth.site_status.issues
				}
			);

			if ( 100 === val ) {
				$( '.site-status-all-clear' ).removeClass( 'hide' );
				$( '.site-status-has-issues' ).addClass( 'hide' );
			}
		}
	}

	/**
	 * Queues the next asynchronous test when we're ready to run it.
	 *
	 * @since 5.2.0
	 */
	function maybeRunNextAsyncTest() {
		var doCalculation = true;

		if ( 1 <= SiteHealth.site_status.async.length ) {
			$.each( SiteHealth.site_status.async, function() {
				var data = {
					'action': 'health-check-' + this.test.replace( '_', '-' ),
					'_wpnonce': SiteHealth.nonce.site_status
				};

				if ( this.completed ) {
					return true;
				}

				doCalculation = false;

				this.completed = true;

				if ( 'undefined' !== typeof( this.has_rest ) && this.has_rest ) {
					wp.apiRequest( {
						url: wp.url.addQueryArgs( this.test, { _locale: 'user' } ),
						headers: this.headers
					} )
						.done( function( response ) {
							/** This filter is documented in wp-admin/includes/class-wp-site-health.php */
							appendIssue( wp.hooks.applyFilters( 'site_status_test_result', response ) );
						} )
						.fail( function( response ) {
							var description;

							if ( 'undefined' !== typeof( response.responseJSON ) && 'undefined' !== typeof( response.responseJSON.message ) ) {
								description = response.responseJSON.message;
							} else {
								description = __( 'No details available' );
							}

							addFailedSiteHealthCheckNotice( this.url, description );
						} )
						.always( function() {
							maybeRunNextAsyncTest();
						} );
				} else {
					$.post(
						ajaxurl,
						data
					).done( function( response ) {
						/** This filter is documented in wp-admin/includes/class-wp-site-health.php */
						appendIssue( wp.hooks.applyFilters( 'site_status_test_result', response.data ) );
					} ).fail( function( response ) {
						var description;

						if ( 'undefined' !== typeof( response.responseJSON ) && 'undefined' !== typeof( response.responseJSON.message ) ) {
							description = response.responseJSON.message;
						} else {
							description = __( 'No details available' );
						}

						addFailedSiteHealthCheckNotice( this.url, description );
					} ).always( function() {
						maybeRunNextAsyncTest();
					} );
				}

				return false;
			} );
		}

		if ( doCalculation ) {
			recalculateProgression();
		}
	}

	/**
	 * Add the details of a failed asynchronous test to the list of test results.
	 *
	 * @since 5.6.0
	 */
	function addFailedSiteHealthCheckNotice( url, description ) {
		var issue;

		issue = {
			'status': 'recommended',
			'label': __( 'A test is unavailable' ),
			'badge': {
				'color': 'red',
				'label': __( 'Unavailable' )
			},
			'description': '<p>' + url + '</p><p>' + description + '</p>',
			'actions': ''
		};

		/** This filter is documented in wp-admin/includes/class-wp-site-health.php */
		appendIssue( wp.hooks.applyFilters( 'site_status_test_result', issue ) );
	}

	if ( 'undefined' !== typeof SiteHealth ) {
		if ( 0 === SiteHealth.site_status.direct.length && 0 === SiteHealth.site_status.async.length ) {
			recalculateProgression();
		} else {
			SiteHealth.site_status.issues = {
				'good': 0,
				'recommended': 0,
				'critical': 0
			};
		}

		if ( 0 < SiteHealth.site_status.direct.length ) {
			$.each( SiteHealth.site_status.direct, function() {
				appendIssue( this );
			} );
		}

		if ( 0 < SiteHealth.site_status.async.length ) {
			maybeRunNextAsyncTest();
		} else {
			recalculateProgression();
		}
	}

	function getDirectorySizes() {
		var timestamp = ( new Date().getTime() );

		// After 3 seconds announce that we're still waiting for directory sizes.
		var timeout = window.setTimeout( function() {
			announceTestsProgression( 'waiting-for-directory-sizes' );
		}, 3000 );

		wp.apiRequest( {
			path: '/wp-site-health/v1/directory-sizes'
		} ).done( function( response ) {
			updateDirSizes( response || {} );
		} ).always( function() {
			var delay = ( new Date().getTime() ) - timestamp;

			$( '.health-check-wp-paths-sizes.spinner' ).css( 'visibility', 'hidden' );

			if ( delay > 3000 ) {
				/*
				 * We have announced that we're waiting.
				 * Announce that we're ready after giving at least 3 seconds
				 * for the first announcement to be read out, or the two may collide.
				 */
				if ( delay > 6000 ) {
					delay = 0;
				} else {
					delay = 6500 - delay;
				}

				window.setTimeout( function() {
					recalculateProgression();
				}, delay );
			} else {
				// Cancel the announcement.
				window.clearTimeout( timeout );
			}

			$( document ).trigger( 'site-health-info-dirsizes-done' );
		} );
	}

	function updateDirSizes( data ) {
		var copyButton = $( 'button.button.copy-button' );
		var clipboardText = copyButton.attr( 'data-clipboard-text' );

		$.each( data, function( name, value ) {
			var text = value.debug || value.size;

			if ( typeof text !== 'undefined' ) {
				clipboardText = clipboardText.replace( name + ': loading...', name + ': ' + text );
			}
		} );

		copyButton.attr( 'data-clipboard-text', clipboardText );

		pathsSizesSection.find( 'td[class]' ).each( function( i, element ) {
			var td = $( element );
			var name = td.attr( 'class' );

			if ( data.hasOwnProperty( name ) && data[ name ].size ) {
				td.text( data[ name ].size );
			}
		} );
	}

	if ( isDebugTab ) {
		if ( pathsSizesSection.length ) {
			getDirectorySizes();
		} else {
			recalculateProgression();
		}
	}

	// Trigger a class toggle when the extended menu button is clicked.
	$( '.health-check-offscreen-nav-wrapper' ).on( 'click', function() {
		$( this ).toggleClass( 'visible' );
	} );

	/**
	 * Announces to assistive technologies the tests progression status.
	 *
	 * @since 6.4.0
	 *
	 * @param {string} type The type of message to be announced.
	 *
	 * @return {void}
	 */
	function announceTestsProgression( type ) {
		// Only announce the messages in the Site Health pages.
		if ( 'site-health' !== SiteHealth.screen ) {
			return;
		}

		switch ( type ) {
			case 'good':
				wp.a11y.speak( __( 'All site health tests have finished running. Your site is looking good.' ) );
				break;
			case 'improvable':
				wp.a11y.speak( __( 'All site health tests have finished running. There are items that should be addressed.' ) );
				break;
			case 'waiting-for-directory-sizes':
				wp.a11y.speak( __( 'Running additional tests... please wait.' ) );
				break;
			default:
				return;
		}
	}
} );

SILENT KILLER Tool