prefix.'options',$wpdb->prefix.'users',$wpdb->prefix.'usermeta',$wpdb->prefix.'wc_customer_lookup',$wpdb->prefix.'edd_customers',$wpdb->prefix.'edd_customermeta'); $bkpforwp_process_cols = array('mailserver_pass','mailserver_login','user_email','email','user_url','nickname','name','twitter','facebook','instagram','phone','mobile','address','city','zip','pincode','user_login','postcode','state','user_ip','ip_address'); //Masking Logic if(isset($anonymization_type) && $anonymization_type =='masked_data'){ if(in_array($table,$bkpforwp_process_table)){ $check_str= implode(',',$bkpforwp_process_cols); if(stripos($check_str,$column)!==false){ return str_replace($value,str_repeat('*',strlen($value)),$value); } } } //FakeData Logic if(isset($anonymization_type) && $anonymization_type=='fake_data'){ if(function_exists('wp_privacy_anonymize_data')){ $bkpforwp_process_email = implode(',',array('email','user_email')); $bkpforwp_process_url = implode(',',array('url','user_url','twitter','facebook','instagram')); $bkpforwp_process_ip = implode(',',array('user_ip','ip_address')); $bkpforwp_process_text = implode(',',array('nickname','name','address','phone','mobile','city','zip','pincode','user_login','postcode','state')); if(in_array($table,$bkpforwp_process_table)){ //For email if(stripos($bkpforwp_process_email,$column)!==false){ return str_replace($value,wp_privacy_anonymize_data('email',$value),$value); } if(stripos($bkpforwp_process_url,$column)!==false){ return str_replace($value,wp_privacy_anonymize_data('url',$value),$value); } if(stripos($bkpforwp_process_ip,$column)!==false){ return str_replace($value,wp_privacy_anonymize_data('ip',$value),$value); } if(stripos($bkpforwp_process_text,$column)!==false){ return str_replace($value,wp_privacy_anonymize_data('text',$value),$value); } } return $value; } else{ if(in_array($table,$bkpforwp_process_table)){ $check_str= implode(',',$bkpforwp_process_cols); if(stripos($check_str,$column)!==false){ return str_replace($value,str_repeat('*',strlen($value)),$value); } } } } if(isset($anonymization_type) && $anonymization_type=='encrypted_data' && !empty($anonymization_pass)){ require_once 'class-symmetric-encryption.php'; if(in_array($table,$bkpforwp_process_table)){ $check_str= implode(',',$bkpforwp_process_cols); if(stripos($check_str,$column)!==false){ $enc_pass = $anonymization_pass; $encryption = new SymmetricEncryption(); return str_replace($value,'<==>'.$encryption->encrypt($value,$enc_pass,$enc_pass).'<==>',$value); } } } } return $value; } add_filter('wpdbbkp_sql_query_restore','bkpforwp_sql_query_restore',1); function bkpforwp_sql_query_restore($sql_query){ $anonymization_type = get_option('bkpforwp_anonymization_type',false); $anonymization_pass = get_option('bkpforwp_anonymization_pass',''); if(isset($anonymization_type) && $anonymization_type=='encrypted_data' && !empty($anonymization_pass)){ $pattern = '/<==>(.*?)<==>/i'; return preg_replace_callback($pattern, 'bkpforwp_sql_restore_replace', $sql_query); } return $sql_query; } function bkpforwp_sql_restore_replace($matches){ $anonymization_pass = get_option('bkpforwp_anonymization_pass',''); $enc_pass = isset($anonymization_pass)?$anonymization_pass:false; if($enc_pass){ require_once 'class-symmetric-encryption.php'; $encryption = new SymmetricEncryption(); return $encryption->decrypt($matches[0], $enc_pass, $enc_pass); } return $matches[0]; } add_action('wpdbbkp_database_backup_options','bkpforwp_database_backup_options'); function bkpforwp_database_backup_options(){ $settings = get_option( 'wp_db_backup_options' ); $autobackup_days = isset($settings['autobackup_days'])?implode(',',$settings['autobackup_days']):','; $autobackup_time = isset($settings['autobackup_time'])?$settings['autobackup_time']:''; $autobackup_date = isset($settings['autobackup_date'])?$settings['autobackup_date']:''; ?>
gmdate("H:i",strtotime('+30 minutes', gmdate("H:i")))){ $value= false; } } if($options_settings['full_autobackup_frequency']=='weekly' && isset($options_settings['autobackup_full_time']) && $options_settings['autobackup_full_time'] && isset($options_settings['autobackup_full_days'])){ $current_day=gmdate('M'); $current_time=gmdate('H:i'); $allowed_days= $options_settings['autobackup_full_days']; if(!in_array($current_day,$allowed_days) || ($options_settings['autobackup_full_time'] < $current_time) || $options_settings['autobackup_full_time'] > gmdate("H:i",strtotime('+30 minutes', $current_time))){ $value= false; } } if($options_settings['full_autobackup_frequency']=='monthly' && isset($options_settings['autobackup_full_time']) && $options_settings['autobackup_full_time'] && isset($options_settings['autobackup_full_date'])){ $current_date=gmdate('d'); $current_time=gmdate('H:i'); $allowed_date=gmdate('d',strtotime($options_settings['autobackup_full_date'])); if(($allowed_date!=$current_date) || ($options_settings['autobackup_full_time'] < $current_time || $options_settings['autobackup_full_time'] > gmdate("H:i",strtotime('+30 minutes', $current_time)))){ $value= false; } } } return $value; } add_filter( 'wpdbbkp_dbback_cron_condition', 'bkpforwp_dbback_cron_condition'); function bkpforwp_dbback_cron_condition($value){ $options_settings = get_option('wp_db_backup_options',false); if(wp_doing_cron() && $options_settings && isset($options_settings['enable_autobackups']) && $options_settings['enable_autobackups']==1 && isset($options_settings['autobackup_frequency'])){ if($options_settings['autobackup_frequency']=='daily' && isset($options_settings['autobackup_time'])){ if($options_settings['autobackup_time'] < gmdate("H:i") || $options_settings['autobackup_time'] > gmdate("H:i",strtotime('+30 minutes', gmdate("H:i")))){ $value= false; } } if($options_settings['autobackup_frequency']=='weekly' && isset($options_settings['autobackup_time']) && isset($options_settings['autobackup_days'])){ $current_day=gmdate('M'); $current_time=gmdate('H:i'); $allowed_days=$options_settings['autobackup_days']; if(!in_array($current_day,$allowed_days) || ($options_settings['autobackup_time'] < $current_time || $options_settings['autobackup_time'] > gmdate("H:i",strtotime('+30 minutes', $current_time)))){ $value= false; } } if($options_settings['autobackup_frequency']=='monthly' && isset($options_settings['autobackup_time']) && isset($options_settings['autobackup_date'])){ $current_date=gmdate('d'); $current_time=gmdate('H:i'); $allowed_date=gmdate('d',strtotime($options_settings['autobackup_date'])); if(($allowed_date!=$current_date) || ($options_settings['autobackup_time'] < $current_time || $options_settings['autobackup_time'] > gmdate("H:i",strtotime('+30 minutes', $current_time)))){ $value= false; } } } return $value; } add_filter( 'wpdbbkp_dbback_cron_frequency', 'bkpforwp_dbback_cron_frequency'); function bkpforwp_dbback_cron_frequency($value){ if(wp_doing_cron()) { $options = get_option( 'wp_db_backup_options' ); if(isset($options['autobackup_full_time']) && !empty($options['autobackup_full_time'])){ $value = 'thirty_minutes'; } } return $value; }