original_string: protected static final function get_format_or_default($format) {
          global $CFG;
          require_once($CFG->dirroot . '/course/lib.php');
  
          if (array_key_exists($format, self::$classesforformat)) {
              return self::$classesforformat[$format];
          }
  
          $plugins = get_sorted_course_formats();
          foreach ($plugins as $plugin) {
              self::$classesforformat[$plugin] = $plugin;
          }
  
          if (array_key_exists($format, self::$classesforformat)) {
              return self::$classesforformat[$format];
          }
  
          if (PHPUNIT_TEST && class_exists('format_' . $format)) {
              // Allow unittests to use non-existing course formats.
              return $format;
          }
  
          // Else return default format
          $defaultformat = get_config('moodlecourse', 'format');
          if (!in_array($defaultformat, $plugins)) {
              // when default format is not set correctly, use the first available format
              $defaultformat = reset($plugins);
          }
          debugging('Format plugin format_'.$format.' is not found. Using default format_'.$defaultformat, DEBUG_DEVELOPER);
  
          self::$classesforformat[$format] = $defaultformat;
          return $defaultformat;
      }
code: protected static final function get_format_or_default($format) {
          global $CFG;
          require_once($CFG->dirroot . '/course/lib.php');
  
          if (array_key_exists($format, self::$classesforformat)) {
              return self::$classesforformat[$format];
          }
  
          $plugins = get_sorted_course_formats();
          foreach ($plugins as $plugin) {
              self::$classesforformat[$plugin] = $plugin;
          }
  
          if (array_key_exists($format, self::$classesforformat)) {
              return self::$classesforformat[$format];
          }
  
          if (PHPUNIT_TEST && class_exists('format_' . $format)) {
              // Allow unittests to use non-existing course formats.
              return $format;
          }
  
          // Else return default format
          $defaultformat = get_config('moodlecourse', 'format');
          if (!in_array($defaultformat, $plugins)) {
              // when default format is not set correctly, use the first available format
              $defaultformat = reset($plugins);
          }
          debugging('Format plugin format_'.$format.' is not found. Using default format_'.$defaultformat, DEBUG_DEVELOPER);
  
          self::$classesforformat[$format] = $defaultformat;
          return $defaultformat;
      }
code_tokens: protected static final function get_format_or_default ( $ format ) { global $ CFG ; require_once ( $ CFG -> dirroot . '/course/lib.php' ) ; if ( array_key_exists ( $ format , self :: $ classesforformat ) ) { return self :: $ classesforformat [ $ format ] ; } $ plugins = get_sorted_course_formats ( ) ; foreach ( $ plugins as $ plugin ) { self :: $ classesforformat [ $ plugin ] = $ plugin ; } if ( array_key_exists ( $ format , self :: $ classesforformat ) ) { return self :: $ classesforformat [ $ format ] ; } if ( PHPUNIT_TEST && class_exists ( 'format_' . $ format ) ) { // Allow unittests to use non-existing course formats. return $ format ; } // Else return default format $ defaultformat = get_config ( 'moodlecourse' , 'format' ) ; if ( ! in_array ( $ defaultformat , $ plugins ) ) { // when default format is not set correctly, use the first available format $ defaultformat = reset ( $ plugins ) ; } debugging ( 'Format plugin format_' . $ format . ' is not found. Using default format_' . $ defaultformat , DEBUG_DEVELOPER ) ; self :: $ classesforformat [ $ format ] = $ defaultformat ; return $ defaultformat ; }
docstring: Validates that course format exists and enabled and returns either itself or default format
  
  @param string $format
  @return string
docstring_tokens: Validates that course format exists and enabled and returns either itself or default format