original_string: public static function get_forums_by_courses_returns() {
          return new external_multiple_structure(
              new external_single_structure(
                  array(
                      'id' => new external_value(PARAM_INT, 'Forum id'),
                      'course' => new external_value(PARAM_INT, 'Course id'),
                      'type' => new external_value(PARAM_TEXT, 'The forum type'),
                      'name' => new external_value(PARAM_RAW, 'Forum name'),
                      'intro' => new external_value(PARAM_RAW, 'The forum intro'),
                      'introformat' => new external_format_value('intro'),
                      'introfiles' => new external_files('Files in the introduction text', VALUE_OPTIONAL),
                      'duedate' => new external_value(PARAM_INT, 'duedate for the user', VALUE_OPTIONAL),
                      'cutoffdate' => new external_value(PARAM_INT, 'cutoffdate for the user', VALUE_OPTIONAL),
                      'assessed' => new external_value(PARAM_INT, 'Aggregate type'),
                      'assesstimestart' => new external_value(PARAM_INT, 'Assess start time'),
                      'assesstimefinish' => new external_value(PARAM_INT, 'Assess finish time'),
                      'scale' => new external_value(PARAM_INT, 'Scale'),
                      'maxbytes' => new external_value(PARAM_INT, 'Maximum attachment size'),
                      'maxattachments' => new external_value(PARAM_INT, 'Maximum number of attachments'),
                      'forcesubscribe' => new external_value(PARAM_INT, 'Force users to subscribe'),
                      'trackingtype' => new external_value(PARAM_INT, 'Subscription mode'),
                      'rsstype' => new external_value(PARAM_INT, 'RSS feed for this activity'),
                      'rssarticles' => new external_value(PARAM_INT, 'Number of RSS recent articles'),
                      'timemodified' => new external_value(PARAM_INT, 'Time modified'),
                      'warnafter' => new external_value(PARAM_INT, 'Post threshold for warning'),
                      'blockafter' => new external_value(PARAM_INT, 'Post threshold for blocking'),
                      'blockperiod' => new external_value(PARAM_INT, 'Time period for blocking'),
                      'completiondiscussions' => new external_value(PARAM_INT, 'Student must create discussions'),
                      'completionreplies' => new external_value(PARAM_INT, 'Student must post replies'),
                      'completionposts' => new external_value(PARAM_INT, 'Student must post discussions or replies'),
                      'cmid' => new external_value(PARAM_INT, 'Course module id'),
                      'numdiscussions' => new external_value(PARAM_INT, 'Number of discussions in the forum', VALUE_OPTIONAL),
                      'cancreatediscussions' => new external_value(PARAM_BOOL, 'If the user can create discussions', VALUE_OPTIONAL),
                      'lockdiscussionafter' => new external_value(PARAM_INT, 'After what period a discussion is locked', VALUE_OPTIONAL),
                      'istracked' => new external_value(PARAM_BOOL, 'If the user is tracking the forum', VALUE_OPTIONAL),
                      'unreadpostscount' => new external_value(PARAM_INT, 'The number of unread posts for tracked forums',
                          VALUE_OPTIONAL),
                  ), 'forum'
              )
          );
      }
code: public static function get_forums_by_courses_returns() {
          return new external_multiple_structure(
              new external_single_structure(
                  array(
                      'id' => new external_value(PARAM_INT, 'Forum id'),
                      'course' => new external_value(PARAM_INT, 'Course id'),
                      'type' => new external_value(PARAM_TEXT, 'The forum type'),
                      'name' => new external_value(PARAM_RAW, 'Forum name'),
                      'intro' => new external_value(PARAM_RAW, 'The forum intro'),
                      'introformat' => new external_format_value('intro'),
                      'introfiles' => new external_files('Files in the introduction text', VALUE_OPTIONAL),
                      'duedate' => new external_value(PARAM_INT, 'duedate for the user', VALUE_OPTIONAL),
                      'cutoffdate' => new external_value(PARAM_INT, 'cutoffdate for the user', VALUE_OPTIONAL),
                      'assessed' => new external_value(PARAM_INT, 'Aggregate type'),
                      'assesstimestart' => new external_value(PARAM_INT, 'Assess start time'),
                      'assesstimefinish' => new external_value(PARAM_INT, 'Assess finish time'),
                      'scale' => new external_value(PARAM_INT, 'Scale'),
                      'maxbytes' => new external_value(PARAM_INT, 'Maximum attachment size'),
                      'maxattachments' => new external_value(PARAM_INT, 'Maximum number of attachments'),
                      'forcesubscribe' => new external_value(PARAM_INT, 'Force users to subscribe'),
                      'trackingtype' => new external_value(PARAM_INT, 'Subscription mode'),
                      'rsstype' => new external_value(PARAM_INT, 'RSS feed for this activity'),
                      'rssarticles' => new external_value(PARAM_INT, 'Number of RSS recent articles'),
                      'timemodified' => new external_value(PARAM_INT, 'Time modified'),
                      'warnafter' => new external_value(PARAM_INT, 'Post threshold for warning'),
                      'blockafter' => new external_value(PARAM_INT, 'Post threshold for blocking'),
                      'blockperiod' => new external_value(PARAM_INT, 'Time period for blocking'),
                      'completiondiscussions' => new external_value(PARAM_INT, 'Student must create discussions'),
                      'completionreplies' => new external_value(PARAM_INT, 'Student must post replies'),
                      'completionposts' => new external_value(PARAM_INT, 'Student must post discussions or replies'),
                      'cmid' => new external_value(PARAM_INT, 'Course module id'),
                      'numdiscussions' => new external_value(PARAM_INT, 'Number of discussions in the forum', VALUE_OPTIONAL),
                      'cancreatediscussions' => new external_value(PARAM_BOOL, 'If the user can create discussions', VALUE_OPTIONAL),
                      'lockdiscussionafter' => new external_value(PARAM_INT, 'After what period a discussion is locked', VALUE_OPTIONAL),
                      'istracked' => new external_value(PARAM_BOOL, 'If the user is tracking the forum', VALUE_OPTIONAL),
                      'unreadpostscount' => new external_value(PARAM_INT, 'The number of unread posts for tracked forums',
                          VALUE_OPTIONAL),
                  ), 'forum'
              )
          );
      }
code_tokens: public static function get_forums_by_courses_returns ( ) { return new external_multiple_structure ( new external_single_structure ( array ( 'id' => new external_value ( PARAM_INT , 'Forum id' ) , 'course' => new external_value ( PARAM_INT , 'Course id' ) , 'type' => new external_value ( PARAM_TEXT , 'The forum type' ) , 'name' => new external_value ( PARAM_RAW , 'Forum name' ) , 'intro' => new external_value ( PARAM_RAW , 'The forum intro' ) , 'introformat' => new external_format_value ( 'intro' ) , 'introfiles' => new external_files ( 'Files in the introduction text' , VALUE_OPTIONAL ) , 'duedate' => new external_value ( PARAM_INT , 'duedate for the user' , VALUE_OPTIONAL ) , 'cutoffdate' => new external_value ( PARAM_INT , 'cutoffdate for the user' , VALUE_OPTIONAL ) , 'assessed' => new external_value ( PARAM_INT , 'Aggregate type' ) , 'assesstimestart' => new external_value ( PARAM_INT , 'Assess start time' ) , 'assesstimefinish' => new external_value ( PARAM_INT , 'Assess finish time' ) , 'scale' => new external_value ( PARAM_INT , 'Scale' ) , 'maxbytes' => new external_value ( PARAM_INT , 'Maximum attachment size' ) , 'maxattachments' => new external_value ( PARAM_INT , 'Maximum number of attachments' ) , 'forcesubscribe' => new external_value ( PARAM_INT , 'Force users to subscribe' ) , 'trackingtype' => new external_value ( PARAM_INT , 'Subscription mode' ) , 'rsstype' => new external_value ( PARAM_INT , 'RSS feed for this activity' ) , 'rssarticles' => new external_value ( PARAM_INT , 'Number of RSS recent articles' ) , 'timemodified' => new external_value ( PARAM_INT , 'Time modified' ) , 'warnafter' => new external_value ( PARAM_INT , 'Post threshold for warning' ) , 'blockafter' => new external_value ( PARAM_INT , 'Post threshold for blocking' ) , 'blockperiod' => new external_value ( PARAM_INT , 'Time period for blocking' ) , 'completiondiscussions' => new external_value ( PARAM_INT , 'Student must create discussions' ) , 'completionreplies' => new external_value ( PARAM_INT , 'Student must post replies' ) , 'completionposts' => new external_value ( PARAM_INT , 'Student must post discussions or replies' ) , 'cmid' => new external_value ( PARAM_INT , 'Course module id' ) , 'numdiscussions' => new external_value ( PARAM_INT , 'Number of discussions in the forum' , VALUE_OPTIONAL ) , 'cancreatediscussions' => new external_value ( PARAM_BOOL , 'If the user can create discussions' , VALUE_OPTIONAL ) , 'lockdiscussionafter' => new external_value ( PARAM_INT , 'After what period a discussion is locked' , VALUE_OPTIONAL ) , 'istracked' => new external_value ( PARAM_BOOL , 'If the user is tracking the forum' , VALUE_OPTIONAL ) , 'unreadpostscount' => new external_value ( PARAM_INT , 'The number of unread posts for tracked forums' , VALUE_OPTIONAL ) , ) , 'forum' ) ) ; }
docstring: Describes the get_forum return value.
  
  @return external_single_structure
  @since Moodle 2.5
docstring_tokens: Describes the get_forum return value .