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'); } } }); }