course = Course::findCurrent(); $this->order_by_field = UserConfig::get($GLOBALS['user']->id)->COURSE_MANAGEMENT_SELECTOR_ORDER_BY ?? 'name'; } public function render($variables = []) { $extra = sprintf( '%s', URLHelper::getURL('dispatch.php/course/management/order_settings', ['cid' => $this->course->id, 'from' => Request::url()]), _('Sortiereinstellungen'), Icon::create('settings')->asSvg(['title' => _('Sortiereinstellungen')]) ); $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); } }