if (!WPBackItUp_Backup::start()) {
    $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup job cant acquire job lock.');
    return;
    //nothing to do
} else {
    $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup job lock acquired.');
}
//**************************//
//**************************//
//     Task Handling        //
//**************************//
global $backup_job;
$backup_job = null;
$current_task = null;
$backup_error = false;
$backup_job = WPBackItUp_Job::get_job('backup');
$logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Check for available backup job');
if ($backup_job) {
    //Get the next task in the stack
    $next_task = $backup_job->get_next_task();
    if (false !== $next_task) {
        $backup_id = $backup_job->backup_id;
        $current_task = $next_task;
        //If task contains error then timeout has occurred
        if (strpos($current_task, 'error') !== false) {
            $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Backup Error Found:' . $current_task);
            $backup_error = true;
        }
        $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Available Task Found:' . $current_task);
    } else {
        $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'No available tasks found.');
Esempio n. 2
0
 /**
  * Gets the queued or active job on top of the stack
  *
  * @param $job_name
  *
  * @return bool|WPBackItUp_Job
  */
 public static function get_job($job_name)
 {
     $logger = new WPBackItUp_Logger(false, null, 'debug_job');
     $logger->log_info(__METHOD__, 'Begin - Job Name: ' . $job_name);
     //Get backup on top
     $args = array('posts_per_page' => 1, 'post_type' => $job_name, 'post_status' => array('queued', 'active'), 'orderby' => 'post_date', 'order' => 'ASC');
     $jobs = get_posts($args);
     $logger->log($jobs);
     if (is_array($jobs) && count($jobs) > 0) {
         $logger->log_info(__METHOD__, 'Job found:' . count($jobs));
         $backup_job = new WPBackItUp_Job($jobs[0]);
         if (self::QUEUED == $backup_job->job_status) {
             $backup_job->set_job_status_active();
         }
         return $backup_job;
     }
     $logger->log_info(__METHOD__, 'No jobs found.');
     $logger->log_info(__METHOD__, 'End');
     return false;
 }
if (!WPBackItUp_Backup::start()) {
    $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Cleanup job cant acquire job lock.');
    return;
    //nothing to do
} else {
    $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Cleanup job lock acquired.');
}
//**************************//
//**************************//
//     Task Handling        //
//**************************//
global $cleanup_job;
$cleanup_job = null;
$current_task = null;
$backup_error = false;
$cleanup_job = WPBackItUp_Job::get_job('cleanup');
$logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Check for available job');
if ($cleanup_job) {
    //Get the next task in the stack
    $next_task = $cleanup_job->get_next_task();
    if (false !== $next_task) {
        $backup_id = $cleanup_job->backup_id;
        $current_task = $next_task;
        //If task contains error then timeout has occurred
        if (strpos($current_task, 'error') !== false) {
            $backup_error = true;
        }
        $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'Available Task Found:' . $current_task);
    } else {
        $logger_tasks->log_info(__METHOD__ . '(' . $backup_process_id . ')', 'No available tasks found.');
        WPBackItUp_Backup::end();
 public function ajax_queue_restore()
 {
     $rtnData = new stdClass();
     // Check permissions
     if (!self::is_authorized()) {
         exit('Access denied.');
     }
     $logger = new WPBackItUp_Logger(false, null, 'debug_events');
     $logger->log_info(__METHOD__, 'Begin');
     //Include Job class
     if (!class_exists('WPBackItUp_Job')) {
         include_once 'class-job.php';
     }
     $validation_error = false;
     //Get posted values
     $backup_file_name = $_POST['selected_file'];
     //Get the backup file name
     if (empty($backup_file_name)) {
         $rtnData->message = 'No backup file selected.';
         $validation_error = true;
     }
     //Get user ID - GET ThIS FROM POST ID
     $user_id = $_POST['user_id'];
     if (empty($user_id)) {
         $rtnData->message = 'No user id found.';
         $validation_error = true;
     }
     //If no job queued already then queue one
     if (!$validation_error) {
         if (!WPBackItUp_Job::is_job_queued('restore')) {
             $job = WPBackItUp_Job::queue_job('restore');
             if ($job !== false) {
                 $job->update_job_meta('backup_name', $backup_file_name);
                 $job->update_job_meta('user_id', $user_id);
                 $rtnData->message = 'Restore Queued';
             } else {
                 $rtnData->message = 'Restore could not be queued';
             }
         } else {
             $rtnData->message = 'Restore already in queue';
         }
     }
     $logger->log_info(__METHOD__, $rtnData->message);
     $logger->log_info(__METHOD__, 'End');
     echo json_encode($rtnData);
     exit;
 }