diff options
| author | Ron Lucke <lucke@elan-ev.de> | 2023-05-10 13:40:08 +0000 |
|---|---|---|
| committer | Elmar Ludwig <elmar.ludwig@uni-osnabrueck.de> | 2023-05-10 13:40:08 +0000 |
| commit | 72b851c45cbe4e4508ee990b65e427acb44f88ad (patch) | |
| tree | bf2f58b86acbafa1aee0aee892b2d97e6fac0212 /lib/modules | |
| parent | 376f5be1b6a2a4fbc69a5d6c7f0805c230c9e554 (diff) | |
fix #2161
Closes #2161
Merge request studip/studip!1771
Diffstat (limited to 'lib/modules')
| -rw-r--r-- | lib/modules/CoursewareModule.class.php | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/lib/modules/CoursewareModule.class.php b/lib/modules/CoursewareModule.class.php index 7b96c55..2a9161a 100644 --- a/lib/modules/CoursewareModule.class.php +++ b/lib/modules/CoursewareModule.class.php @@ -12,11 +12,22 @@ class CoursewareModule extends CorePlugin implements SystemPlugin, StudipModule, { parent::__construct(); - NotificationCenter::on('UserDidDelete', function ($event, $user) { - Instance::deleteForRange($user); - }); NotificationCenter::on('CourseDidDelete', function ($event, $course) { - Instance::deleteForRange($course); + $last_element_configs = \ConfigValue::findBySQL('field = ? AND value LIKE ?', [ + 'COURSEWARE_LAST_ELEMENT', + '%' . $course->id . '%', + ]); + foreach ($last_element_configs as $config) { + $arr = json_decode($config->value, true); + $arr = array_filter( + $arr, + function ($key) use ($course) { + return $key !== $course->id; + }, + ARRAY_FILTER_USE_KEY + ); + \UserConfig::get($config->range_id)->store('COURSEWARE_LAST_ELEMENT', $arr); + } }); } |
