original_string: protected function process_assign_grade($data) {
          global $DB;
  
          $data = (object)$data;
          $oldid = $data->id;
  
          $data->assignment = $this->get_new_parentid('assign');
  
          $data->userid = $this->get_mappingid('user', $data->userid);
          $data->grader = $this->get_mappingid('user', $data->grader);
  
          // Handle flags restore to a different table (for upgrade from old backups).
          if (!empty($data->extensionduedate) ||
                  !empty($data->mailed) ||
                  !empty($data->locked)) {
              $flags = new stdClass();
              $flags->assignment = $this->get_new_parentid('assign');
              if (!empty($data->extensionduedate)) {
                  $flags->extensionduedate = $this->apply_date_offset($data->extensionduedate);
              }
              if (!empty($data->mailed)) {
                  $flags->mailed = $data->mailed;
              }
              if (!empty($data->locked)) {
                  $flags->locked = $data->locked;
              }
              $flags->userid = $this->get_mappingid('user', $data->userid);
              $DB->insert_record('assign_user_flags', $flags);
          }
          // Fix null grades that were rescaled.
          if ($data->grade < 0 && $data->grade != ASSIGN_GRADE_NOT_SET) {
              $data->grade = ASSIGN_GRADE_NOT_SET;
          }
          $newitemid = $DB->insert_record('assign_grades', $data);
  
          // Note - the old contextid is required in order to be able to restore files stored in
          // sub plugin file areas attached to the gradeid.
          $this->set_mapping('grade', $oldid, $newitemid, false, null, $this->task->get_old_contextid());
          $this->set_mapping(restore_gradingform_plugin::itemid_mapping('submissions'), $oldid, $newitemid);
      }
code: protected function process_assign_grade($data) {
          global $DB;
  
          $data = (object)$data;
          $oldid = $data->id;
  
          $data->assignment = $this->get_new_parentid('assign');
  
          $data->userid = $this->get_mappingid('user', $data->userid);
          $data->grader = $this->get_mappingid('user', $data->grader);
  
          // Handle flags restore to a different table (for upgrade from old backups).
          if (!empty($data->extensionduedate) ||
                  !empty($data->mailed) ||
                  !empty($data->locked)) {
              $flags = new stdClass();
              $flags->assignment = $this->get_new_parentid('assign');
              if (!empty($data->extensionduedate)) {
                  $flags->extensionduedate = $this->apply_date_offset($data->extensionduedate);
              }
              if (!empty($data->mailed)) {
                  $flags->mailed = $data->mailed;
              }
              if (!empty($data->locked)) {
                  $flags->locked = $data->locked;
              }
              $flags->userid = $this->get_mappingid('user', $data->userid);
              $DB->insert_record('assign_user_flags', $flags);
          }
          // Fix null grades that were rescaled.
          if ($data->grade < 0 && $data->grade != ASSIGN_GRADE_NOT_SET) {
              $data->grade = ASSIGN_GRADE_NOT_SET;
          }
          $newitemid = $DB->insert_record('assign_grades', $data);
  
          // Note - the old contextid is required in order to be able to restore files stored in
          // sub plugin file areas attached to the gradeid.
          $this->set_mapping('grade', $oldid, $newitemid, false, null, $this->task->get_old_contextid());
          $this->set_mapping(restore_gradingform_plugin::itemid_mapping('submissions'), $oldid, $newitemid);
      }
code_tokens: protected function process_assign_grade ( $ data ) { global $ DB ; $ data = ( object ) $ data ; $ oldid = $ data -> id ; $ data -> assignment = $ this -> get_new_parentid ( 'assign' ) ; $ data -> userid = $ this -> get_mappingid ( 'user' , $ data -> userid ) ; $ data -> grader = $ this -> get_mappingid ( 'user' , $ data -> grader ) ; // Handle flags restore to a different table (for upgrade from old backups). if ( ! empty ( $ data -> extensionduedate ) || ! empty ( $ data -> mailed ) || ! empty ( $ data -> locked ) ) { $ flags = new stdClass ( ) ; $ flags -> assignment = $ this -> get_new_parentid ( 'assign' ) ; if ( ! empty ( $ data -> extensionduedate ) ) { $ flags -> extensionduedate = $ this -> apply_date_offset ( $ data -> extensionduedate ) ; } if ( ! empty ( $ data -> mailed ) ) { $ flags -> mailed = $ data -> mailed ; } if ( ! empty ( $ data -> locked ) ) { $ flags -> locked = $ data -> locked ; } $ flags -> userid = $ this -> get_mappingid ( 'user' , $ data -> userid ) ; $ DB -> insert_record ( 'assign_user_flags' , $ flags ) ; } // Fix null grades that were rescaled. if ( $ data -> grade < 0 && $ data -> grade != ASSIGN_GRADE_NOT_SET ) { $ data -> grade = ASSIGN_GRADE_NOT_SET ; } $ newitemid = $ DB -> insert_record ( 'assign_grades' , $ data ) ; // Note - the old contextid is required in order to be able to restore files stored in // sub plugin file areas attached to the gradeid. $ this -> set_mapping ( 'grade' , $ oldid , $ newitemid , false , null , $ this -> task -> get_old_contextid ( ) ) ; $ this -> set_mapping ( restore_gradingform_plugin :: itemid_mapping ( 'submissions' ) , $ oldid , $ newitemid ) ; }
docstring: Process a grade restore
  @param object $data The data in object form
  @return void
docstring_tokens: Process a grade restore