original_string: public static function list_components() {
  
          $list['moodle'] = 'core';
  
          $coresubsystems = core_component::get_core_subsystems();
          ksort($coresubsystems); // should be but just in case
          foreach ($coresubsystems as $name => $location) {
              $list[$name] = 'core_'.$name;
          }
  
          $plugintypes = core_component::get_plugin_types();
          foreach ($plugintypes as $type => $location) {
              $pluginlist = core_component::get_plugin_list($type);
              foreach ($pluginlist as $name => $ununsed) {
                  if ($type == 'mod') {
                      // Plugin names are now automatically validated.
                      $list[$name] = $type.'_'.$name;
                  } else {
                      $list[$type.'_'.$name] = $type.'_'.$name;
                  }
              }
          }
  
          return $list;
      }
code: public static function list_components() {
  
          $list['moodle'] = 'core';
  
          $coresubsystems = core_component::get_core_subsystems();
          ksort($coresubsystems); // should be but just in case
          foreach ($coresubsystems as $name => $location) {
              $list[$name] = 'core_'.$name;
          }
  
          $plugintypes = core_component::get_plugin_types();
          foreach ($plugintypes as $type => $location) {
              $pluginlist = core_component::get_plugin_list($type);
              foreach ($pluginlist as $name => $ununsed) {
                  if ($type == 'mod') {
                      // Plugin names are now automatically validated.
                      $list[$name] = $type.'_'.$name;
                  } else {
                      $list[$type.'_'.$name] = $type.'_'.$name;
                  }
              }
          }
  
          return $list;
      }
code_tokens: public static function list_components ( ) { $ list [ 'moodle' ] = 'core' ; $ coresubsystems = core_component :: get_core_subsystems ( ) ; ksort ( $ coresubsystems ) ; // should be but just in case foreach ( $ coresubsystems as $ name => $ location ) { $ list [ $ name ] = 'core_' . $ name ; } $ plugintypes = core_component :: get_plugin_types ( ) ; foreach ( $ plugintypes as $ type => $ location ) { $ pluginlist = core_component :: get_plugin_list ( $ type ) ; foreach ( $ pluginlist as $ name => $ ununsed ) { if ( $ type == 'mod' ) { // Plugin names are now automatically validated. $ list [ $ name ] = $ type . '_' . $ name ; } else { $ list [ $ type . '_' . $ name ] = $ type . '_' . $ name ; } } } return $ list ; }
docstring: Returns a list of all components installed on the server
  
  @return array (string)legacyname => (string)frankenstylename
docstring_tokens: Returns a list of all components installed on the server