original_string: public static function get_cohorts($cohortids = array()) {
          global $DB, $CFG;
  
          $params = self::validate_parameters(self::get_cohorts_parameters(), array('cohortids' => $cohortids));
  
          if (empty($cohortids)) {
              $cohorts = $DB->get_records('cohort');
          } else {
              $cohorts = $DB->get_records_list('cohort', 'id', $params['cohortids']);
          }
  
          $cohortsinfo = array();
          foreach ($cohorts as $cohort) {
              // Now security checks.
              $context = context::instance_by_id($cohort->contextid, MUST_EXIST);
              if ($context->contextlevel != CONTEXT_COURSECAT and $context->contextlevel != CONTEXT_SYSTEM) {
                  throw new invalid_parameter_exception('Invalid context');
              }
              self::validate_context($context);
              if (!has_any_capability(array('moodle/cohort:manage', 'moodle/cohort:view'), $context)) {
                  throw new required_capability_exception($context, 'moodle/cohort:view', 'nopermissions', '');
              }
  
              // Only return theme when $CFG->allowcohortthemes is enabled.
              if (!empty($cohort->theme) && empty($CFG->allowcohortthemes)) {
                  $cohort->theme = null;
              }
  
              list($cohort->description, $cohort->descriptionformat) =
                  external_format_text($cohort->description, $cohort->descriptionformat,
                          $context->id, 'cohort', 'description', $cohort->id);
  
              $cohortsinfo[] = (array) $cohort;
          }
          return $cohortsinfo;
      }
code: public static function get_cohorts($cohortids = array()) {
          global $DB, $CFG;
  
          $params = self::validate_parameters(self::get_cohorts_parameters(), array('cohortids' => $cohortids));
  
          if (empty($cohortids)) {
              $cohorts = $DB->get_records('cohort');
          } else {
              $cohorts = $DB->get_records_list('cohort', 'id', $params['cohortids']);
          }
  
          $cohortsinfo = array();
          foreach ($cohorts as $cohort) {
              // Now security checks.
              $context = context::instance_by_id($cohort->contextid, MUST_EXIST);
              if ($context->contextlevel != CONTEXT_COURSECAT and $context->contextlevel != CONTEXT_SYSTEM) {
                  throw new invalid_parameter_exception('Invalid context');
              }
              self::validate_context($context);
              if (!has_any_capability(array('moodle/cohort:manage', 'moodle/cohort:view'), $context)) {
                  throw new required_capability_exception($context, 'moodle/cohort:view', 'nopermissions', '');
              }
  
              // Only return theme when $CFG->allowcohortthemes is enabled.
              if (!empty($cohort->theme) && empty($CFG->allowcohortthemes)) {
                  $cohort->theme = null;
              }
  
              list($cohort->description, $cohort->descriptionformat) =
                  external_format_text($cohort->description, $cohort->descriptionformat,
                          $context->id, 'cohort', 'description', $cohort->id);
  
              $cohortsinfo[] = (array) $cohort;
          }
          return $cohortsinfo;
      }
code_tokens: public static function get_cohorts ( $ cohortids = array ( ) ) { global $ DB , $ CFG ; $ params = self :: validate_parameters ( self :: get_cohorts_parameters ( ) , array ( 'cohortids' => $ cohortids ) ) ; if ( empty ( $ cohortids ) ) { $ cohorts = $ DB -> get_records ( 'cohort' ) ; } else { $ cohorts = $ DB -> get_records_list ( 'cohort' , 'id' , $ params [ 'cohortids' ] ) ; } $ cohortsinfo = array ( ) ; foreach ( $ cohorts as $ cohort ) { // Now security checks. $ context = context :: instance_by_id ( $ cohort -> contextid , MUST_EXIST ) ; if ( $ context -> contextlevel != CONTEXT_COURSECAT and $ context -> contextlevel != CONTEXT_SYSTEM ) { throw new invalid_parameter_exception ( 'Invalid context' ) ; } self :: validate_context ( $ context ) ; if ( ! has_any_capability ( array ( 'moodle/cohort:manage' , 'moodle/cohort:view' ) , $ context ) ) { throw new required_capability_exception ( $ context , 'moodle/cohort:view' , 'nopermissions' , '' ) ; } // Only return theme when $CFG->allowcohortthemes is enabled. if ( ! empty ( $ cohort -> theme ) && empty ( $ CFG -> allowcohortthemes ) ) { $ cohort -> theme = null ; } list ( $ cohort -> description , $ cohort -> descriptionformat ) = external_format_text ( $ cohort -> description , $ cohort -> descriptionformat , $ context -> id , 'cohort' , 'description' , $ cohort -> id ) ; $ cohortsinfo [ ] = ( array ) $ cohort ; } return $ cohortsinfo ; }
docstring: Get cohorts definition specified by ids
  
  @param array $cohortids array of cohort ids
  @return array of cohort objects (id, courseid, name)
  @since Moodle 2.5
docstring_tokens: Get cohorts definition specified by ids