HEX
Server: Apache
System: Linux msm5694.mjhst.com 3.10.0-1160.119.1.el7.x86_64 #1 SMP Tue Jun 4 14:43:51 UTC 2024 x86_64
User: camjab_ssh (1000)
PHP: 5.3.29
Disabled: NONE
Upload Files
File: /home/httpd/html/greekwhores.com/wp-content/plugins/slim-seo/js/migrate.js
( function( document, i18n ) {
	const postStatus = document.querySelector( '#posts-status' ),
		doneStatus = document.querySelector( '#done-status' ),
		termStatus = document.querySelector( '#terms-status' ),
		redirectsStatus = document.querySelector( '#redirects-status' ),
		sourceSelect = document.querySelector( '#source' ),
		button = document.querySelector( '#process' );

	let sourceId;

	if ( !button ) {
		return;
	}

	button.addEventListener( 'click', async () => {
		sourceId = sourceSelect.value;

		const group = sourceSelect.options[ sourceSelect.selectedIndex ].parentElement.getAttribute( 'value' );

		try {
			preProcess();
			await prepareMigration();

			if ( 'meta' === group ) {
				await resetCounter();
				await handleMigratePosts();
				await resetCounter();
				await handleMigrateTerms();
			}

			await handleMigrateRedirects();

			doneMigration();
		} catch ( message ) {
			printMessage( postStatus, message );
		}
	} );

	const preProcess = () => {
		button.closest( '.migration-handler' ).classList.add( 'hidden' );
		printMessage( postStatus, i18n.preProcessText );
	};

	const handleMigratePosts = async () => {
		const response = await get( `${ ajaxurl }?action=ss_migrate_posts` );
		if ( response.data.type === 'continue' ) {
			printMessage( postStatus, response.data.message );
			await handleMigratePosts();
		}
	};

	const handleMigrateTerms = async () => {
		const response = await get( `${ ajaxurl }?action=ss_migrate_terms` );
		if ( response.data.type === 'continue' ) {
			printMessage( termStatus, response.data.message );
			await handleMigrateTerms();
		}
	};

	const handleMigrateRedirects = async () => {
		const response = await get( `${ ajaxurl }?action=ss_migrate_redirects` );

		printMessage( redirectsStatus, response.data.message );
	};

	const get = async ( url ) => {
		const response = await fetch( url );
		const json = await response.json();
		if ( !response.ok ) {
			throw Error( json.data );
		}
		return json;
	};

	const prepareMigration = () => get( `${ ajaxurl }?action=ss_prepare_migration&source_id=${ sourceId }&_ajax_nonce=${ i18n.nonce }` );
	const doneMigration = () => printMessage( doneStatus, i18n.doneText );
	const resetCounter = () => get( `${ ajaxurl }?action=ss_reset_counter&_ajax_nonce=${ i18n.nonce }` );
	const printMessage = ( container, text ) => container.innerHTML = `<p>${ text }</p>`;

} )( document, ssMigration );