diff --git a/lib/classes/JsonApi/RouteMap.php b/lib/classes/JsonApi/RouteMap.php index 89ddeb56687e4f9676d7829e2d490ff7fe6581d6..84d3c575104d399680df6251a380704e8f7f24e5 100644 --- a/lib/classes/JsonApi/RouteMap.php +++ b/lib/classes/JsonApi/RouteMap.php @@ -118,7 +118,11 @@ class RouteMap $this->addAuthenticatedConsultationRoutes($group); $this->addAuthenticatedContactsRoutes($group); $this->addAuthenticatedCoursesRoutes($group); - $this->addAuthenticatedCoursewareRoutes($group); + + if (PluginManager::getInstance()->getPlugin('CoursewareModule')) { + $this->addAuthenticatedCoursewareRoutes($group); + } + $this->addAuthenticatedEventsRoutes($group); $this->addAuthenticatedFeedbackRoutes($group); $this->addAuthenticatedFilesRoutes($group); @@ -144,8 +148,10 @@ class RouteMap $group->get('/studip/properties', Routes\Studip\PropertiesIndex::class); - $group->get('/public/courseware/{link_id}/courseware-structural-elements/{id}', Routes\Courseware\PublicStructuralElementsShow::class); - $group->get('/public/courseware/{link_id}/courseware-structural-elements', Routes\Courseware\PublicStructuralElementsIndex::class); + if (PluginManager::getInstance()->getPlugin('CoursewareModule')) { + $group->get('/public/courseware/{link_id}/courseware-structural-elements/{id}', Routes\Courseware\PublicStructuralElementsShow::class); + $group->get('/public/courseware/{link_id}/courseware-structural-elements', Routes\Courseware\PublicStructuralElementsIndex::class); + } } private function getAuthenticator(): callable diff --git a/lib/navigation/AdminNavigation.php b/lib/navigation/AdminNavigation.php index c208ffd9e38b6898317ef1091b3412d3b229f9fc..2bb24189e0009bae3c0cb79e4662562d93890340 100644 --- a/lib/navigation/AdminNavigation.php +++ b/lib/navigation/AdminNavigation.php @@ -132,13 +132,17 @@ class AdminNavigation extends Navigation if (Config::get()->BANNER_ADS_ENABLE) { $navigation->addSubNavigation('banner', new Navigation(_('Werbebanner'), 'dispatch.php/admin/banner')); } - $navigation->addSubNavigation( - 'courseware', - new Navigation( - _('Courseware'), - 'dispatch.php/admin/courseware/index' - ) - ); + + if (PluginManager::getInstance()->getPlugin('CoursewareModule')) { + $navigation->addSubNavigation( + 'courseware', + new Navigation( + _('Courseware'), + 'dispatch.php/admin/courseware/index' + ) + ); + } + if (Config::get()->OERCAMPUS_ENABLED) { $navigation->addSubNavigation( 'oer', diff --git a/lib/navigation/ContentsNavigation.php b/lib/navigation/ContentsNavigation.php index 4e01acaadfd43926fcb1d9556dd290a075bae711..32cefa56fd9775e14cdbf4e957c7a5f953d6e35b 100644 --- a/lib/navigation/ContentsNavigation.php +++ b/lib/navigation/ContentsNavigation.php @@ -42,38 +42,38 @@ class ContentsNavigation extends Navigation $this->addSubNavigation('overview', $overview); + if (PluginManager::getInstance()->getPlugin('CoursewareModule')) { + $courseware = new Navigation(_('Courseware')); + $courseware->setDescription(_('Erstellen und Sammeln von Lernmaterialien')); + $courseware->setImage(Icon::create('courseware')); + + $courseware->addSubNavigation( + 'overview', + new Navigation(_('Übersicht'), 'dispatch.php/contents/courseware/index') + ); + $courseware->addSubNavigation( + 'courseware', + new Navigation(_('Persönliche Lernmaterialien'), 'dispatch.php/contents/courseware/courseware') + ); + $courseware->addSubNavigation( + 'courseware_manager', + new Navigation(_('Verwaltung persönlicher Lernmaterialien'), 'dispatch.php/contents/courseware/courseware_manager') + ); + $courseware->addSubNavigation( + 'releases', + new Navigation(_('Freigaben'), 'dispatch.php/contents/courseware/releases') + ); + $courseware->addSubNavigation( + 'bookmarks', + new Navigation(_('Lesezeichen'), 'dispatch.php/contents/courseware/bookmarks') + ); + $courseware->addSubNavigation( + 'courses_overview', + new Navigation(_('Meine Veranstaltungen'), 'dispatch.php/contents/courseware/courses_overview') + ); - $courseware = new Navigation(_('Courseware')); - $courseware->setDescription(_('Erstellen und Sammeln von Lernmaterialien')); - $courseware->setImage(Icon::create('courseware')); - - $courseware->addSubNavigation( - 'overview', - new Navigation(_('Übersicht'), 'dispatch.php/contents/courseware/index') - ); - $courseware->addSubNavigation( - 'courseware', - new Navigation(_('Persönliche Lernmaterialien'), 'dispatch.php/contents/courseware/courseware') - ); - $courseware->addSubNavigation( - 'courseware_manager', - new Navigation(_('Verwaltung persönlicher Lernmaterialien'), 'dispatch.php/contents/courseware/courseware_manager') - ); - $courseware->addSubNavigation( - 'releases', - new Navigation(_('Freigaben'), 'dispatch.php/contents/courseware/releases') - ); - $courseware->addSubNavigation( - 'bookmarks', - new Navigation(_('Lesezeichen'), 'dispatch.php/contents/courseware/bookmarks') - ); - $courseware->addSubNavigation( - 'courses_overview', - new Navigation(_('Meine Veranstaltungen'), 'dispatch.php/contents/courseware/courses_overview') - ); - - $this->addSubNavigation('courseware', $courseware); - + $this->addSubNavigation('courseware', $courseware); + } $files = new Navigation(_('Dateien')); $files->setDescription(_('Überblick über alle Dokumente')); diff --git a/lib/navigation/StartNavigation.php b/lib/navigation/StartNavigation.php index 973f7055680d93e9077ae24f474d6a0a2194bb50..e5779a50b418251fe75bea29ece942c3f8a8a318 100644 --- a/lib/navigation/StartNavigation.php +++ b/lib/navigation/StartNavigation.php @@ -234,7 +234,11 @@ class StartNavigation extends Navigation // contents $navigation = new Navigation(_('Mein Arbeitsplatz'), 'dispatch.php/contents/overview'); - $navigation->addSubNavigation('courseware', new Navigation(_('Courseware'), 'dispatch.php/contents/courseware')); + + if (PluginManager::getInstance()->getPlugin('CoursewareModule')) { + $navigation->addSubNavigation('courseware', + new Navigation(_('Courseware'), 'dispatch.php/contents/courseware')); + } $navigation->addSubNavigation('files', new Navigation(_('Dateien'), 'dispatch.php/files/overview')); if (Config::get()->VOTE_ENABLE) {