original_string: protected function process_assign($data) {
          global $DB;
  
          $data = (object)$data;
          $oldid = $data->id;
          $data->course = $this->get_courseid();
  
          // Any changes to the list of dates that needs to be rolled should be same during course restore and course reset.
          // See MDL-9367.
          $data->allowsubmissionsfromdate = $this->apply_date_offset($data->allowsubmissionsfromdate);
          $data->duedate = $this->apply_date_offset($data->duedate);
  
          // If this is a team submission, but there is no group info we need to flag that the submission
          // information should not be included. It should not be restored.
          $groupinfo = $this->task->get_setting_value('groups');
          if ($data->teamsubmission && !$groupinfo) {
              $this->includesubmission = false;
          }
  
          // Reset revealidentities if blindmarking with no user data (MDL-43796).
          $userinfo = $this->get_setting_value('userinfo');
          if (!$userinfo && $data->blindmarking) {
              $data->revealidentities = 0;
          }
  
          if (!empty($data->teamsubmissiongroupingid)) {
              $data->teamsubmissiongroupingid = $this->get_mappingid('grouping',
                                                                     $data->teamsubmissiongroupingid);
          } else {
              $data->teamsubmissiongroupingid = 0;
          }
  
          if (!isset($data->cutoffdate)) {
              $data->cutoffdate = 0;
          }
          if (!isset($data->gradingduedate)) {
              $data->gradingduedate = 0;
          } else {
              $data->gradingduedate = $this->apply_date_offset($data->gradingduedate);
          }
          if (!isset($data->markingworkflow)) {
              $data->markingworkflow = 0;
          }
          if (!isset($data->markingallocation)) {
              $data->markingallocation = 0;
          }
          if (!isset($data->preventsubmissionnotingroup)) {
              $data->preventsubmissionnotingroup = 0;
          }
  
          if (!empty($data->preventlatesubmissions)) {
              $data->cutoffdate = $data->duedate;
          } else {
              $data->cutoffdate = $this->apply_date_offset($data->cutoffdate);
          }
  
          if ($data->grade < 0) { // Scale found, get mapping.
              $data->grade = -($this->get_mappingid('scale', abs($data->grade)));
          }
  
          $newitemid = $DB->insert_record('assign', $data);
  
          $this->apply_activity_instance($newitemid);
      }
code: protected function process_assign($data) {
          global $DB;
  
          $data = (object)$data;
          $oldid = $data->id;
          $data->course = $this->get_courseid();
  
          // Any changes to the list of dates that needs to be rolled should be same during course restore and course reset.
          // See MDL-9367.
          $data->allowsubmissionsfromdate = $this->apply_date_offset($data->allowsubmissionsfromdate);
          $data->duedate = $this->apply_date_offset($data->duedate);
  
          // If this is a team submission, but there is no group info we need to flag that the submission
          // information should not be included. It should not be restored.
          $groupinfo = $this->task->get_setting_value('groups');
          if ($data->teamsubmission && !$groupinfo) {
              $this->includesubmission = false;
          }
  
          // Reset revealidentities if blindmarking with no user data (MDL-43796).
          $userinfo = $this->get_setting_value('userinfo');
          if (!$userinfo && $data->blindmarking) {
              $data->revealidentities = 0;
          }
  
          if (!empty($data->teamsubmissiongroupingid)) {
              $data->teamsubmissiongroupingid = $this->get_mappingid('grouping',
                                                                     $data->teamsubmissiongroupingid);
          } else {
              $data->teamsubmissiongroupingid = 0;
          }
  
          if (!isset($data->cutoffdate)) {
              $data->cutoffdate = 0;
          }
          if (!isset($data->gradingduedate)) {
              $data->gradingduedate = 0;
          } else {
              $data->gradingduedate = $this->apply_date_offset($data->gradingduedate);
          }
          if (!isset($data->markingworkflow)) {
              $data->markingworkflow = 0;
          }
          if (!isset($data->markingallocation)) {
              $data->markingallocation = 0;
          }
          if (!isset($data->preventsubmissionnotingroup)) {
              $data->preventsubmissionnotingroup = 0;
          }
  
          if (!empty($data->preventlatesubmissions)) {
              $data->cutoffdate = $data->duedate;
          } else {
              $data->cutoffdate = $this->apply_date_offset($data->cutoffdate);
          }
  
          if ($data->grade < 0) { // Scale found, get mapping.
              $data->grade = -($this->get_mappingid('scale', abs($data->grade)));
          }
  
          $newitemid = $DB->insert_record('assign', $data);
  
          $this->apply_activity_instance($newitemid);
      }
code_tokens: protected function process_assign ( $ data ) { global $ DB ; $ data = ( object ) $ data ; $ oldid = $ data -> id ; $ data -> course = $ this -> get_courseid ( ) ; // Any changes to the list of dates that needs to be rolled should be same during course restore and course reset. // See MDL-9367. $ data -> allowsubmissionsfromdate = $ this -> apply_date_offset ( $ data -> allowsubmissionsfromdate ) ; $ data -> duedate = $ this -> apply_date_offset ( $ data -> duedate ) ; // If this is a team submission, but there is no group info we need to flag that the submission // information should not be included. It should not be restored. $ groupinfo = $ this -> task -> get_setting_value ( 'groups' ) ; if ( $ data -> teamsubmission && ! $ groupinfo ) { $ this -> includesubmission = false ; } // Reset revealidentities if blindmarking with no user data (MDL-43796). $ userinfo = $ this -> get_setting_value ( 'userinfo' ) ; if ( ! $ userinfo && $ data -> blindmarking ) { $ data -> revealidentities = 0 ; } if ( ! empty ( $ data -> teamsubmissiongroupingid ) ) { $ data -> teamsubmissiongroupingid = $ this -> get_mappingid ( 'grouping' , $ data -> teamsubmissiongroupingid ) ; } else { $ data -> teamsubmissiongroupingid = 0 ; } if ( ! isset ( $ data -> cutoffdate ) ) { $ data -> cutoffdate = 0 ; } if ( ! isset ( $ data -> gradingduedate ) ) { $ data -> gradingduedate = 0 ; } else { $ data -> gradingduedate = $ this -> apply_date_offset ( $ data -> gradingduedate ) ; } if ( ! isset ( $ data -> markingworkflow ) ) { $ data -> markingworkflow = 0 ; } if ( ! isset ( $ data -> markingallocation ) ) { $ data -> markingallocation = 0 ; } if ( ! isset ( $ data -> preventsubmissionnotingroup ) ) { $ data -> preventsubmissionnotingroup = 0 ; } if ( ! empty ( $ data -> preventlatesubmissions ) ) { $ data -> cutoffdate = $ data -> duedate ; } else { $ data -> cutoffdate = $ this -> apply_date_offset ( $ data -> cutoffdate ) ; } if ( $ data -> grade < 0 ) { // Scale found, get mapping. $ data -> grade = - ( $ this -> get_mappingid ( 'scale' , abs ( $ data -> grade ) ) ) ; } $ newitemid = $ DB -> insert_record ( 'assign' , $ data ) ; $ this -> apply_activity_instance ( $ newitemid ) ; }
docstring: Process an assign restore.
  
  @param object $data The data in object form
  @return void
docstring_tokens: Process an assign restore .