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
committerJan-Hendrik Willms <tleilax+github@gmail.com>2023-05-10 15:50:45 +0200
commitb085e62c9f6bc53ed3eb918fdaca27ef4b997976 (patch)
tree0a9652fc9c296c3e7b062d9b43b46b0c426f0a2d /lib/modules/CoursewareModule.class.php
parentf2ddd9ee5cf34b2e630700fa941e4b7cb4f18ade (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);
+ }
});
}