MDL-75168 tag: cleanup module tag instances upon course deletion.
This commit is contained in:
@@ -2720,5 +2720,16 @@ function xmldb_main_upgrade($oldversion) {
|
||||
upgrade_main_savepoint(true, 2021051707.05);
|
||||
}
|
||||
|
||||
if ($oldversion < 2021051710.03) {
|
||||
|
||||
// Remove any orphaned tag instance records (pointing to non-existing context).
|
||||
$DB->delete_records_select('tag_instance', 'NOT EXISTS (
|
||||
SELECT ctx.id FROM {context} ctx WHERE ctx.id = {tag_instance}.contextid
|
||||
)');
|
||||
|
||||
// Main savepoint reached.
|
||||
upgrade_main_savepoint(true, 2021051710.03);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@@ -5151,6 +5151,10 @@ function remove_course_contents($courseid, $showfeedback = true, array $options
|
||||
question_delete_activity($cm);
|
||||
// Notify the competency subsystem.
|
||||
\core_competency\api::hook_course_module_deleted($cm);
|
||||
|
||||
// Delete all tag instances associated with the instance of this module.
|
||||
core_tag_tag::delete_instances("mod_{$modname}", null, context_module::instance($cm->id)->id);
|
||||
core_tag_tag::remove_all_item_tags('core', 'course_modules', $cm->id);
|
||||
}
|
||||
if (function_exists($moddelete)) {
|
||||
// This purges all module data in related tables, extra user prefs, settings, etc.
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$version = 2021051710.02; // 20210517 = branching date YYYYMMDD - do not modify!
|
||||
$version = 2021051710.03; // 20210517 = branching date YYYYMMDD - do not modify!
|
||||
// RR = release increments - 00 in DEV branches.
|
||||
// .XX = incremental changes.
|
||||
$release = '3.11.10+ (Build: 20220922)';// Human-friendly version name
|
||||
|
||||
Reference in New Issue
Block a user