MDL-22056 simplified component name handling + converting reports to proper pluginname

AMOS BEGIN
 MOV [capability,report_capability],[pluginname,report_capability]
 MOV [questioninstances,report_questioninstances],[pluginname,report_questioninstances]
 MOV [reportsecurity,report_security],[pluginname,report_security]
 MOV [spamcleaner,report_spamcleaner],[pluginname,report_spamcleaner]
AMOS END
This commit is contained in:
Petr Skoda
2010-07-15 17:13:45 +00:00
parent 730eae9ca5
commit 835d78ff9e
12 changed files with 44 additions and 85 deletions
+33 -76
View File
@@ -3991,7 +3991,7 @@ function get_capability_string($capabilityname) {
$dir = get_component_directory($component);
if (!file_exists($dir)) {
// plugin broken or does not exist, do not bother with printing of debug message
return $capabilityname;
return $capabilityname.' ???';
}
// something is wrong in plugin, better print debug
@@ -4008,84 +4008,41 @@ function get_capability_string($capabilityname) {
*/
function get_component_string($component, $contextlevel) {
switch ($contextlevel) {
case CONTEXT_SYSTEM:
if (preg_match('|^enrol|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('pluginname', $langname);
} else if (preg_match('|^block|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('pluginname', $langname);
} else if (preg_match('|^local|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('local');
} else if (preg_match('|^repository|', $component)) {
$string = get_string('repository', 'repository').': '.get_string('pluginname', $component);
} else if (preg_match('|^report|', $component)) {
$string = get_string('reports');
} else {
$string = get_string('coresystem');
}
break;
case CONTEXT_USER:
$string = get_string('users');
break;
case CONTEXT_COURSECAT:
if (preg_match('|^enrol|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('pluginname', $langname);
} else {
$string = get_string('categories');
}
break;
case CONTEXT_COURSE:
if (preg_match('|^enrol|', $component)) {
$langname = str_replace('/', '_', $component);
$string = get_string('pluginname', $langname);
} else if (preg_match('|^gradeimport|', $component)) {
$string = get_string('gradeimport', 'grades').': '.get_string('pluginname', $component);
} else if (preg_match('|^gradeexport|', $component)) {
$string = get_string('gradeexport', 'grades').': '.get_string('pluginname', $component);
} else if (preg_match('|^gradereport|', $component)) {
$string = get_string('gradereport', 'grades').': '.get_string('pluginname', $component);
} else if (preg_match('|^coursereport|', $component)) {
$string = get_string('coursereport').': '.get_string('pluginname', $component);
} else if (preg_match('|^webservice|', $component)) {
$string = get_string('webservice', 'webservice').': '.get_string('pluginname', $component);
if ($component === 'moodle' or $component === 'core') {
switch ($contextlevel) {
case CONTEXT_SYSTEM: return get_string('coresystem');
case CONTEXT_USER: return get_string('users');
case CONTEXT_COURSECAT: return get_string('categories');
case CONTEXT_COURSE: return get_string('course');
case CONTEXT_MODULE: return get_string('activities');
case CONTEXT_BLOCK: return get_string('block');
default: print_error('unknowncontext');
}
}
list($type, $name) = normalize_component($component);
$dir = get_plugin_directory($type, $name);
if (!file_exists($dir)) {
// plugin not installed, bad luck, there is no way to find the name
return $component.' ???';
}
switch ($type) {
case 'quiz': return get_string($name.':componentname', $component);// insane hack!!!
case 'repository': return get_string('repository', 'repository').': '.get_string('pluginname', $component);
case 'gradeimport': return get_string('gradeimport', 'grades').': '.get_string('pluginname', $component);
case 'gradeexport': return get_string('gradeexport', 'grades').': '.get_string('pluginname', $component);
case 'gradereport': return get_string('gradereport', 'grades').': '.get_string('pluginname', $component);
case 'webservice': return get_string('webservice', 'webservice').': '.get_string('pluginname', $component);
case 'block': return get_string('block').': '.get_string('pluginname', basename($component));
case 'mod':
if (get_string_manager()->string_exists('pluginname', $component)) {
return get_string('activity').': '.get_string('pluginname', $component);
} else {
$string = get_string('course');
return get_string('activity').': '.get_string('modulename', $component);
}
break;
case CONTEXT_MODULE:
if (preg_match('|^quiz_([a-z_]*)|', $component, $matches)){
$langname = 'quiz_'.$matches[1];
$string = get_string($matches[1].':componentname', $langname);
} else if (preg_match('|^moodle|', $component)) {
$string = get_string('activities');
} else {
$string = get_string('activity').': '.get_string('modulename', preg_replace('#(\w+_)#', '', basename($component)));
}
break;
case CONTEXT_BLOCK:
if ($component == 'moodle' ){
$string = get_string('block');
}else{
$string = get_string('block').': '.get_string('pluginname', basename($component));
}
break;
default:
print_error('unknowncontext');
return false;
default: return get_string('pluginname', $component);
}
return $string;
}
/**