MDL-79266 core: require plugins always define subplugin lang strings.

This commit is contained in:
Paul Holden
2023-09-05 13:41:54 +01:00
parent 580c009cac
commit 36d842e0e7
2 changed files with 4 additions and 16 deletions
+2 -16
View File
@@ -591,19 +591,12 @@ class core_plugin_manager {
* @return string
*/
public function plugintype_name($type) {
if (get_string_manager()->string_exists('type_' . $type, 'core_plugin')) {
// For most plugin types, their names are defined in core_plugin lang file.
return get_string('type_' . $type, 'core_plugin');
} else if ($parent = $this->get_parent_of_subplugin($type)) {
// If this is a subplugin, try to ask the parent plugin for the name.
if (get_string_manager()->string_exists('subplugintype_' . $type, $parent)) {
return $this->plugin_name($parent) . ' / ' . get_string('subplugintype_' . $type, $parent);
} else {
return $this->plugin_name($parent) . ' / ' . $type;
}
return $this->plugin_name($parent) . ' / ' . get_string('subplugintype_' . $type, $parent);
} else {
return $type;
}
@@ -620,19 +613,12 @@ class core_plugin_manager {
* @return string
*/
public function plugintype_name_plural($type) {
if (get_string_manager()->string_exists('type_' . $type . '_plural', 'core_plugin')) {
// For most plugin types, their names are defined in core_plugin lang file.
return get_string('type_' . $type . '_plural', 'core_plugin');
} else if ($parent = $this->get_parent_of_subplugin($type)) {
// If this is a subplugin, try to ask the parent plugin for the name.
if (get_string_manager()->string_exists('subplugintype_' . $type . '_plural', $parent)) {
return $this->plugin_name($parent) . ' / ' . get_string('subplugintype_' . $type . '_plural', $parent);
} else {
return $this->plugin_name($parent) . ' / ' . $type;
}
return $this->plugin_name($parent) . ' / ' . get_string('subplugintype_' . $type . '_plural', $parent);
} else {
return $type;
}
+2
View File
@@ -10,6 +10,8 @@ information provided here is intended especially for developers.
drag/drop, which can be used to add transition effects in calling code
* course_modinfo now has a purge_course_modules_cache() method, which takes a list of cmids and purges
them all in a single cache set.
* The `core_plugin_manager::plugintype_name[_plural]` methods now require language strings for subplugin types always
be defined in plugins (via `subplugintype_<type>` and `subplugintype_<type>_plural` language strings)
* Behat generators can now implement the function finish_generate_ to detect when the whole list of elements have been generated.
* New return value 'icon' has been added to the 'external_files' webservice structure. This return value represents the
relative path to the relevant file type icon based on the file's mime type.