diff --git a/lang/en/repository.php b/lang/en/repository.php index 49050f045da97..3ce42b4b8e199 100644 --- a/lang/en/repository.php +++ b/lang/en/repository.php @@ -103,8 +103,9 @@ $string['instance'] = 'instance'; $string['instancedeleted'] = 'Instance deleted'; $string['instances'] = 'Repository instances'; -$string['instancesforadmin'] = 'common instance(s)'; -$string['instancesforothers'] = 'private instance(s)'; +$string['instancesforsite'] = '{$a} Site-wide common instance(s)'; +$string['instancesforcourses'] = '{$a} Course-wide common instance(s)'; +$string['instancesforusers'] = '{$a} User private instance(s)'; $string['invalidjson'] = 'Invalid JSON string'; $string['invalidplugin'] = 'Invalid repository {$a} plug-in'; $string['invalidfiletype'] = '{$a} filetype cannot be accepted.'; diff --git a/lib/adminlib.php b/lib/adminlib.php index 9ae4d2eec43dc..ef89fd6a99b99 100644 --- a/lib/adminlib.php +++ b/lib/adminlib.php @@ -6303,16 +6303,43 @@ public function output_html($data, $query='') { $params['onlyvisible'] = false; $params['type'] = $typename; $admininstancenumber = count(repository::static_function($typename, 'get_instances', $params)); - $admininstancenumbertext = "
". $admininstancenumber . " " . get_string('instancesforadmin', 'repository'); + // site instances + $admininstancenumbertext = get_string('instancesforsite', 'repository', $admininstancenumber); $params['context'] = array(); - $instancenumber = count(repository::static_function($typename, 'get_instances', $params)) - $admininstancenumber; - $instancenumbertext = "
" . $instancenumber . " " . get_string('instancesforothers', 'repository'); + $instances = repository::static_function($typename, 'get_instances', $params); + $courseinstances = array(); + $userinstances = array(); + + foreach ($instances as $instance) { + if ($instance->context->contextlevel == CONTEXT_COURSE) { + $courseinstances[] = $instance; + } else if ($instance->context->contextlevel == CONTEXT_USER) { + $userinstances[] = $instance; + } + } + // course instances + $instancenumber = count($courseinstances); + $courseinstancenumbertext = get_string('instancesforcourses', 'repository', $instancenumber); + + // user private instances + $instancenumber = count($userinstances); + $userinstancenumbertext = get_string('instancesforusers', 'repository', $instancenumber); } else { $admininstancenumbertext = ""; - $instancenumbertext = ""; + $courseinstancenumbertext = ""; + $userinstancenumbertext = ""; } - $settings .= '' . $settingsstr .'' . $admininstancenumbertext . $instancenumbertext . "\n"; + $settings .= '' . $settingsstr .''; + + $settings .= $OUTPUT->container_start('mdl-left'); + $settings .= '
'; + $settings .= $admininstancenumbertext; + $settings .= '
'; + $settings .= $courseinstancenumbertext; + $settings .= '
'; + $settings .= $userinstancenumbertext; + $settings .= $OUTPUT->container_end(); } // Get the current visibility if ($i->get_visible()) {