File "wpdbbkp-admin.js"

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

jQuery(document).ready(function($) {
    $(".wpdbbkp-send-query").on("click", function(e){
    e.preventDefault();   
    var message     = $("#wpdbbkp_query_message").val();  
    var email       = $("#wpdbbkp_query_email").val();  
    
    if($.trim(message) !='' && $.trim(email) !='' && wpdbbkpIsEmail(email) == true){
      $(".wpdbbkp-send-query").text('Sending request...');
     $.ajax({
                    type: "POST",    
                    url:ajaxurl,                    
                    dataType: "json",
                    data:{action:"wpdbbkp_send_query_message",message:message,email:email,wpdbbkp_security_nonce:wpdbbkp_script_vars.nonce},
                    success:function(response){                       
                      if(response['status'] =='t'){
                        $(".wpdbbkp-query-success").show();
                        $(".wpdbbkp-query-error").hide();
                        $(".wpdbbkp-send-query").text(' Send Support Request ');
                      }else{                                  
                        $(".wpdbbkp-query-success").hide();  
                        $(".wpdbbkp-query-error").show();
                        $(".wpdbbkp-send-query").text(' Send Support Request ');
                      }
                    },
                    error: function(response){                    
                    console.log(response);
                    alert('Request was not sent. Please try again.');
                    $(".wpdbbkp-send-query").text(' Resend Support Request ');
                    }
                    });   
    }else{
        
        if($.trim(message) =='' && $.trim(email) ==''){
            alert('Please enter the message, email');
        }else{
        
        if($.trim(message) == ''){
            alert('Please enter the message');
        }
        if($.trim(email) == ''){
            alert('Please enter the email');
        }
        if(wpdbbkpIsEmail(email) == false){
            alert('Please enter a valid email');
        }
            
        }
        
    }                        

});
if (history.replaceState) {
    const url = new URL(window.location.href);
    url.searchParams.delete("notification");
    url.searchParams.delete("_wpnonce");
    history.replaceState(null, null,url);
}
  });

  function wpdbbkpIsEmail(email) {
    var regex = /^([a-zA-Z0-9_.+-])+\@(([a-zA-Z0-9-])+\.)+([a-zA-Z0-9]{2,4})+$/;
    return regex.test(email);
}

// Javascript to enable link to tab
var wpdbbkp_hash = document.location.hash;
var wpdbbkp_prefix = "tab_";
if (wpdbbkp_hash) {
    if(jQuery('.nav-tabs a[href="'+wpdbbkp_hash.replace(wpdbbkp_prefix,"")+'"]').length){
        jQuery('.nav-tabs a[href="'+wpdbbkp_hash.replace(wpdbbkp_prefix,"")+'"]').tab('show');
        window.scrollTo(0, 0);
    }
   
} 
// Change hash for click
jQuery('.wbdbbkp_has_nav a').on('click', function (e) {
    if(jQuery('.nav-tabs a[href="'+e.target.hash.replace(wpdbbkp_prefix,"")+'"]').length){
        window.location.hash = e.target.hash.replace("#", "#" + wpdbbkp_prefix);
        jQuery('.nav-tabs a[href="'+e.target.hash.replace(wpdbbkp_prefix,"")+'"]').tab('show');
        window.scrollTo(0, 0);
    }
});

jQuery('.toplevel_page_wp-database-backup a').on('click', function (e) {
    if(e.target.hash && jQuery('.nav-tabs a[href="'+e.target.hash.replace(wpdbbkp_prefix,"")+'"]').length){
        window.location.hash = e.target.hash.replace("#", "#" + wpdbbkp_prefix);
        jQuery('.nav-tabs a[href="'+e.target.hash.replace(wpdbbkp_prefix,"")+'"]').tab('show');
        window.scrollTo(0, 0);
    }
});

// Change hash for page-reload
jQuery('.nav-tabs a ').on('shown', function (e) {
    if(e.target.hash.replace("#","").length){
        window.location.hash = e.target.hash.replace("#", "#" + wpdbbkp_prefix);
        window.scrollTo(0, 0);
    }
    
    
});


var wpdbbkp_modal = document.getElementById("wpdbbkpModal");

if(wpdbbkp_modal){
  window.onclick = function(event) {
    if (event.target == wpdbbkp_modal) {
        wpdbbkp_modal.style.display = "none";
    }
  }
}

function wpdbbkp_restore_backup(ele){
var wpdbbkp_span = document.getElementsByClassName("wpdbbkp-close");
let data_title = ele.getAttribute('data-title');
let data_href = ele.getAttribute('data-href');
let data_msg = ele.getAttribute('data-msg');
for(var i=0;i<wpdbbkp_span.length;i++){
    wpdbbkp_span[i].onclick = function() {
        wpdbbkp_modal.style.display = "none";
      }
}
jQuery('#wpdbbkp-modal-header-title').text(data_title);
jQuery('#wpdbbkp-modal-body-text').text(data_msg);
jQuery('#wpdbbkp-proceed-btn').prop('href',data_href);
wpdbbkp_modal.style.display = "block";


}

function wpdbbkp_schduler_switch(){
	var db_backups =document.getElementById('enable_autobackups');
  if(db_backups){
		if(db_backups.checked){
            document.querySelector('.autobackup_type').style.display="block";
            let autobackup_frequency = jQuery('#autobackup_frequency').val();
        if(autobackup_frequency){
            jQuery('.autobackup_frequency').show();
            if(autobackup_frequency=='daily'){
                jQuery('.autobackup_daily_lite').show();
                jQuery('.autobackup_daily_lite').parent().show();
            }else if(autobackup_frequency=='weekly'){
                jQuery('.autobackup_weekly_lite').show();
                jQuery('.autobackup_weekly_lite').parent().show();
            }
            else if(autobackup_frequency=='monthly'){
                jQuery('.autobackup_monthly_lite').show();
                jQuery('.autobackup_monthly_lite').parent().show();
            }
        }

        }else{
            document.querySelector('.autobackup_type').style.display="none";
            jQuery('.autobackup_frequency_pro').hide();
            jQuery('.autobackup_frequency_lite').hide();
            jQuery('.autobackup_frequency').hide();
            jQuery('.database_autobackup').hide();
            
		}
	}
}
jQuery('#enable_autobackups').change(function(){
    wpdbbkp_schduler_switch();
});

function wpdbbkp_autobackup_type_switch(){
    var enable_autobackups =document.getElementById('enable_autobackups');
    if(enable_autobackups && !enable_autobackups.checked){

        document.querySelector('.autobackup_frequency').style.display="none";
        document.querySelector('.autobackup_daily_lite').style.display="none";
        return false;

    }
	var db_backups =document.getElementById('autobackup_type');
  if(db_backups.value){
        document.querySelector('.autobackup_frequency').style.display="block";
        document.querySelector('.autobackup_daily_lite').style.display="block";
       
	}else{
        jQuery('.autobackup_frequency_lite').hide();
        document.querySelector('.autobackup_frequency').style.display="none";
        document.querySelector('.autobackup_daily_lite').style.display="none";
        if( document.querySelector('.autobackup_frequency_lite') && document.querySelector('.autobackup_frequency_lite').length){
            document.querySelector('.autobackup_frequency_lite').style.display="none";
        }
        if( document.querySelector('.autobackup_frequency_pro') && document.querySelector('.autobackup_frequency_pro').length){
            document.querySelector('.autobackup_frequency_pro').style.display="none";
        }
    }
}
jQuery('#autobackup_type').change(function(){
    wpdbbkp_autobackup_type_switch();
    autobackup_frequency_info();
});


function wpdbbkp_autobackup_frequency_switch(){
	var db_backups =document.getElementById('autobackup_type');
  if(db_backups.value){
        document.querySelector('.autobackup_frequency').style.display="block";
	}else{
        document.querySelector('.autobackup_frequency').style.display="none";
    }
}


jQuery('#autobackup_frequency').change(function(){
    autobackup_frequency_info();
});

function autobackup_frequency_info(){
    var autobackup_frequency = jQuery('#autobackup_frequency').val();
    if(jQuery('.autobackup_time').length==0){
        if(autobackup_frequency=='daily'){
            jQuery('.autobackup_frequency_lite').hide();
            jQuery('.autobackup_daily_lite').parent().show();
        }else if(autobackup_frequency=='weekly'){
            jQuery('.autobackup_frequency_lite').hide();
            jQuery('.autobackup_weekly_lite').parent().show();
        } else if(autobackup_frequency=='monthly'){
            jQuery('.autobackup_frequency_lite').hide();
            jQuery('.autobackup_monthly_lite').parent().show();
        }else{
            jQuery('.autobackup_frequency_lite').hide();
        }
    
    }
}

function modify_backup_frequency(){
    if(jQuery('.autobackup_time').length==0){
            var wpdbbkp_span = document.getElementsByClassName("wpdbbkp-close");
            let data_title = 'Upgrade to unlock this feature';
            let data_href = 'https://backupforwp.com/pricing#price';
            let data_href_txt = 'Upgrade to Pro';
            let data_msg = 'Upgrade to Pro version and unlock many features including Data anonimization , timed backup , prority support';
            for(var i=0;i<wpdbbkp_span.length;i++){
                wpdbbkp_span[i].onclick = function() {
                    wpdbbkp_modal.style.display = "none";
                  }
            }
            jQuery('#wpdbbkp-modal-header-title').text(data_title);
            jQuery('#wpdbbkp-modal-body-text').text(data_msg);
            jQuery('#wpdbbkp-proceed-btn').prop('href',data_href);
            jQuery('#wpdbbkp-proceed-btn').prop('onclick',"");
            jQuery('#wpdbbkp-proceed-btn').text(data_href_txt);
            wpdbbkp_modal.style.display = "block";
    }
    else{
        modify_backup_frequency_pro();
    }
}

wpdbbkp_schduler_switch();
wpdbbkp_autobackup_type_switch();

jQuery('#wpdbbkp_sftp_auth_select').change(function(){
   if(jQuery(this).val()=='key'){
        jQuery('#wpdbbkp_sftp_sshkey_password').parent().parent().show();
        jQuery('#wp_db_backup_sftp_key').parent().parent().show();
        jQuery('#wpdbbkp_sftp_password').parent().parent().hide();
    }else{
        jQuery('#wpdbbkp_sftp_sshkey_password').parent().parent().hide();
        jQuery('#wp_db_backup_sftp_key').parent().parent().hide();
        jQuery('#wpdbbkp_sftp_password').parent().parent().show();
    }
});

document.querySelector('#wpdbbkp_sftp_sshkey').addEventListener('input', function() {
    const file = this.files[0]
    let fr = new FileReader()
    fr.readAsText(file)
    fr.onload = () => {
        document.querySelector('#wp_db_backup_sftp_key').value=btoa(fr.result);
        console.log('key upload success');
    }
    fr.onerror = () => {
      console.log(fr.error);
    }
  })

if(jQuery("#create_backup")){

    jQuery("#create_backup").click(function(event) {
       if(!bkpforwp_token_check()){
        event.preventDefault();
        let  wpdbbkp_offer_modal = jQuery('#wpdbbkp_offer_modal').modal({ keyboard: true , backdrop: '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();
            jQuery(".wpdbbkp_notification").hide();
            jQuery("#backup_process").show();
            jQuery("#create_backup").attr("disabled", true);
            window.location.href = jQuery("#create_backup").attr("href");
		});

		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();
									window.location.href = jQuery("#create_backup").attr("href");
									
								}
							},
							error: function(response){
								console.log(response);
							}

						});
				}
			});
			
		});
       }
 

    });
}


function bkpforwp_anonymization_logic(){
	var anon_enable =document.getElementById('enable_anonymization');
  if(anon_enable){
		var anon_type = document.getElementById('anonymization_type_div');
		if(anon_enable.checked){
			if(anon_type){
				anon_type.style.display="block";
			}
		}
		else{
			if(anon_type){
				anon_type.style.display="none";
			}
		}
		anon_enable.addEventListener('change',function(e){
			bkpforwp_anonymization_logic();
		});
	}
  }

  function bkpforwp_anonymization_encypt_logic(){
	var anon_type =document.getElementById('anonymization_type');
	var anon_enable =document.getElementById('enable_anonymization');
	var anon_ip =document.getElementById('anonymization_enc_ip');
  if(anon_type && anon_enable){
		if(anon_type.value=='encrypted_data' && anon_enable.checked){
			if(anon_ip){
				anon_ip.style.display="block";
			}
		}
		else{
			if(anon_ip){
				anon_ip.style.display="none";
			}
		}
		anon_type.addEventListener('change',function(e){
			bkpforwp_anonymization_encypt_logic();
		});
	}
  }
  function bkpforwp_backup_encypt_logic(){
	var anon_enable =document.getElementById('enable_backup_encryption');
  if(anon_enable){
		var anon_type = document.getElementById('encryption_pass_div');
		if(anon_enable.checked){
			if(anon_type){
				anon_type.style.display="block";
			}
		}
		else{
			if(anon_type){
				anon_type.style.display="none";
			}
		}
		anon_enable.addEventListener('change',function(e){
			bkpforwp_backup_encypt_logic();
		});
	}
  }

  

  // Javascript to enable link to tab
var hash = document.location.hash;
var prefix = "tab_";
if (hash) {
    jQuery('.nav-tabs a[href="'+hash.replace(prefix,"")+'"]').tab('show');
} 

// Change hash for page-reload
jQuery('.nav-tabs a').on('shown', function (e) {
    window.location.hash = e.target.hash.replace("#", "#" + prefix);
});
jQuery('.nav-tabs a').on('click', function (e) {
    window.location.hash = e.target.hash.replace("#", "#" + prefix);
});


function bkpforwp_database_schduler(){
	var db_backups =document.getElementById('enable_autobackups');
  if(db_backups){
		if(db_backups.checked){
			var autobackup_frequency = jQuery('#autobackup_frequency').val();
			if(autobackup_frequency=='daily'){
				jQuery('.database_autobackup').hide();
				jQuery('.autobackup_time').show();
			}else if(autobackup_frequency=='weekly'){
				jQuery('.database_autobackup').hide();
				jQuery('.autobackup_days').show();
				jQuery('.autobackup_time').show();
			}
			else if(autobackup_frequency=='monthly'){
				jQuery('.database_autobackup').hide();
				jQuery('.autobackup_date').show();
				jQuery('.autobackup_time').show();
			}
			else{
				jQuery('.database_autobackup').hide();
			}
		}
		else{
			jQuery('.database_autobackup').hide();
		}
	}	

}

function modify_backup_frequency_pro(){
	bkpforwp_database_schduler();
}

jQuery('#enable_autobackups').change(function(){
    bkpforwp_database_schduler();
});

jQuery('#autobackup_frequency').change(function(){
    autobackup_frequency_info_();
});

function autobackup_frequency_info_(){
    var autobackup_frequency = jQuery('#autobackup_frequency').val();
    if(jQuery('.autobackup_time').length>0){
        if(autobackup_frequency=='daily'){
            jQuery('.autobackup_frequency_pro').hide();
            jQuery('.autobackup_daily_pro').parent().show();
        }else if(autobackup_frequency=='weekly'){
            jQuery('.autobackup_frequency_pro').hide();
            jQuery('.autobackup_weekly_pro').parent().show();
        } else if(autobackup_frequency=='monthly'){
            jQuery('.autobackup_frequency_pro').hide();
            jQuery('.autobackup_monthly_pro').parent().show();
        }else{
            jQuery('.autobackup_frequency_pro').hide();
        }
		jQuery('.database_autobackup').hide();
		
    
    }
}

bkpforwp_anonymization_logic();
bkpforwp_anonymization_encypt_logic();
bkpforwp_backup_encypt_logic();
bkpforwp_database_schduler();

function bkpforwp_token_check() {
    var wpdb_clouddrive_token = document.getElementById('wpdb_clouddrive_token');
    if (wpdb_clouddrive_token && wpdb_clouddrive_token.value) {
        return true;
    }
    return false;
}