-
Improvement
-
Resolution: Fixed
-
Minor
-
3.0, 3.5.1, 3.6
-
MOODLE_30_STABLE, MOODLE_35_STABLE, MOODLE_36_STABLE
-
MOODLE_36_STABLE
-
MDL-50325_inconsistent_check_missing_module -
In admin/modules.php we check if module is missing by:
if (!file_exists("$CFG->dirroot/mod/$module->name/lib.php")) {
|
$strmodulename = '<span class="notifyproblem">'.$module->name.' ('.get_string('missingfromdisk').')</span>';
|
$missing = true;
|
but in other places core\plugininfo\base::get_status() is used:
if (!is_null($this->versiondb) and is_null($this->versiondisk)) {
|
if (core_plugin_manager::is_deleted_standard_plugin($this->type, $this->name)) {
|
return core_plugin_manager::PLUGIN_STATUS_DELETE;
|
} else {
|
return core_plugin_manager::PLUGIN_STATUS_MISSING;
|
The difference is:
<MOODLE_URL>/admin/modules.php is checking if lib.php exists each time
<MOODLE_URL>/admin/plugins.php is checking for version.php and the result is cached.