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