aboutsummaryrefslogtreecommitdiff
path: root/lib/modules/CoursewareModule.class.php
diff options
context:
space:
mode:
authorRon Lucke <lucke@elan-ev.de>2023-05-10 13:40:08 +0000
committerElmar Ludwig <elmar.ludwig@uni-osnabrueck.de>2023-05-10 13:40:08 +0000
commit72b851c45cbe4e4508ee990b65e427acb44f88ad (patch)
treebf2f58b86acbafa1aee0aee892b2d97e6fac0212 /lib/modules/CoursewareModule.class.php
parent376f5be1b6a2a4fbc69a5d6c7f0805c230c9e554 (diff)
fix #2161
Closes #2161 Merge request studip/studip!1771
Diffstat (limited to 'lib/modules/CoursewareModule.class.php')
-rw-r--r--lib/modules/CoursewareModule.class.php19
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);
+ }
});
}