function bpsPro_DBB_processing()
{
    global $wpdb;
    $DBBoptions = get_option('bulletproof_security_options_db_backup');
    bpsPro_DBB_delete_old_backup_files();
    $DBB_table_name = $wpdb->prefix . "bpspro_db_backup";
    $DBB_Rows = 'Scheduled';
    $DBB_TableRows = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$DBB_table_name} WHERE bps_job_type = %s", $DBB_Rows));
    $db_backup = $DBBoptions['bps_db_backup_folder'] . '/' . DB_NAME . '.sql';
    foreach ($DBB_TableRows as $row) {
        if (time() >= $row->bps_next_job_unix) {
            $job_name = $row->bps_desc;
            $job_type = $row->bps_job_type;
            $email_zip = $row->bps_email_zip;
            $build_query_1 = "SHOW TABLES FROM `" . DB_NAME . "` WHERE `Tables_in_" . DB_NAME . "` LIKE '";
            $build_query_2 = str_replace(', ', "' OR `Tables_in_" . DB_NAME . "` LIKE '", $row->bps_table_name);
            $build_query_3 = "'";
            $tables = $wpdb->get_results($build_query_1 . $build_query_2 . $build_query_3, ARRAY_A);
            bpsPro_db_backup($db_backup, $tables, $job_name, $job_type, $email_zip);
            if ($row->bps_frequency == 'Hourly') {
                $update_rows = $wpdb->update($DBB_table_name, array('bps_next_job_unix' => time() + 3600), array('bps_id' => $row->bps_id));
            }
            if ($row->bps_frequency == 'Daily') {
                $update_rows = $wpdb->update($DBB_table_name, array('bps_next_job_unix' => time() + 86400), array('bps_id' => $row->bps_id));
            }
            if ($row->bps_frequency == 'Weekly') {
                $update_rows = $wpdb->update($DBB_table_name, array('bps_next_job_unix' => time() + 604800), array('bps_id' => $row->bps_id));
            }
            if ($row->bps_frequency == 'Monthly') {
                $update_rows = $wpdb->update($DBB_table_name, array('bps_next_job_unix' => time() + 2592000), array('bps_id' => $row->bps_id));
            }
        }
    }
}
function bpsPro_dbbackup_form_processing()
{
    if (isset($_POST['Submit-DBB-Run-Job']) && current_user_can('manage_options')) {
        check_admin_referer('bulletproof_security_db_backup_run_job');
        global $wpdb;
        $timeNow = time();
        $gmt_offset = get_option('gmt_offset') * 3600;
        $timestamp = date_i18n(get_option('date_format'), strtotime("11/15-1976")) . ' ' . date_i18n(get_option('time_format'), $timeNow + $gmt_offset);
        $DBBoptions = get_option('bulletproof_security_options_db_backup');
        $DBBjobs = $_POST['DBBjobs'];
        $DBBtable_name = $wpdb->prefix . "bpspro_db_backup";
        switch ($_POST['Submit-DBB-Run-Job']) {
            case __('Run Job|Delete Job', 'bulletproof-security'):
                $delete_jobs = array();
                $run_jobs = array();
                if (!empty($DBBjobs)) {
                    foreach ($DBBjobs as $key => $value) {
                        if ($value == 'deletejob') {
                            $delete_jobs[] = $key;
                        } elseif ($value == 'runjob') {
                            $run_jobs[] = $key;
                        }
                    }
                }
                if (!empty($delete_jobs)) {
                    echo '<div id="message" class="updated" style="border:1px solid #999999;margin-left:220px;background-color:#ffffe0;"><p>';
                    foreach ($delete_jobs as $delete_job) {
                        $DBBackupRows = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$DBBtable_name} WHERE bps_id = %d", $delete_job));
                        foreach ($DBBackupRows as $row) {
                            $delete_row = $wpdb->query($wpdb->prepare("DELETE FROM {$DBBtable_name} WHERE bps_id = %d", $delete_job));
                            wp_clear_scheduled_hook('bpsPro_DBB_check');
                            $textDelete = '<strong><font color="green">' . __('Backup Job: ', 'bulletproof-security') . $row->bps_desc . __(' has been deleted successfully.', 'bulletproof-security') . '</font></strong><br>';
                            echo $textDelete;
                        }
                    }
                    echo '<div class="bps-message-button" style="width:90px;"><a href="admin.php?page=bulletproof-security/admin/db-backup-security/db-backup-security.php">' . __('Refresh Status', 'bulletproof-security') . '</a></div>';
                    echo '</p></div>';
                }
                if (!empty($run_jobs)) {
                    $db_backup = $DBBoptions['bps_db_backup_folder'] . '/' . DB_NAME . '.sql';
                    echo '<div id="message" class="updated" style="border:1px solid #999999;margin-left:220px;background-color:#ffffe0;"><p>';
                    foreach ($run_jobs as $run_job) {
                        $DBBackupRows = $wpdb->get_results($wpdb->prepare("SELECT * FROM {$DBBtable_name} WHERE bps_id = %d", $run_job));
                        foreach ($DBBackupRows as $row) {
                            $job_name = $row->bps_desc;
                            $job_type = $row->bps_job_type;
                            $email_zip = $row->bps_email_zip;
                            $build_query_1 = "SHOW TABLES FROM `" . DB_NAME . "` WHERE `Tables_in_" . DB_NAME . "` LIKE '";
                            $build_query_2 = str_replace(', ', "' OR `Tables_in_" . DB_NAME . "` LIKE '", $row->bps_table_name);
                            $build_query_3 = "'";
                            $tables = $wpdb->get_results($build_query_1 . $build_query_2 . $build_query_3, ARRAY_A);
                            bpsPro_db_backup($db_backup, $tables, $job_name, $job_type, $email_zip);
                            $update_rows = $wpdb->update($DBBtable_name, array('bps_last_job' => $timestamp), array('bps_id' => $row->bps_id));
                            $textRunJob = '<strong><font color="green">' . __('Backup Job: ', 'bulletproof-security') . $row->bps_desc . __(' has completed.', 'bulletproof-security') . '<br>' . __('Your DB Backup Log contains the Backup Job Completion Time, Total Memory Used and other information about this Backup.', 'bulletproof-security') . '<br>' . __('Click the Refresh Status button below to refresh the DB Backup Timestamp.', 'bulletproof-security') . '</font></strong><br>';
                            echo $textRunJob;
                        }
                    }
                    echo '<div class="bps-message-button" style="width:90px;margin-top:10px;"><a href="admin.php?page=bulletproof-security/admin/db-backup-security/db-backup-security.php">' . __('Refresh Status', 'bulletproof-security') . '</a></div>';
                    echo '</p></div>';
                }
                break;
        }
        // end Switch
    }
}