original_string: public static function get_metadata(collection $collection) : collection {
          $assigngrades = [
                  'userid' => 'privacy:metadata:userid',
                  'timecreated' => 'privacy:metadata:timecreated',
                  'timemodified' => 'timemodified',
                  'grader' => 'privacy:metadata:grader',
                  'grade' => 'privacy:metadata:grade',
                  'attemptnumber' => 'attemptnumber'
          ];
          $assignoverrides = [
                  'groupid' => 'privacy:metadata:groupid',
                  'userid' => 'privacy:metadata:userid',
                  'allowsubmissionsfromdate' => 'allowsubmissionsfromdate',
                  'duedate' => 'duedate',
                  'cutoffdate' => 'cutoffdate'
          ];
          $assignsubmission = [
                  'userid' => 'privacy:metadata:userid',
                  'timecreated' => 'privacy:metadata:timecreated',
                  'timemodified' => 'timemodified',
                  'status' => 'gradingstatus',
                  'groupid' => 'privacy:metadata:groupid',
                  'attemptnumber' => 'attemptnumber',
                  'latest' => 'privacy:metadata:latest'
          ];
          $assignuserflags = [
                  'userid' => 'privacy:metadata:userid',
                  'assignment' => 'privacy:metadata:assignmentid',
                  'locked' => 'locksubmissions',
                  'mailed' => 'privacy:metadata:mailed',
                  'extensionduedate' => 'extensionduedate',
                  'workflowstate' => 'markingworkflowstate',
                  'allocatedmarker' => 'allocatedmarker'
          ];
          $assignusermapping = [
                  'assignment' => 'privacy:metadata:assignmentid',
                  'userid' => 'privacy:metadata:userid'
          ];
          $collection->add_database_table('assign_grades', $assigngrades, 'privacy:metadata:assigngrades');
          $collection->add_database_table('assign_overrides', $assignoverrides, 'privacy:metadata:assignoverrides');
          $collection->add_database_table('assign_submission', $assignsubmission, 'privacy:metadata:assignsubmissiondetail');
          $collection->add_database_table('assign_user_flags', $assignuserflags, 'privacy:metadata:assignuserflags');
          $collection->add_database_table('assign_user_mapping', $assignusermapping, 'privacy:metadata:assignusermapping');
          $collection->add_user_preference('assign_perpage', 'privacy:metadata:assignperpage');
          $collection->add_user_preference('assign_filter', 'privacy:metadata:assignfilter');
          $collection->add_user_preference('assign_markerfilter', 'privacy:metadata:assignmarkerfilter');
          $collection->add_user_preference('assign_workflowfilter', 'privacy:metadata:assignworkflowfilter');
          $collection->add_user_preference('assign_quickgrading', 'privacy:metadata:assignquickgrading');
          $collection->add_user_preference('assign_downloadasfolders', 'privacy:metadata:assigndownloadasfolders');
  
          // Link to subplugins.
          $collection->add_plugintype_link('assignsubmission', [],'privacy:metadata:assignsubmissionpluginsummary');
          $collection->add_plugintype_link('assignfeedback', [], 'privacy:metadata:assignfeedbackpluginsummary');
          $collection->add_subsystem_link('core_message', [], 'privacy:metadata:assignmessageexplanation');
  
          return $collection;
      }
code: public static function get_metadata(collection $collection) : collection {
          $assigngrades = [
                  'userid' => 'privacy:metadata:userid',
                  'timecreated' => 'privacy:metadata:timecreated',
                  'timemodified' => 'timemodified',
                  'grader' => 'privacy:metadata:grader',
                  'grade' => 'privacy:metadata:grade',
                  'attemptnumber' => 'attemptnumber'
          ];
          $assignoverrides = [
                  'groupid' => 'privacy:metadata:groupid',
                  'userid' => 'privacy:metadata:userid',
                  'allowsubmissionsfromdate' => 'allowsubmissionsfromdate',
                  'duedate' => 'duedate',
                  'cutoffdate' => 'cutoffdate'
          ];
          $assignsubmission = [
                  'userid' => 'privacy:metadata:userid',
                  'timecreated' => 'privacy:metadata:timecreated',
                  'timemodified' => 'timemodified',
                  'status' => 'gradingstatus',
                  'groupid' => 'privacy:metadata:groupid',
                  'attemptnumber' => 'attemptnumber',
                  'latest' => 'privacy:metadata:latest'
          ];
          $assignuserflags = [
                  'userid' => 'privacy:metadata:userid',
                  'assignment' => 'privacy:metadata:assignmentid',
                  'locked' => 'locksubmissions',
                  'mailed' => 'privacy:metadata:mailed',
                  'extensionduedate' => 'extensionduedate',
                  'workflowstate' => 'markingworkflowstate',
                  'allocatedmarker' => 'allocatedmarker'
          ];
          $assignusermapping = [
                  'assignment' => 'privacy:metadata:assignmentid',
                  'userid' => 'privacy:metadata:userid'
          ];
          $collection->add_database_table('assign_grades', $assigngrades, 'privacy:metadata:assigngrades');
          $collection->add_database_table('assign_overrides', $assignoverrides, 'privacy:metadata:assignoverrides');
          $collection->add_database_table('assign_submission', $assignsubmission, 'privacy:metadata:assignsubmissiondetail');
          $collection->add_database_table('assign_user_flags', $assignuserflags, 'privacy:metadata:assignuserflags');
          $collection->add_database_table('assign_user_mapping', $assignusermapping, 'privacy:metadata:assignusermapping');
          $collection->add_user_preference('assign_perpage', 'privacy:metadata:assignperpage');
          $collection->add_user_preference('assign_filter', 'privacy:metadata:assignfilter');
          $collection->add_user_preference('assign_markerfilter', 'privacy:metadata:assignmarkerfilter');
          $collection->add_user_preference('assign_workflowfilter', 'privacy:metadata:assignworkflowfilter');
          $collection->add_user_preference('assign_quickgrading', 'privacy:metadata:assignquickgrading');
          $collection->add_user_preference('assign_downloadasfolders', 'privacy:metadata:assigndownloadasfolders');
  
          // Link to subplugins.
          $collection->add_plugintype_link('assignsubmission', [],'privacy:metadata:assignsubmissionpluginsummary');
          $collection->add_plugintype_link('assignfeedback', [], 'privacy:metadata:assignfeedbackpluginsummary');
          $collection->add_subsystem_link('core_message', [], 'privacy:metadata:assignmessageexplanation');
  
          return $collection;
      }
code_tokens: public static function get_metadata ( collection $ collection ) : collection { $ assigngrades = [ 'userid' => 'privacy:metadata:userid' , 'timecreated' => 'privacy:metadata:timecreated' , 'timemodified' => 'timemodified' , 'grader' => 'privacy:metadata:grader' , 'grade' => 'privacy:metadata:grade' , 'attemptnumber' => 'attemptnumber' ] ; $ assignoverrides = [ 'groupid' => 'privacy:metadata:groupid' , 'userid' => 'privacy:metadata:userid' , 'allowsubmissionsfromdate' => 'allowsubmissionsfromdate' , 'duedate' => 'duedate' , 'cutoffdate' => 'cutoffdate' ] ; $ assignsubmission = [ 'userid' => 'privacy:metadata:userid' , 'timecreated' => 'privacy:metadata:timecreated' , 'timemodified' => 'timemodified' , 'status' => 'gradingstatus' , 'groupid' => 'privacy:metadata:groupid' , 'attemptnumber' => 'attemptnumber' , 'latest' => 'privacy:metadata:latest' ] ; $ assignuserflags = [ 'userid' => 'privacy:metadata:userid' , 'assignment' => 'privacy:metadata:assignmentid' , 'locked' => 'locksubmissions' , 'mailed' => 'privacy:metadata:mailed' , 'extensionduedate' => 'extensionduedate' , 'workflowstate' => 'markingworkflowstate' , 'allocatedmarker' => 'allocatedmarker' ] ; $ assignusermapping = [ 'assignment' => 'privacy:metadata:assignmentid' , 'userid' => 'privacy:metadata:userid' ] ; $ collection -> add_database_table ( 'assign_grades' , $ assigngrades , 'privacy:metadata:assigngrades' ) ; $ collection -> add_database_table ( 'assign_overrides' , $ assignoverrides , 'privacy:metadata:assignoverrides' ) ; $ collection -> add_database_table ( 'assign_submission' , $ assignsubmission , 'privacy:metadata:assignsubmissiondetail' ) ; $ collection -> add_database_table ( 'assign_user_flags' , $ assignuserflags , 'privacy:metadata:assignuserflags' ) ; $ collection -> add_database_table ( 'assign_user_mapping' , $ assignusermapping , 'privacy:metadata:assignusermapping' ) ; $ collection -> add_user_preference ( 'assign_perpage' , 'privacy:metadata:assignperpage' ) ; $ collection -> add_user_preference ( 'assign_filter' , 'privacy:metadata:assignfilter' ) ; $ collection -> add_user_preference ( 'assign_markerfilter' , 'privacy:metadata:assignmarkerfilter' ) ; $ collection -> add_user_preference ( 'assign_workflowfilter' , 'privacy:metadata:assignworkflowfilter' ) ; $ collection -> add_user_preference ( 'assign_quickgrading' , 'privacy:metadata:assignquickgrading' ) ; $ collection -> add_user_preference ( 'assign_downloadasfolders' , 'privacy:metadata:assigndownloadasfolders' ) ; // Link to subplugins. $ collection -> add_plugintype_link ( 'assignsubmission' , [ ] , 'privacy:metadata:assignsubmissionpluginsummary' ) ; $ collection -> add_plugintype_link ( 'assignfeedback' , [ ] , 'privacy:metadata:assignfeedbackpluginsummary' ) ; $ collection -> add_subsystem_link ( 'core_message' , [ ] , 'privacy:metadata:assignmessageexplanation' ) ; return $ collection ; }
docstring: Provides meta data that is stored about a user with mod_assign
  
  @param  collection $collection A collection of meta data items to be added to.
  @return  collection Returns the collection of metadata.
docstring_tokens: Provides meta data that is stored about a user with mod_assign