public function addSelect($label, $url, $name, $options, $selected_option = false, $attributes = array()) { $widget = new SelectWidget($label, $url, $name); $widget->layout = false; foreach ($options as $value => $option_label) { $widget->addElement(new SelectElement($value, $option_label, $value === $selected_option)); } $widget->attributes = array_merge($widget->attributes, $attributes); $content = $widget->render(); $this->addElement(new WidgetElement($content)); }
/** * Display the list of lock rules */ function index_action() { $actions = new ActionsWidget(); $actions->addLink(_('Neue Sperrebene anlegen'), $this->url_for('admin/lockrules/new'), Icon::create('add', 'clickable')); $this->sidebar->addWidget($actions); if ($GLOBALS['perm']->have_perm('root')) { $list = new SelectWidget(_('Bereichsauswahl'), $this->url_for('admin/lockrules'), 'lock_rule_type'); foreach (array('sem' => _('Veranstaltung'), 'inst' => _('Einrichtung'), 'user' => _('Nutzer')) as $type => $desc) { $list->addElement(new SelectElement($type, $desc, Request::get('lock_rule_type') == $type), 'lock_rule_type-' . $type); } $this->sidebar->addWidget($list); } if ($this->lock_rule_type == 'sem') { $this->lock_rules = LockRules::getAdministrableSeminarRules($GLOBALS['user']->id); } else { $this->lock_rules = LockRule::findAllByType($this->lock_rule_type); } }
/** * Populates and renders the widget according to the previously made * settings. */ public function render($variables = array()) { $current_id = Request::get($this->template_variables['name']); if (!$current_id && !$this->include_all) { $current_id = Semester::findCurrent()->id; } if ($this->include_all) { $element = new SelectElement(0, _('Alle Semester'), !$current_id); $this->addElement($element); } $semesters = array_reverse(Semester::getAll()); foreach ($semesters as $semester) { $element = new SelectElement($semester->id, $semester->name, $current_id && $semester->id == $current_id); $this->addElement($element); } return parent::render($variables); }
if (Request::int('send_excel')) { $tmpfile = basename($sem_browse_obj->create_result_xls($excel_text)); if ($tmpfile) { header('Location: ' . getDownloadLink($tmpfile, _("Veranstaltungsübersicht.xls"), 4)); page_close(); die; } } PageLayout::setHelpKeyword("Basis.Informationsseite"); PageLayout::setTitle(($level == "s" ? $SessSemName["header_line"] . " - " : "") . $head_text); if ($level == "s" && $SessSemName[1] && $SessSemName["class"] == "inst") { Navigation::activateItem('/course/main/courses'); } $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/seminar-sidebar.png'); $semester = new SelectWidget(_("Semester:"), URLHelper::getURL(), 'select_sem'); foreach (array_reverse(Semester::getAll()) as $one) { $semester->addElement(new SelectElement($one->id, $one->name, $one->id == $show_semester)); } $sidebar->addWidget($semester); $grouping = new LinksWidget(); $grouping->setTitle(_("Anzeige gruppieren:")); foreach ($sem_browse_obj->group_by_fields as $i => $field) { $grouping->addLink($field['name'], URLHelper::getLink('?', array('group_by' => $i)), $group_by == $i ? "icons/16/red/arr_1right" : ""); } $sidebar->addWidget($grouping); if (get_config('EXPORT_ENABLE') && $perm->have_perm("tutor")) { $export = new LinksWidget(); $export->setTitle(_("Daten ausgeben:")); if ($level == "s") { $export->addLink(_("Diese Daten exportieren"), URLHelper::getLink("export.php", array('range_id' => $SessSemName[1], 'o_mode' => 'choose', 'ex_type' => "veranstaltung", 'xslt_filename' => $SessSemName[0], 'ex_sem' => $show_semester)), Icon::create('download', 'info'));
/** * Creates the sidebar */ private function setSidebar() { $actions = new ActionsWidget(); $actions->addLink(_('Startsemester ändern'), $this->url_for('course/timesrooms/editSemester'), Icon::create('date', 'clickable'))->asDialog('size=400'); Sidebar::Get()->addWidget($actions); $widget = new SelectWidget(_('Semesterfilter'), $this->url_for('course/timesrooms/index', array('cmd' => 'applyFilter')), 'newFilter'); foreach ($this->selection as $item) { $element = new SelectElement($item['value'], $item['linktext'], $item['is_selected']); $widget->addElement($element); } Sidebar::Get()->addWidget($widget); if ($GLOBALS['perm']->have_perm('admin')) { $list = new SelectorWidget(); $list->setUrl($this->url_for('/index')); $list->setSelectParameterName('cid'); foreach (AdminCourseFilter::get()->getCourses(false) as $seminar) { $element = new SelectElement($seminar['Seminar_id'], $seminar['Name']); $list->addElement($element, 'select-' . $seminar['Seminar_id']); } $list->setSelection($this->course->id); Sidebar::Get()->addWidget($list); } }
/** * Returns a widget to selected a specific teacher * @param array $teachers * @return ActionsWidget|null */ private function setTeacherWidget() { if (!$GLOBALS['user']->cfg->MY_INSTITUTES_DEFAULT || $GLOBALS['user']->cfg->MY_INSTITUTES_DEFAULT === "all") { return; } $teachers = DBManager::get()->fetchAll("\n SELECT auth_user_md5.*, user_info.*\n FROM auth_user_md5\n LEFT JOIN user_info ON (auth_user_md5.user_id = user_info.user_id)\n INNER JOIN user_inst ON (user_inst.user_id = auth_user_md5.user_id)\n INNER JOIN Institute ON (Institute.Institut_id = user_inst.Institut_id)\n WHERE (Institute.Institut_id = :institut_id OR Institute.fakultaets_id = :institut_id)\n AND auth_user_md5.perms = 'dozent'\n ORDER BY auth_user_md5.Nachname ASC, auth_user_md5.Vorname ASC\n ", array('institut_id' => $GLOBALS['user']->cfg->MY_INSTITUTES_DEFAULT), function ($data) { $ret['user_id'] = $data['user_id']; unset($data['user_id']); $ret['fullname'] = User::build($data)->getFullName("full_rev"); return $ret; }); $sidebar = Sidebar::Get(); $list = new SelectWidget(_('Dozenten-Filter'), $this->url_for('admin/courses/index'), 'teacher_filter'); $list->addElement(new SelectElement('all', _('alle'), Request::get('teacher_filter') == 'all'), 'teacher_filter-all'); foreach ($teachers as $teacher) { $list->addElement(new SelectElement($teacher['user_id'], $teacher['fullname'], $GLOBALS['user']->cfg->ADMIN_COURSES_TEACHERFILTER === $teacher['user_id']), 'teacher_filter-' . $teacher['user_id']); } $sidebar->addWidget($list, 'filter_teacher'); }
/** * Sets up the sidebar * * @param bool $user_section Adjust sidebar to user section? */ protected function setupSidebar($user_section = false) { // Basic info and layout $sidebar = Sidebar::Get(); $sidebar->setTitle(_('Konfiguration')); $sidebar->setImage(Assets::image_path('sidebar/admin-sidebar.png')); // Views $views = new ViewsWidget(); $views->addLink(_('Globale Konfiguration'), $this->url_for('admin/configuration/configuration'))->setActive(!$user_section); $views->addLink(_('Personenkonfiguration'), $this->url_for('admin/configuration/user_configuration'))->setActive($user_section); $sidebar->addWidget($views); // Add section selector when not in user mode if (!$user_section) { $options = array(); foreach (ConfigurationModel::getConfig() as $key => $value) { $options[$key] = $key ?: '- ' . _('Ohne Kategorie') . ' -'; } $widget = new SelectWidget(_('Anzeigefilter'), $this->url_for('admin/configuration/configuration'), 'section', 'get'); $widget->addElement(new SelectElement(-1, _('alle anzeigen'))); $widget->setOptions($options); $sidebar->addWidget($widget); } // Add specific searches (specific user when in user mode, keyword // otherwise) if ($user_section) { $search = new SearchWidget($this->url_for('admin/configuration/user_configuration')); $search->addNeedle(_('Person suchen'), 'user_id', true, new StandardSearch('user_id'), 'function () { $(this).closest("form").submit(); }'); } else { $search = new SearchWidget($this->url_for('admin/configuration/configuration')); $search->addNeedle(_('Suchbegriff'), 'needle', true); } $sidebar->addWidget($search); }
/** * Returns an infobox string holding information and action links for * diff view of current page. * * @param string WikiPage name * **/ function getDiffPageInfobox($keyword) { $versions=getWikiPageVersions($keyword); // Aktuelle Version $widget = new ViewsWidget(); $widget->addLink(_('Standard'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=show')); if (count($versions) >= 1) { $widget->addLink(_('Textänderungen anzeigen'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=diff')) ->setActive(Request::option('view') === 'diff'); $widget->addLink(_('Text mit Autor/-innenzuordnung anzeigen'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=combodiff')) ->setActive(Request::option('view') === 'combodiff'); } Sidebar::get()->addWidget($widget); // Versionen if (count($versions) > 0) { $widget = new SelectWidget(_('Alte Versionen dieser Seite'), URLHelper::getLink('?keyword=' . urlencode($keyword)), 'version'); $widget->addElement(new SelectElement('', _('Aktuelle Version'))); foreach ($versions as $version) { $element = new SelectElement($version['version'], sprintf(_('Version %u (%s)'), $version['version'], date('d.m.Y, H:i', $version['chdate'])), $version['version'] == Request::int('version', 0)); $widget->addElement($element); } Sidebar::get()->addWidget($widget); } return array(); }
/** * Creates the sidebar. * * @param String $action Currently called action */ private function createSidebar($action) { $sidebar = Sidebar::Get(); $sidebar->setImage('sidebar/admin-sidebar.png'); $sidebar->setTitle(_('Datenfelder')); $actions = new ActionsWidget(); $actions->addLink(_('Neues Datenfeld anlegen'), $this->url_for('admin/datafields/new/' . $this->class_filter), Icon::create('add', 'clickable'))->asDialog(); $sidebar->addWidget($actions); $filter = new SelectWidget(_('Filter'), $this->url_for('admin/datafields'), 'class_filter'); $filter->addElement(new SelectElement('', _('alle anzeigen'))); $filter->setOptions($this->allclasses, $this->class_filter); $sidebar->addWidget($filter); }