diff --git a/admin/tool/xmldb/actions/create_xml_file/create_xml_file.class.php b/admin/tool/xmldb/actions/create_xml_file/create_xml_file.class.php index 40a93da904a..1f76c1b8859 100644 --- a/admin/tool/xmldb/actions/create_xml_file/create_xml_file.class.php +++ b/admin/tool/xmldb/actions/create_xml_file/create_xml_file.class.php @@ -118,7 +118,8 @@ class create_xml_file extends XMLDBAction { function get_plugin_type($dirpath) { global $CFG; $dirpath = $CFG->dirroot.$dirpath; - $plugintypes = get_plugin_types(); + // Reverse order so that we get subplugin matches. + $plugintypes = array_reverse(core_component::get_plugin_types()); foreach ($plugintypes as $plugintype => $pluginbasedir) { if (substr($dirpath, 0, strlen($pluginbasedir)) == $pluginbasedir) { return $plugintype;