File: /var/www/html/ielts-store/wp-content/plugins/automatewoo/admin/views/page-data-upgrade.php
<?php
namespace AutomateWoo;
defined( 'ABSPATH' ) || exit;
$plugin_slug = Clean::string( aw_request( 'plugin_slug' ) );
if ( $plugin_slug === AW()->plugin_slug ) {
	// updating the primary plugin
	$plugin_name      = 'AutomateWoo';
	$version          = AW()->version;
	$update_available = Installer::is_database_upgrade_required();
} elseif ( $plugin_slug ) {
	// updating an addon
	$addon = Addons::get( $plugin_slug );
	if ( ! $addon ) {
		wp_die( esc_html__( 'Add-on could not be updated', 'automatewoo' ) );
	}
	$plugin_name      = $addon->name;
	$version          = $addon->version;
	$update_available = $addon->is_database_upgrade_available();
} else {
	wp_die( 'Missing parameter.' );
}
?>
<div id="automatewoo-upgrade-wrap" class="wrap woocommerce automatewoo-page automatewoo-page--data-upgrade">
	<h2><?php printf( esc_html__( '%s - Database Update', 'automatewoo' ), esc_html( $plugin_name ) ); ?></h2>
	<?php if ( $update_available ) : ?>
		<p><?php esc_html_e( 'Reading update tasks...', 'automatewoo' ); ?></p>
		<p class="show-on-ajax">
			<?php printf( esc_html__( 'Upgrading data to version %s.', 'automatewoo' ), esc_html( $version ) ); ?>
			<span style="display: none" data-automatewoo-update-items-to-process-text>
				<?php printf( esc_html__( 'Approximately %1$s0%2$s items to process.', 'automatewoo' ), '<span data-automatewoo-update-items-to-process-count>', '</span>' ); ?>
			</span>
			<span style="display: none" data-automatewoo-update-items-processed-text>
				<?php printf( esc_html__( '%1$s0%2$s items processed.', 'automatewoo' ), '<span data-automatewoo-update-items-processed-count>', '</span>' ); ?>
			</span>
			<i class="automatewoo-upgrade-loader"></i>
		</p>
		<p class="show-on-complete"><?php esc_html_e( 'Database update complete', 'automatewoo' ); ?>.</p>
		<style type="text/css">
			/* hide show */
			.show-on-ajax,
			.show-on-complete {
				display: none;
			}
		</style>
		<script type="text/javascript">
		(function($) {
			var $wrap = $('#automatewoo-upgrade-wrap');
			var updater = {
				items_processed_count: 0,
				items_to_process_count: 0,
				init: function(){
					// allow user to read message for 1 second
					setTimeout(function(){
						updater.load_items_to_process_count(function() {
							updater.start();
						});
					}, 1000);
				},
				start: function(){
					$('.show-on-ajax').show();
					updater.maybe_reveal_items_to_process_text();
					updater.dispatch();
				},
				dispatch: function() {
					$.ajax({
						method: 'POST',
						url: ajaxurl,
						data: {
							action: 'aw_database_update',
							nonce: '<?php echo esc_js( wp_create_nonce( 'automatewoo_database_upgrade' ) ); ?>',
							plugin_slug: '<?php echo esc_js( $plugin_slug ); ?>'
						},
						success: function (response) {
							if ( response.success ) {
								if ( response.data.items_processed ) {
									updater.update_count( response.data.items_processed );
								}
								if ( response.data.complete ) {
									updater.complete();
								}
								else {
									updater.dispatch();
								}
							}
							else {
								updater.error( response );
							}
						}
					});
				},
				update_count: function( count ) {
					updater.items_processed_count += count;
					if ( updater.items_processed_count ) {
						$('[data-automatewoo-update-items-processed-text]').show();
					}
					$('[data-automatewoo-update-items-processed-count]').text( updater.items_processed_count );
				},
				/**
				 * Does ajax request to get number of items that need processing.
				 */
				load_items_to_process_count: function( callback ) {
					$.post( ajaxurl,
						{
							action: 'aw_database_update_items_to_process_count',
							plugin_slug: '<?php echo esc_js( $plugin_slug ); ?>'
						},
						function( response ) {
							if ( response.success ) {
								updater.items_to_process_count = response.data.items_to_process;
							}
							callback();
						}
					);
				},
				maybe_reveal_items_to_process_text: function() {
					if ( updater.items_to_process_count === 0 ) {
						return;
					}
					$('[data-automatewoo-update-items-to-process-text]').show();
					$('[data-automatewoo-update-items-to-process-count]').text( updater.items_to_process_count );
				},
				complete: function() {
					$('.show-on-complete').show();
					$('.automatewoo-upgrade-loader').hide();
				},
				error: function( response ) {
					if ( response.data ) {
						$wrap.append('<p><strong>' + response.data + '</strong></p>');
					}
					$('.automatewoo-upgrade-loader').hide();
				}
			};
			updater.init();
		})(jQuery);
		</script>
	<?php else : ?>
		<p><?php esc_html_e( 'No updates available', 'automatewoo' ); ?>.</p>
	<?php endif; ?>
</div>