original_string: private static function get_submission_structure($required = VALUE_REQUIRED) {
          return new external_single_structure(
              array(
                  'id' => new external_value(PARAM_INT, 'submission id'),
                  'userid' => new external_value(PARAM_INT, 'student id'),
                  'attemptnumber' => new external_value(PARAM_INT, 'attempt number'),
                  'timecreated' => new external_value(PARAM_INT, 'submission creation time'),
                  'timemodified' => new external_value(PARAM_INT, 'submission last modified time'),
                  'status' => new external_value(PARAM_TEXT, 'submission status'),
                  'groupid' => new external_value(PARAM_INT, 'group id'),
                  'assignment' => new external_value(PARAM_INT, 'assignment id', VALUE_OPTIONAL),
                  'latest' => new external_value(PARAM_INT, 'latest attempt', VALUE_OPTIONAL),
                  'plugins' => new external_multiple_structure(self::get_plugin_structure(), 'plugins', VALUE_OPTIONAL),
                  'gradingstatus' => new external_value(PARAM_ALPHANUMEXT, 'Grading status.', VALUE_OPTIONAL),
              ), 'submission info', $required
          );
      }
code: private static function get_submission_structure($required = VALUE_REQUIRED) {
          return new external_single_structure(
              array(
                  'id' => new external_value(PARAM_INT, 'submission id'),
                  'userid' => new external_value(PARAM_INT, 'student id'),
                  'attemptnumber' => new external_value(PARAM_INT, 'attempt number'),
                  'timecreated' => new external_value(PARAM_INT, 'submission creation time'),
                  'timemodified' => new external_value(PARAM_INT, 'submission last modified time'),
                  'status' => new external_value(PARAM_TEXT, 'submission status'),
                  'groupid' => new external_value(PARAM_INT, 'group id'),
                  'assignment' => new external_value(PARAM_INT, 'assignment id', VALUE_OPTIONAL),
                  'latest' => new external_value(PARAM_INT, 'latest attempt', VALUE_OPTIONAL),
                  'plugins' => new external_multiple_structure(self::get_plugin_structure(), 'plugins', VALUE_OPTIONAL),
                  'gradingstatus' => new external_value(PARAM_ALPHANUMEXT, 'Grading status.', VALUE_OPTIONAL),
              ), 'submission info', $required
          );
      }
code_tokens: private static function get_submission_structure ( $ required = VALUE_REQUIRED ) { return new external_single_structure ( array ( 'id' => new external_value ( PARAM_INT , 'submission id' ) , 'userid' => new external_value ( PARAM_INT , 'student id' ) , 'attemptnumber' => new external_value ( PARAM_INT , 'attempt number' ) , 'timecreated' => new external_value ( PARAM_INT , 'submission creation time' ) , 'timemodified' => new external_value ( PARAM_INT , 'submission last modified time' ) , 'status' => new external_value ( PARAM_TEXT , 'submission status' ) , 'groupid' => new external_value ( PARAM_INT , 'group id' ) , 'assignment' => new external_value ( PARAM_INT , 'assignment id' , VALUE_OPTIONAL ) , 'latest' => new external_value ( PARAM_INT , 'latest attempt' , VALUE_OPTIONAL ) , 'plugins' => new external_multiple_structure ( self :: get_plugin_structure ( ) , 'plugins' , VALUE_OPTIONAL ) , 'gradingstatus' => new external_value ( PARAM_ALPHANUMEXT , 'Grading status.' , VALUE_OPTIONAL ) , ) , 'submission info' , $ required ) ; }
docstring: Creates a submission structure.
  
  @return external_single_structure the submission structure
docstring_tokens: Creates a submission structure .