mirror of
https://github.com/moodle/moodle.git
synced 2025-02-22 02:49:53 +01:00
MDL-83704 core: Stop loading subplugins files to fetch caps
This information is heavily cached in the component class. This should be used wherever possible rather than checking on disk.
This commit is contained in:
parent
cd5c991ede
commit
e5b715291d
@ -170,15 +170,7 @@ class module extends context {
|
||||
$subcaps = array();
|
||||
|
||||
$modulepath = "{$CFG->dirroot}/mod/{$module->name}";
|
||||
if (file_exists("{$modulepath}/db/subplugins.json")) {
|
||||
$subplugins = (array) json_decode(file_get_contents("{$modulepath}/db/subplugins.json"))->plugintypes;
|
||||
} else if (file_exists("{$modulepath}/db/subplugins.php")) {
|
||||
debugging('Use of subplugins.php has been deprecated. ' .
|
||||
'Please update your plugin to provide a subplugins.json file instead.',
|
||||
DEBUG_DEVELOPER);
|
||||
$subplugins = array(); // Should be redefined in the file.
|
||||
include("{$modulepath}/db/subplugins.php");
|
||||
}
|
||||
$subplugins = \core\component::get_subplugins("mod_{$module->name}");
|
||||
|
||||
if (!empty($subplugins)) {
|
||||
foreach (array_keys($subplugins) as $subplugintype) {
|
||||
|
@ -189,13 +189,16 @@ class module_test extends \advanced_testcase {
|
||||
$this->resetAfterTest();
|
||||
|
||||
$course = $this->getDataGenerator()->create_course();
|
||||
$page = $this->getDataGenerator()->create_module('page', ['course' => $course->id, 'name' => 'Pokus']);
|
||||
$context = module::instance($page->cmid);
|
||||
$mod = $this->getDataGenerator()->create_module('book', ['course' => $course->id, 'name' => 'Pokus']);
|
||||
$context = module::instance($mod->cmid);
|
||||
|
||||
$capabilities = $context->get_capabilities();
|
||||
$capabilities = convert_to_array($capabilities);
|
||||
$capabilities = array_column($capabilities, 'name');
|
||||
$this->assertContains('mod/page:view', $capabilities);
|
||||
|
||||
$this->assertContains('mod/book:read', $capabilities);
|
||||
$this->assertContains('booktool/exportimscp:export', $capabilities);
|
||||
$this->assertContains('booktool/importhtml:import', $capabilities);
|
||||
$this->assertNotContains('mod/url:view', $capabilities);
|
||||
$this->assertNotContains('moodle/course:view', $capabilities);
|
||||
$this->assertNotContains('moodle/category:manage', $capabilities);
|
||||
|
Loading…
x
Reference in New Issue
Block a user