MDL-60972 core_course: delete section files, when section is deleted.
This commit is contained in:
@@ -1111,6 +1111,11 @@ abstract class format_base {
|
||||
$DB->delete_records('course_sections', array('id' => $section->id));
|
||||
rebuild_course_cache($course->id, true);
|
||||
|
||||
// Delete section summary files.
|
||||
$context = \context_course::instance($course->id);
|
||||
$fs = get_file_storage();
|
||||
$fs->delete_area_files($context->id, 'course', 'section', $section->id);
|
||||
|
||||
// Descrease 'numsections' if needed.
|
||||
if ($decreasenumsections) {
|
||||
$this->update_course_format_options(array('numsections' => $course->numsections - 1));
|
||||
|
||||
@@ -2516,5 +2516,29 @@ function xmldb_main_upgrade($oldversion) {
|
||||
upgrade_main_savepoint(true, 2018120301.02);
|
||||
}
|
||||
|
||||
if ($oldversion < 2019011100.01) {
|
||||
|
||||
// Delete all files that have been used in sections, which are already deleted.
|
||||
$sql = "SELECT DISTINCT f.itemid as sectionid, f.contextid
|
||||
FROM {files} f
|
||||
LEFT JOIN {course_sections} s ON f.itemid = s.id
|
||||
WHERE f.component = :component AND f.filearea = :filearea AND s.id IS NULL ";
|
||||
|
||||
$params = [
|
||||
'component' => 'course',
|
||||
'filearea' => 'section'
|
||||
];
|
||||
|
||||
$stalefiles = $DB->get_recordset_sql($sql, $params);
|
||||
|
||||
$fs = get_file_storage();
|
||||
foreach ($stalefiles as $stalefile) {
|
||||
$fs->delete_area_files($stalefile->contextid, 'course', 'section', $stalefile->sectionid);
|
||||
}
|
||||
$stalefiles->close();
|
||||
|
||||
upgrade_main_savepoint(true, 2019011100.01);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
+1
-1
@@ -29,7 +29,7 @@
|
||||
|
||||
defined('MOODLE_INTERNAL') || die();
|
||||
|
||||
$version = 2019011100.00; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
$version = 2019011100.01; // YYYYMMDD = weekly release date of this DEV branch.
|
||||
// RR = release increments - 00 in DEV branches.
|
||||
// .XX = incremental changes.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user