aboutsummaryrefslogtreecommitdiff
path: root/lib/modules/CoreCalendar.php
diff options
context:
space:
mode:
authorJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-07 10:13:09 +0200
committerJan-Hendrik Willms <tleilax+studip@gmail.com>2025-08-07 10:13:09 +0200
commitb1bc66f361a4dda92aba22fdd42843f619797a6c (patch)
treeecf6a08bddd1230edf7b49fc756073b4071ba169 /lib/modules/CoreCalendar.php
parentca3ade956dd9c9041c07cef048136fa91f5faca2 (diff)
implement performance optimizations for my courses, fixes #4693
Closes #4693 Merge request studip/studip!3724
Diffstat (limited to 'lib/modules/CoreCalendar.php')
-rw-r--r--lib/modules/CoreCalendar.php21
1 files changed, 12 insertions, 9 deletions
diff --git a/lib/modules/CoreCalendar.php b/lib/modules/CoreCalendar.php
index bc20bdb..fbfc36e 100644
--- a/lib/modules/CoreCalendar.php
+++ b/lib/modules/CoreCalendar.php
@@ -9,20 +9,23 @@
* the License, or (at your option) any later version.
*/
-class CoreCalendar extends CorePlugin implements StudipModule
+class CoreCalendar extends CorePlugin implements StudipModuleExtended
{
- /**
- * {@inheritdoc}
- */
- public function getIconNavigation($course_id, $last_visit, $user_id)
+ use IconNavigationTrait;
+
+ public function getManyIconNavigation(array $course_ids, ?string $user_id = null): array
{
if (!Config::get()->CALENDAR_GROUP_ENABLE) {
- return null;
+ return [];
}
- $navigation = new Navigation(_('Kalender'), URLHelper::getURL('dispatch.php/calendar/calendar/course/' . $course_id));
- $navigation->setImage(Icon::create('schedule'));
- return $navigation;
+ $navs = [];
+ foreach ($course_ids as $course_id) {
+ $navigation = new Navigation(_('Kalender'), URLHelper::getURL('dispatch.php/calendar/calendar/course/' . $course_id));
+ $navigation->setImage(Icon::create('schedule'));
+ $navs[$course_id] = $navigation;
+ }
+ return $navs;
}
/**