File "wpdbbkp-admin-cron-backup.js"

Full Path: /home/vantageo/public_html/wp-admin/.wp-cli/wp-content/plugins/wp-database-backup/assets/js/wpdbbkp-admin-cron-backup.js
File size: 6.26 KB
MIME-type: text/plain
Charset: utf-8

jQuery(document).ready(function($){
	$('#wpdbbkp-create-full-backup').attr('disabled', true);
	$(document).on('click', '#wpdbbkp-create-full-backup', function(e){
		e.preventDefault();
		if(bkpforwp_token_check()){
			$('#wpdb-backup-process').show();
			$('.wpdbbkp_notification').hide();
			$(this).attr('disabled', true);
			$.ajax({
				type: 'POST',
				url: wpdbbkp_localize_admin_data.ajax_url,
				data: {action: 'wpdbbkp_start_cron_manual', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
				success: function(response){
					response = JSON.parse(response);
					if(response.status=='success'){
					 setTimeout(wpdbbkp_show_progress, 3000);
					 $('#wpdbbkp-stop-full-backup').show();
					}else {
						jQuery('#wpdbbkup_process_stats').text('Unable to start Backup, Please refresh the page');
					}	
				}
			});
		}else{
			let wpdbbkp_offer_modal = $('#wpdbbkp_offer_modal').modal({backdrop: true, keyboard: true});
			wpdbbkp_offer_modal.show();
		
		// When the user selects an option, set the cookie and hide the modal
		document.getElementById("wpdbbkp_server_backup").addEventListener("click", function() {
			wpdbbkp_offer_modal.hide();
			$('#wpdb-backup-process').show();
			$('.wpdbbkp_notification').hide();
			$(this).attr('disabled', true);
			$.ajax({
				type: 'POST',
				url: wpdbbkp_localize_admin_data.ajax_url,
				data: {action: 'wpdbbkp_start_cron_manual', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
				success: function(response){
					response = JSON.parse(response);
					if(response.status=='success'){
					 setTimeout(wpdbbkp_show_progress, 3000);
					 $('#wpdbbkp-stop-full-backup').show();
					}else {
						jQuery('#wpdbbkup_process_stats').text('Unable to start Backup, Please refresh the page');
					}	
				}
			});
		});

		document.getElementById("wpdbbkp_remote_backup").addEventListener("click", function() {
			let register_url = 'https://app.backupforwp.com/register?token='+wpdbbkp_script_vars.siteurl+'&un='+wpdbbkp_script_vars.ud.name+'&ue='+wpdbbkp_script_vars.ud.email;
            let loginWindow = window.open(register_url, '_blank', 'width=800,height=600,resizable=yes,scrollbars=yes,top=100,left=200');
			
			window.addEventListener('message', function(event) {
				// Check the origin of the message to ensure it's from the expected source
				if (event.origin === 'https://app.backupforwp.com') {
					let  token = event.data;
						$.ajax({
							type: 'POST',
							url: wpdbbkp_localize_admin_data.ajax_url,
							data: {action: 'wpdbbkp_save_remote_token', token: token, wpdbbkp_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
							success: function(response){
								response = JSON.parse(response);
								console.log(response);
								if(response.status=='success'){
									loginWindow.close();
									$('#wpdbbkp_offer_modal').hide();
									bkpforwp_cron_start();
								
								}
							},
							error: function(response){
								console.log(response);
							}

						});
				}
			});
		});
			
	}
	});


	$(document).on('click', '#wpdbbkp-stop-full-backup', function(e){
		e.preventDefault();
		$('.wpdbbkp_notification').hide();
		$('#wpdbbkup_process_stats').text('Cancelling Backup, Please Wait');
		$(this).attr('disabled', true);
		$.ajax({
			type: 'POST',
			url: wpdbbkp_localize_admin_data.ajax_url,
			data: {action: 'wpdbbkp_stop_cron_manual', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
			success: function(response){
				response = JSON.parse(response);
				if(response.status=='success'){
					window.location.reload();
				}else {
					jQuery('#wpdbbkup_process_stats').text('Refresh the page and try again');
				}	
			}
		});
			
	});

	$.ajax({
			type: 'POST',
			url: wpdbbkp_localize_admin_data.ajax_url,
			data: {action: 'wpdbbkp_check_fullbackup_stat', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
			success: function(response){
				response = JSON.parse(response);
				if(response.status=='active'){
					$('#wpdbbkp-create-full-backup').attr('disabled', true);
					$('#wpdb-backup-process').show();
					setTimeout(wpdbbkp_show_progress, 3000);
					$('#wpdbbkp-stop-full-backup').show();
				}else {
					$('#wpdbbkp-create-full-backup').attr('disabled', false);
					$('#wpdbbkp-stop-full-backup').hide();
				}	
			}
		});	
});

function wpdbbkp_show_progress(){
	jQuery.ajax({
		type: 'POST',
		url: wpdbbkp_localize_admin_data.ajax_url,
		data: {action: 'wpdbbkp_get_progress', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
		success: function(response){
			response = JSON.parse(response);
			if(response.status=='success'){
			var status = response.backupcron_step+' : '+response.backupcron_current;
			var progress = response.backupcron_progress;
			jQuery('#wpdbbkup_process_stats').text(status);
			jQuery('#wpdbbkp_progressbar').prop('aria-valuenow',progress);
			jQuery('#wpdbbkp_progressbar').text(progress+'%');
			jQuery('#wpdbbkp_progressbar').css('width',progress+'%');
			if(progress==100){
				let redirect_url = response.redirect_url;
				redirect_url = redirect_url.replaceAll('&','&');
				redirect_url = redirect_url.replaceAll('#038;','&');
				location.href=redirect_url;
			}
			setTimeout(wpdbbkp_show_progress, 5000);
			}
			else{
				setTimeout(wpdbbkp_show_progress, 5000);
				jQuery('#wpdbbkup_process_stats').text(response.msg);
			}

		}
	});
}

function  bkpforwp_cron_start(){
	jQuery('#wpdb-backup-process').show();
	jQuery('.wpdbbkp_notification').hide();
	jQuery(this).attr('disabled', true);
	jQuery.ajax({
		type: 'POST',
		url: wpdbbkp_localize_admin_data.ajax_url,
		data: {action: 'wpdbbkp_start_cron_manual', wpdbbkp_admin_security_nonce:wpdbbkp_localize_admin_data.wpdbbkp_admin_security_nonce},
		success: function(response){
			response = JSON.parse(response);
			if(response.status=='success'){
			 setTimeout(wpdbbkp_show_progress, 3000);
			 jQuery('#wpdbbkp-stop-full-backup').show();
			}else {
				jQuery('#wpdbbkup_process_stats').text('Unable to start Backup, Please refresh the page');
			}	
		}
	});
}