Exemple #1
0
 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));
 }
Exemple #2
0
 /**
  * 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);
 }
Exemple #4
0
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'));
Exemple #5
0
 /**
  * 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);
     }
 }
Exemple #6
0
 /**
  * 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');
 }
Exemple #7
0
 /**
  * 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);
 }
Exemple #8
0
/**
* 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();
}
Exemple #9
0
 /**
  * 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);
 }