blob: 39735027cbb6ca9adb9211ea6c27a8bb9efe1be2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?php
class CourseManagementSelectWidget extends SelectWidget
{
public $course = null;
public $order_by_field;
public function __construct()
{
parent::__construct(_('Veranstaltungen'), '?#admin_top_links', 'cid');
$this->course = Course::findCurrent();
$this->order_by_field = UserConfig::get($GLOBALS['user']->id)->COURSE_MANAGEMENT_SELECTOR_ORDER_BY ?? 'name';
}
public function render($variables = [])
{
$extra = sprintf(
'<a href="%s" title="%s" data-dialog="size=auto">%s</a>',
URLHelper::getURL('dispatch.php/course/management/order_settings', ['cid' => $this->course->id, 'from' => Request::url()]),
_('Sortiereinstellungen'),
Icon::create('settings')
);
$this->setExtra($extra);
$this->class = 'nested-select';
$this->setDropdownAutoWidth(true);
$seminars = AdminCourseFilter::get()->getCoursesForAdminWidget($this->order_by_field);
foreach ($seminars as $seminar) {
if ($this->order_by_field === 'number') {
$seminar_name = trim($seminar['VeranstaltungsNummer'] . ' ' . $seminar['Name']);
} else {
$seminar_name = $seminar['Name'];
if ($seminar['VeranstaltungsNummer']) {
$seminar_name .= sprintf(' (%s)', trim($seminar['VeranstaltungsNummer']));
}
}
$this->addElement(new SelectElement(
$seminar['Seminar_id'],
$seminar_name,
$seminar['Seminar_id'] === $this->course->id,
trim($seminar['VeranstaltungsNummer'] . ' ' . $seminar['Name'])
));
}
return parent::render($variables);
}
}
|