MDL-38509 Implement new plugin_manager::plugintype_name()
This has exactly the same behaviour as the existing plugintype_name_plural() method, but returns the singular form of the plugin type (such as 'Activity module').
This commit is contained in:
@@ -229,6 +229,35 @@ class plugin_manager {
|
||||
return $this->pluginsinfo[$type][$name]->displayname;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a localized name of a plugin typed in singular form
|
||||
*
|
||||
* Most plugin types define their names in core_plugin lang file. In case of subplugins,
|
||||
* we try to ask the parent plugin for the name. In the worst case, we will return
|
||||
* the value of the passed $type parameter.
|
||||
*
|
||||
* @param string $type the type of the plugin, e.g. mod or workshopform
|
||||
* @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;
|
||||
}
|
||||
|
||||
} else {
|
||||
return $type;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns a localized name of a plugin type in plural form
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user