Select Git revision
BasicDataWizardStep.php
Forked from
Stud.IP / Stud.IP
Source project has a limited visibility.
-
Merge request studip/studip!603
Merge request studip/studip!603
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
CoursewareModule.class.php 8.35 KiB
<?php
use Courseware\Instance;
use Courseware\StructuralElement;
class CoursewareModule extends CorePlugin implements SystemPlugin, StudipModule, PrivacyPlugin
{
/**
* {@inheritdoc}
*/
public function __construct()
{
parent::__construct();
NotificationCenter::on('UserDidDelete', function ($event, $user) {
Instance::deleteForRange($user);
});
NotificationCenter::on('CourseDidDelete', function ($event, $course) {
Instance::deleteForRange($course);
});
}
/**
* {@inheritdoc}
*
* @SuppressWarnings(PHPMD.UnusedFormalParameter)
*/
public function getInfoTemplate($courseId)
{
return null;
}
/**
* {@inheritdoc}
*/
public function getTabNavigation($courseId)
{
$navigation = new Navigation(
_('Courseware'),
URLHelper::getURL('dispatch.php/course/courseware/?cid='.$courseId)
);
$navigation->addSubNavigation(
'content',
new Navigation(_('Inhalt'), 'dispatch.php/course/courseware/?cid='.$courseId)
);
$navigation->addSubNavigation(
'dashboard',
new Navigation(_('Übersicht'), 'dispatch.php/course/courseware/dashboard?cid='.$courseId)
);
if ($GLOBALS['perm']->have_studip_perm('dozent', $courseId)) {
$navigation->addSubNavigation(
'manager',
new Navigation(_('Verwaltung'), 'dispatch.php/course/courseware/manager?cid='.$courseId)
);
} else {
$element = StructuralElement::getCoursewareCourse($courseId);
if ($element !== null) {
$instance = new Instance($element);
if ($GLOBALS['perm']->have_studip_perm($instance->getEditingPermissionLevel(), $courseId)) {
$navigation->addSubNavigation(
'manager',
new Navigation(_('Verwaltung'), 'dispatch.php/course/courseware/manager?cid='.$courseId)
);
}
}
}
return ['courseware' => $navigation];
}