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