original_string: public static function get_attempts_overview_returns() {
          return new external_single_structure(
              array(
                  'data' => new external_single_structure(
                      array(
                          'lessonscored' => new external_value(PARAM_BOOL, 'True if the lesson was scored.'),
                          'numofattempts' => new external_value(PARAM_INT, 'Number of attempts.'),
                          'avescore' => new external_value(PARAM_FLOAT, 'Average score.'),
                          'highscore' => new external_value(PARAM_FLOAT, 'High score.'),
                          'lowscore' => new external_value(PARAM_FLOAT, 'Low score.'),
                          'avetime' => new external_value(PARAM_INT, 'Average time (spent in taking the lesson).'),
                          'hightime' => new external_value(PARAM_INT, 'High time.'),
                          'lowtime' => new external_value(PARAM_INT, 'Low time.'),
                          'students' => new external_multiple_structure(
                              new external_single_structure(
                                  array(
                                      'id' => new external_value(PARAM_INT, 'User id.'),
                                      'fullname' => new external_value(PARAM_TEXT, 'User full name.'),
                                      'bestgrade' => new external_value(PARAM_FLOAT, 'Best grade.'),
                                      'attempts' => new external_multiple_structure(
                                          new external_single_structure(
                                              array(
                                                  'try' => new external_value(PARAM_INT, 'Attempt number.'),
                                                  'grade' => new external_value(PARAM_FLOAT, 'Attempt grade.'),
                                                  'timestart' => new external_value(PARAM_INT, 'Attempt time started.'),
                                                  'timeend' => new external_value(PARAM_INT, 'Attempt last time continued.'),
                                                  'end' => new external_value(PARAM_INT, 'Attempt time ended.'),
                                              )
                                          )
                                      )
                                  )
                              ), 'Students data, including attempts.', VALUE_OPTIONAL
                          ),
                      ),
                      'Attempts overview data (empty for no attemps).', VALUE_OPTIONAL
                  ),
                  'warnings' => new external_warnings(),
              )
          );
      }
code: public static function get_attempts_overview_returns() {
          return new external_single_structure(
              array(
                  'data' => new external_single_structure(
                      array(
                          'lessonscored' => new external_value(PARAM_BOOL, 'True if the lesson was scored.'),
                          'numofattempts' => new external_value(PARAM_INT, 'Number of attempts.'),
                          'avescore' => new external_value(PARAM_FLOAT, 'Average score.'),
                          'highscore' => new external_value(PARAM_FLOAT, 'High score.'),
                          'lowscore' => new external_value(PARAM_FLOAT, 'Low score.'),
                          'avetime' => new external_value(PARAM_INT, 'Average time (spent in taking the lesson).'),
                          'hightime' => new external_value(PARAM_INT, 'High time.'),
                          'lowtime' => new external_value(PARAM_INT, 'Low time.'),
                          'students' => new external_multiple_structure(
                              new external_single_structure(
                                  array(
                                      'id' => new external_value(PARAM_INT, 'User id.'),
                                      'fullname' => new external_value(PARAM_TEXT, 'User full name.'),
                                      'bestgrade' => new external_value(PARAM_FLOAT, 'Best grade.'),
                                      'attempts' => new external_multiple_structure(
                                          new external_single_structure(
                                              array(
                                                  'try' => new external_value(PARAM_INT, 'Attempt number.'),
                                                  'grade' => new external_value(PARAM_FLOAT, 'Attempt grade.'),
                                                  'timestart' => new external_value(PARAM_INT, 'Attempt time started.'),
                                                  'timeend' => new external_value(PARAM_INT, 'Attempt last time continued.'),
                                                  'end' => new external_value(PARAM_INT, 'Attempt time ended.'),
                                              )
                                          )
                                      )
                                  )
                              ), 'Students data, including attempts.', VALUE_OPTIONAL
                          ),
                      ),
                      'Attempts overview data (empty for no attemps).', VALUE_OPTIONAL
                  ),
                  'warnings' => new external_warnings(),
              )
          );
      }
code_tokens: public static function get_attempts_overview_returns ( ) { return new external_single_structure ( array ( 'data' => new external_single_structure ( array ( 'lessonscored' => new external_value ( PARAM_BOOL , 'True if the lesson was scored.' ) , 'numofattempts' => new external_value ( PARAM_INT , 'Number of attempts.' ) , 'avescore' => new external_value ( PARAM_FLOAT , 'Average score.' ) , 'highscore' => new external_value ( PARAM_FLOAT , 'High score.' ) , 'lowscore' => new external_value ( PARAM_FLOAT , 'Low score.' ) , 'avetime' => new external_value ( PARAM_INT , 'Average time (spent in taking the lesson).' ) , 'hightime' => new external_value ( PARAM_INT , 'High time.' ) , 'lowtime' => new external_value ( PARAM_INT , 'Low time.' ) , 'students' => new external_multiple_structure ( new external_single_structure ( array ( 'id' => new external_value ( PARAM_INT , 'User id.' ) , 'fullname' => new external_value ( PARAM_TEXT , 'User full name.' ) , 'bestgrade' => new external_value ( PARAM_FLOAT , 'Best grade.' ) , 'attempts' => new external_multiple_structure ( new external_single_structure ( array ( 'try' => new external_value ( PARAM_INT , 'Attempt number.' ) , 'grade' => new external_value ( PARAM_FLOAT , 'Attempt grade.' ) , 'timestart' => new external_value ( PARAM_INT , 'Attempt time started.' ) , 'timeend' => new external_value ( PARAM_INT , 'Attempt last time continued.' ) , 'end' => new external_value ( PARAM_INT , 'Attempt time ended.' ) , ) ) ) ) ) , 'Students data, including attempts.' , VALUE_OPTIONAL ) , ) , 'Attempts overview data (empty for no attemps).' , VALUE_OPTIONAL ) , 'warnings' => new external_warnings ( ) , ) ) ; }
docstring: Describes the get_attempts_overview return value.
  
  @return external_single_structure
  @since Moodle 3.3
docstring_tokens: Describes the get_attempts_overview return value .