/** * Displays all available schedules according to the set filters. * * @param int $page Which page to display */ public function index_action($page = 1) { $filter = $_SESSION['cronjob-filter']; $this->max_per_page = Config::get()->ENTRIES_PER_PAGE; $this->total = CronjobSchedule::countBySql('1'); $this->total_filtered = CronjobSchedule::countBySql($filter['where']); $this->page = max(1, min($page, ceil($this->total_filtered / $this->max_per_page))); $limit = sprintf(" LIMIT %u, %u", ($this->page - 1) * $this->max_per_page, $this->max_per_page); $this->schedules = CronjobSchedule::findBySQL($filter['where'] . $limit); // Filters $this->tasks = CronjobTask::findBySql('1'); $this->filter = $filter['values']; // Infobox image was produced from an image by Robbert van der Steeg // http://www.flickr.com/photos/robbie73/5924985913/ $sidebar = Sidebar::Get(); $sidebar->setTitle(_('Cronjobs')); $sidebar->setImage('sidebar/date-sidebar.png'); // Aktionen $views = new ViewsWidget(); $views->addLink(_('Cronjobs verwalten'), $this->url_for('admin/cronjobs/schedules'))->setActive(true); $views->addLink(_('Aufgaben verwalten'), $this->url_for('admin/cronjobs/tasks')); $views->addLink(_('Logs anzeigen'), $this->url_for('admin/cronjobs/logs')); $sidebar->addWidget($views); $actions = new ActionsWidget(); $actions->addLink(_('Neuen Cronjob registrieren'), $this->url_for('admin/cronjobs/schedules/edit'), Icon::create('add', 'clickable')); $sidebar->addWidget($actions); }
function before_filter(&$action, &$args) { parent::before_filter($action, $args); Navigation::activateItem("/pluginmarket/presenting"); if ($GLOBALS['perm']->have_perm("user")) { $config = UserConfig::get($GLOBALS['user']->id); $this->last_pluginmarket_visit = $config->getValue("last_pluginmarket_visit") ?: time(); $_SESSION['last_pluginmarket_visit'] = time(); $config->store("last_pluginmarket_visit", $_SESSION['last_pluginmarket_visit']); } PageLayout::addScript($this->plugin->getPluginURL() . "/assets/studiptable.js"); PageLayout::addScript($this->plugin->getPluginURL() . "/assets/pluginmarket.js"); $tags_statement = DBManager::get()->prepare("\n SELECT pluginmarket_tags.tag, COUNT(*) AS number\n FROM pluginmarket_tags\n INNER JOIN pluginmarket_plugins ON (pluginmarket_plugins.plugin_id = pluginmarket_tags.plugin_id)\n WHERE pluginmarket_tags. proposal = '0'\n AND pluginmarket_plugins.approved = 1\n AND pluginmarket_plugins.publiclyvisible = 1\n GROUP BY pluginmarket_tags.tag\n ORDER BY number DESC, RAND()\n LIMIT 25\n "); $tags_statement->execute(); $this->tags = $tags_statement->fetchAll(PDO::FETCH_ASSOC); // Set view $_SESSION['pluginmarket']['view'] = Request::get('view') ?: $_SESSION['pluginmarket']['view']; if (!isset($_SESSION['pluginmarket']['view'])) { $_SESSION['pluginmarket']['view'] = 'tiles'; } // Sidebar $sidebar = Sidebar::Get(); // Create search widget $searchWidget = new SearchWidget($this->url_for('presenting/all')); $searchWidget->addNeedle(_('Suche'), 'search', true); $sidebar->addWidget($searchWidget); // Create cloud $tagWidget = new LinkCloudWidget(); $tagWidget->setTitle(_("Beliebte Tags")); foreach ($this->tags as $tag) { $tagWidget->addLink($tag['tag'], $this->url_for('presenting/all', array('tag' => $tag['tag'])), $tag['number']); } $sidebar->addWidget($tagWidget); // Create view widget if ($action != 'details') { $viewWidget = new ViewsWidget(); $viewWidget->addLink(_('Kacheln'), URLHelper::getLink('', array('view' => 'tiles')))->setActive($_SESSION['pluginmarket']['view'] == 'tiles'); $viewWidget->addLink(_('Liste'), $this->url_for('presenting/all', array('view' => 'list')))->setActive($_SESSION['pluginmarket']['view'] == 'list'); $sidebar->addWidget($viewWidget); } // Create versionfilter widget $versionWidget = new OptionsWidget(); $versionWidget->setTitle(_('Stud.IP Version')); // Create options for all studip versions $_SESSION['pluginmarket']['version'] = Request::submitted('version') ? Request::get('version') : $_SESSION['pluginmarket']['version']; $options[] = "<option value='" . URLHelper::getLink('', array('version' => 0)) . "'>" . _('Alle Versionen') . "</option>"; foreach (array_reverse(PluginMarket::getStudipReleases()) as $version) { $options[] = "<option value='" . URLHelper::getLink('', array('version' => $version)) . "' " . ($_SESSION['pluginmarket']['version'] == $version ? "SELECTED" : "") . ">{$version}</option>"; } $versionWidget->addElement(new WidgetElement('<select style="width: 100%" onchange="location = this.options[this.selectedIndex].value;">' . join("", $options) . '</select>')); // Add checkbox to ignore older releases (use invese logic to be applied on startup) $sidebar->addWidget($versionWidget, 'comments'); }
protected function createSidebar($active = null, $calendar = null) { $active = $active ?: $this->last_view; $sidebar = Sidebar::Get(); $sidebar->setTitle(_('Kalender')); $sidebar->setImage('sidebar/schedule-sidebar.png'); $views = new ViewsWidget(); $views->addLink(_('Tag'), $this->url_for($this->base . 'day'))->setActive($active == 'day'); $views->addLink(_('Woche'), $this->url_for($this->base . 'week'))->setActive($active == 'week'); $views->addLink(_('Monat'), $this->url_for($this->base . 'month'))->setActive($active == 'month'); $views->addLink(_('Jahr'), $this->url_for($this->base . 'year'))->setActive($active == 'year'); $sidebar->addWidget($views); }
/** * Things to do before every page load. */ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); // AJAX request, so no page layout. if (Request::isXhr()) { $this->via_ajax = true; $this->set_layout(null); $request = Request::getInstance(); foreach ($request as $key => $value) { $request[$key] = studip_utf8decode($value); } // Open base layout for normal } else { $layout = $GLOBALS['template_factory']->open('layouts/base'); $this->set_layout($layout); PageLayout::setTitle(_('Anmeldesets')); // Get only own courses if user doesn't have permission to edit institute-wide coursesets. $this->onlyOwnCourses = true; if ($GLOBALS['perm']->have_perm('admin') || $GLOBALS['perm']->have_perm('dozent') && get_config('ALLOW_DOZENT_COURSESET_ADMIN')) { // We have access to institute-wide course sets, so all courses may be assigned. $this->onlyOwnCourses = false; Navigation::activateItem('/tools/coursesets/sets'); } else { throw new AccessDeniedException(); } } PageLayout::addSqueezePackage('admission'); $this->set_content_type('text/html;charset=windows-1252'); $views = new ViewsWidget(); $views->setTitle(_('Aktionen')); $views->addLink(_('Anmeldeset anlegen'), $this->url_for('admission/courseset/configure'))->setActive($action == 'configure'); Sidebar::Get()->addWidget($views); }
/** * **/ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); require_once 'lib/bootstrap-api.php'; $GLOBALS['perm']->check('root'); Navigation::activateItem('/admin/config/api'); PageLayout::setTitle(_('API Verwaltung')); $this->types = array('website' => _('Website'), 'desktop' => _('Herkömmliches Desktopprogramm'), 'mobile' => _('Mobile App')); // Sidebar $views = new ViewsWidget(); $views->addLink(_('Registrierte Applikationen'), $this->url_for('admin/api'))->setActive($action === 'index'); $views->addLink(_('Globale Zugriffseinstellungen'), $this->url_for('admin/api/permissions'))->setActive($action == 'permissions'); $views->addLink(_('Konfiguration'), $this->url_for('admin/api/config'))->setActive($action == 'config'); Sidebar::get()->addWidget($views); $actions = new ActionsWidget(); $actions->addLink(_('Neue Applikation registrieren'), $this->url_for('admin/api/edit'), Icon::create('add', 'clickable'))->asDialog(); Sidebar::get()->addWidget($actions); }
/** * Displays all available tasks. * * @param int $page Which page to display */ public function index_action($page = 1) { $this->max_per_page = Config::get()->ENTRIES_PER_PAGE; $this->total = CronjobTask::countBySql('1'); $this->page = max(1, min($page, ceil($this->total / $this->max_per_page))); $limit = sprintf(" LIMIT %u, %u", ($this->page - 1) * $this->max_per_page, $this->max_per_page); $this->tasks = CronjobTask::findBySQL('1' . $limit); // Infobox image was produced from an image by Robbert van der Steeg // http://www.flickr.com/photos/robbie73/5924985913/ $sidebar = Sidebar::Get(); $sidebar->setTitle(_('Cronjobs')); $sidebar->setImage('sidebar/admin-sidebar.png'); // Aktionen $actions = new ViewsWidget(); $actions->addLink(_('Cronjobs verwalten'),$this->url_for('admin/cronjobs/schedules')); $actions->addLink(_('Aufgaben verwalten'),$this->url_for('admin/cronjobs/tasks'))->setActive(true); $actions->addLink(_('Logs anzeigen'),$this->url_for('admin/cronjobs/logs')); $sidebar->addWidget($actions); }
/** * @see AuthenticatedController::before_filter */ public function before_filter(&$action, &$args) { parent::before_filter($action, $args); if (Request::isXhr()) { $this->via_ajax = true; $this->set_layout(null); $request = Request::getInstance(); foreach ($request as $key => $value) { $request[$key] = studip_utf8decode($value); } } else { $layout = $GLOBALS['template_factory']->open('layouts/base'); $this->set_layout($layout); PageLayout::setTitle(_('Personenlisten')); Navigation::activateItem('/tools/coursesets/userlists'); } PageLayout::addSqueezePackage('admission'); $this->set_content_type('text/html;charset=windows-1252'); $views = new ViewsWidget(); $views->setTitle(_('Aktionen')); $views->addLink(_('Personenliste anlegen'), $this->url_for('admission/userlist/configure'))->setActive($action == 'configure'); Sidebar::Get()->addWidget($views); }
printf("<font size=\"-1\" color=\"black\"><b>%s </b></font>\n", htmlReady($field["name"])); echo "</td>\n"; } ?> </tr> </thead> <?php echo $table_content; ?> </table> <? } $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/person-sidebar.png'); $widget = new ViewsWidget(); $widget->addLink(_('Standard'), URLHelper::getURL('?extend=no'))->setActive($extend != 'yes'); $widget->addLink(_('Erweitert'), URLHelper::getURL('?extend=yes'))->setActive($extend == 'yes'); $sidebar->addWidget($widget); if ($admin_view) { if (!LockRules::Check($inst_id, 'participants')) { $edit = new SidebarWidget(); $edit->setTitle(_('Personenverwaltung')); $edit->addElement(new WidgetElement($mp)); $sidebar->addWidget($edit); } if (!empty($mail_list)) {
<? endif; ?> <?php $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/mail-sidebar.png'); $actions = new ActionsWidget(); $actions->addLink(_("Neue Nachricht schreiben"), $controller->url_for('messages/write'), Icon::create('mail+add', 'clickable'), array('data-dialog' => 'width=650;height=600')); if (Navigation::getItem('/messaging/messages/inbox')->isActive() && $messages) { $actions->addLink(_('Alle als gelesen markieren'), $controller->url_for('messages/overview', array('read_all' => 1)), Icon::create('accept', 'clickable')); } $actions->addLink(_('Ausgewählte Nachrichten löschen'), "#", Icon::create('trash', 'clickable'), array('onclick' => "if (window.confirm('Wirklich %s Nachrichten löschen?'.toLocaleString().replace('%s', jQuery('#bulk tbody :checked').length))) { jQuery('#bulk').submit(); } return false;")); $sidebar->addWidget($actions); $search = new SearchWidget(URLHelper::getLink('?')); $search->addNeedle(_('Nachrichten durchsuchen'), 'search', true); $search->addFilter(_('Betreff'), 'search_subject'); $search->addFilter(_('Inhalt'), 'search_content'); $search->addFilter(_('Autor/-in'), 'search_autor'); $sidebar->addWidget($search); $folderwidget = new ViewsWidget(); $folderwidget->forceRendering(); $folderwidget->title = _('Schlagworte'); $folderwidget->id = 'messages-tags'; $folderwidget->addLink(_("Alle Nachrichten"), URLHelper::getURL("?"), null, array('class' => "tag"))->setActive(!Request::submitted("tag")); if (empty($tags)) { $folderwidget->style = 'display:none'; } else { foreach ($tags as $tag) { $folderwidget->addLink(ucfirst($tag), URLHelper::getURL("?", array('tag' => $tag)), null, array('class' => "tag"))->setActive(Request::get("tag") === $tag); } } $sidebar->addWidget($folderwidget);
private function initSidebar($active_id = null) { $sidebar = Sidebar::Get(); $letterlist = new SidebarWidget(); foreach (range('A', 'Z') as $letter) { if ($this->contacts[$letter]) { $html .= "<a href='#letter_{$letter}'>{$letter}</a>"; } else { $html .= "<span>{$letter}</span>"; } } $letterlist->setTitle(_('Schnellzugriff')); $letterlist->addElement(new WidgetElement("<div class='letterlist'>{$html}</div>")); $sidebar->addWidget($letterlist); // Groups $actions = new ActionsWidget(); $actions->addLink(_('Neue Gruppe anlegen'), $this->url_for('contact/editGroup'), Icon::create('group3+add', 'clickable'))->asDialog('size=auto'); $actions->addLink(_('Nachricht an alle'), $this->url_for('messages/write', array('rec_uname' => $this->allContacts->pluck('username'))), Icon::create('mail', 'clickable'))->asDialog(); $actions->addLink(_('E-Mail an alle'), URLHelper::getLink('mailto:' . join(',', $this->allContacts->pluck('email'))), Icon::create('mail', 'clickable')); $actions->addLink(_('Alle vCards herunterladen'), $this->url_for('contact/vcard/' . $this->filter), Icon::create('vcard', 'clickable')); $sidebar->addWidget($actions); // Groups navigation $groupsWidget = new ViewsWidget(); $groupsWidget->setTitle(_('Gruppen')); $groupsWidget->addLink(_('Alle Kontakte'), URLHelper::getLink('dispatch.php/contact/index'))->setActive(!$active_id); foreach ($this->groups as $group) { $groupsWidget->addLink($group->name, URLHelper::getLink('dispatch.php/contact/index/' . $group->id))->setActive($group->id == $active_id); } $sidebar->addWidget($groupsWidget); }
/** * Get widget for grouping selected courses (e.g. by colors, ...) * @param $action * @param bool $selected * @return string */ private function setGroupingSelector(&$group_field) { $sidebar = Sidebar::Get(); $groups = array('sem_number' => _('Standard'), 'sem_tree_id' => _('Studienbereich'), 'sem_status' => _('Typ'), 'gruppe' => _('Farbgruppen'), 'dozent_id' => _('Dozenten')); $view = new ViewsWidget(); foreach ($groups as $key => $group) { $view->addLink($group, $this->url_for('my_courses/store_groups?select_group_field=' . $key))->setActive($key === $group_field); } $sidebar->addWidget($view); }
PageLayout::setTitle($SessSemName['header_line'] . ' - ' . _('Belegungszeiten aller Ressourcen pro Tag ausgeben')); Navigation::activateItem('/course/resources/group_schedule'); $widget = new ExportWidget(); $widget->addLink(_('Druckansicht'), URLHelper::getLink('?view=openobject_group_schedule&print_view=1'), Icon::create('print', 'clickable'), array('target' => '_blank')); $sidebar->addWidget($widget); break; case 'view_requests_schedule': PageLayout::setTitle(_('Anfragenübersicht eines Raums:') . ' ' . ResourceObject::Factory($_SESSION['resources_data']['resolve_requests_one_res'])->getName()); Navigation::activateItem('/resources/room_requests/schedule'); $widget = new ViewsWidget(); $widget->addLink(_('Semesterplan'), URLHelper::getLink('resources.php?actual_object=' . $_SESSION['resources_data']['resolve_requests_one_res'] . '&quick_view=view_sem_schedule&quick_view_mode=no_nav'), Icon::create('schedule', 'clickable'), array('onclick' => "window.open(this.href, '', 'scrollbars=yes,left=10,top=10,width=1000,height=680,resizable=yes');return false;")); $sidebar->addWidget($widget); break; //default default: PageLayout::setTitle(_('Übersicht der Ressourcen')); Navigation::activateItem('/resources/view/hierarchy'); break; } //general naming of resources management pages if (!$SessSemName) { PageLayout::setTitle(_('Ressourcenverwaltung:') . ' ' . PageLayout::getTitle()); }
/** * Adds the content to sidebar */ private function setSidebar() { $sidebar = Sidebar::Get(); $sidebar->setTitle(_('Ferien')); $sidebar->setImage('sidebar/admin-sidebar.png'); $views = new ViewsWidget(); $views->addLink(_('Alle Einträge'), $this->url_for('admin/holidays', array('filter' => null)))->setActive(!$this->filter); $views->addLink(_('Aktuelle/zukünftige Einträge'), $this->url_for('admin/holidays', array('filter' => 'current')))->setActive($this->filter === 'current'); $views->addLink(_('Vergangene Einträge'), $this->url_for('admin/holidays', array('filter' => 'past')))->setActive($this->filter === 'past'); $sidebar->addWidget($views); $links = new ActionsWidget(); $links->addLink(_('Neue Ferien anlegen'), $this->url_for('admin/holidays/edit', array('filter' => null)), Icon::create('add', 'clickable'))->asDialog('size=auto'); $sidebar->addWidget($links); }
/** * 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(); }
/** * Show administration page for user's news * * @param string $area_type area filter */ function admin_news_action($area_type = '') { // check permission if (!$GLOBALS['auth']->is_authenticated() || $GLOBALS['user']->id === 'nobody') { throw new AccessDeniedException(); } $GLOBALS['perm']->check('user'); // initialize $news_result = array(); $limit = 100; if (Request::get('news_filter') == 'set') { $this->news_searchterm = Request::option('news_filter_term'); $this->news_startdate = Request::int('news_filter_start'); $this->news_enddate = Request::int('news_filter_end'); } else { $this->news_startdate = time(); } if (is_array($this->area_structure[$area_type])) { $this->area_type = $area_type; } $this->set_layout($GLOBALS['template_factory']->open('layouts/base')); PageLayout::setTitle(_('Meine Ankündigungen')); PageLayout::setHelpKeyword('Basis.News'); Navigation::activateItem('/tools/news'); if (Request::submitted('reset_filter')) { $area_type = 'all'; $this->news_searchterm = ''; $this->news_startdate = ''; $this->news_enddate = ''; } // delete news if (Request::submitted('remove_marked_news')) { $remove_ranges = array(); foreach (Request::optionArray('mark_news') as $mark_id) { list($news_id, $range_id) = explode('_', $mark_id); $remove_ranges[$news_id][] = $range_id; } $this->flash['question_text'] = remove_news($remove_ranges); $this->flash['question_param'] = array('mark_news' => Request::optionArray('mark_news'), 'remove_marked_news' => 1); } // apply filter if (Request::submitted('apply_news_filter')) { $this->news_isvisible['basic'] = $this->news_isvisible['basic'] ? false : true; if (Request::get('news_searchterm') and strlen(trim(Request::get('news_searchterm'))) < 3) { PageLayout::postMessage(MessageBox::error(_('Der Suchbegriff muss mindestens 3 Zeichen lang sein.'))); } elseif (Request::get('news_startdate') and !$this->getTimeStamp(Request::get('news_startdate'), 'start') or Request::get('news_enddate') and !$this->getTimeStamp(Request::get('news_enddate'), 'end')) { PageLayout::postMessage(MessageBox::error(_('Ungültige Datumsangabe. Bitte geben Sie ein Datum im Format TT.MM.JJJJ ein.'))); } elseif (Request::get('news_enddate') and Request::get('news_enddate') and $this->getTimeStamp(Request::get('news_startdate'), 'start') > $this->getTimeStamp(Request::get('news_enddate'), 'end')) { PageLayout::postMessage(MessageBox::error(_('Das Startdatum muss vor dem Enddatum liegen.'))); } if (strlen(trim(Request::get('news_searchterm'))) >= 3) { $this->news_searchterm = Request::get('news_searchterm'); } $this->news_startdate = $this->getTimeStamp(Request::get('news_startdate'), 'start'); $this->news_enddate = $this->getTimeStamp(Request::get('news_enddate'), 'end'); } // fetch news list $this->news_items = StudipNews::getNewsRangesByFilter($GLOBALS["auth"]->auth["uid"], $this->area_type, $this->news_searchterm, $this->news_startdate, $this->news_enddate, true, $limit + 1); // build area and filter description if ($this->news_searchterm and $this->area_type and $this->area_type != 'all') { if ($this->news_startdate and $this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s" zum Suchbegriff "%s", die zwischen dem %s und dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], $this->news_searchterm, date('d.m.Y', $this->news_startdate), date('d.m.Y', $this->news_enddate)); } elseif ($this->news_startdate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s" zum Suchbegriff "%s", die ab dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], $this->news_searchterm, date('d.m.Y', $this->news_startdate)); } elseif ($this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s" zum Suchbegriff "%s", die vor dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], $this->news_searchterm, date('d.m.Y', $this->news_enddate)); } else { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s" zum Suchbegriff "%s".'), $this->area_structure[$this->area_type]['title'], $this->news_searchterm); } } elseif ($this->area_type and $this->area_type != 'all') { if ($this->news_startdate and $this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s", die zwischen dem %s und dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], date('d.m.Y', $this->news_startdate), date('d.m.Y', $this->news_enddate)); } elseif ($this->news_startdate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s", die ab dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], date('d.m.Y', $this->news_startdate)); } elseif ($this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s", die vor dem %s sichtbar sind.'), $this->area_structure[$this->area_type]['title'], date('d.m.Y', $this->news_enddate)); } else { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen im Bereich "%s".'), $this->area_structure[$this->area_type]['title']); } } elseif ($this->news_searchterm) { if ($this->news_startdate and $this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen zum Suchbegriff "%s", die zwischen dem %s und dem %s sichtbar sind.'), $this->news_searchterm, date('d.m.Y', $this->news_startdate), date('d.m.Y', $this->news_enddate)); } elseif ($this->news_startdate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen zum Suchbegriff "%s", die ab dem %s sichtbar sind.'), $this->news_searchterm, date('d.m.Y', $this->news_startdate)); } elseif ($this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen zum Suchbegriff "%s", die vor dem %s sichtbar sind.'), $this->news_searchterm, date('d.m.Y', $this->news_enddate)); } else { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen zum Suchbegriff "%s".'), $this->news_searchterm); } } elseif ($this->news_startdate or $this->news_enddate) { if ($this->news_startdate and $this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen, die zwischen dem %s und dem %s sichtbar sind.'), date('d.m.Y', $this->news_startdate), date('d.m.Y', $this->news_enddate)); } elseif ($this->news_startdate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen, die ab dem %s sichtbar sind.'), date('d.m.Y', $this->news_startdate)); } elseif ($this->news_enddate) { $this->filter_text = sprintf(_('Angezeigt werden Ankündigungen, die vor dem %s sichtbar sind.'), date('d.m.Y', $this->news_enddate)); } } // check for delete-buttons and news limit foreach ($this->area_structure as $type => $area_data) { if (is_array($this->news_items[$type])) { foreach ($this->news_items[$type] as $key => $news) { // has trash icon been clicked? if (Request::submitted('news_remove_' . $news['object']->news_id . '_' . $news['range_id']) and Request::isPost()) { $this->flash['question_text'] = remove_news(array($news['object']->news_id => $news['range_id'])); $this->flash['question_param'] = array('mark_news' => array($news['object']->news_id . '_' . $news['range_id']), 'remove_marked_news' => 1); } // check if result set too big $counter++; if ($counter == $limit + 1) { PageLayout::postMessage(MessageBox::info(sprintf(_('Es werden nur die ersten %s Ankündigungen angezeigt.'), $limit))); unset($this->news_items[$type][$key]); } } } } // sort grouped list by title foreach ($this->area_structure as $type => $area_data) { if (count($this->news_groups[$type])) { ksort($this->news_groups[$type]); } } $this->sidebar = Sidebar::get(); $this->sidebar->setImage('sidebar/news-sidebar.png'); if ($GLOBALS['perm']->have_perm('tutor')) { $widget = new ViewsWidget(); $widget->addLink(_('Alle Ankündigungen'), URLHelper::getURL('dispatch.php/news/admin_news/all'))->setActive(!$this->area_type); if ($GLOBALS['perm']->have_perm('root')) { $widget->addLink(_('System'), URLHelper::getURL('dispatch.php/news/admin_news/global'))->setActive($this->area_type === 'global'); } if ($GLOBALS['perm']->have_perm('dozent')) { $widget->addLink(_('Einrichtungen'), URLHelper::getURL('dispatch.php/news/admin_news/inst'))->setActive($this->area_type === 'inst'); } $widget->addLink(_('Veranstaltungen'), URLHelper::getURL('dispatch.php/news/admin_news/sem'))->setActive($this->area_type === 'sem'); $widget->addLink(_('Profil'), URLHelper::getURL('dispatch.php/news/admin_news/user'))->setActive($this->area_type === 'user'); $this->sidebar->addWidget($widget); } $widget = new ActionsWidget(); $widget->addLink(_('Ankündigung erstellen'), URLHelper::getLink('dispatch.php/news/edit_news/new'), Icon::create('news+add', 'clickable'), array('rel' => 'get_dialog', 'target' => '_blank')); $this->sidebar->addWidget($widget); }
/** * 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); }
<tr> </tr> </tbody> <tfoot> <tr> <td><?php echo LinkButton::create(_('Übernehmen'), $controller->url_for('help_content/resolve_conflict/' . $conflict[$keys[0]]->getId() . '/accept')); ?> </td> <td><?php echo LinkButton::create(_('Übernehmen'), $controller->url_for('help_content/resolve_conflict/' . $conflict[$keys[0]]->getId() . '/delete')); ?> </td> </tr></tfoot> </table> <? endforeach ?> <? else : ?> <?php echo _('Keine Konflikte vorhanden.'); ?> <? endif ?> </form><br><br></p></td> </tr> </table> </div> <? $sidebar = Sidebar::get(); $widget = new ViewsWidget(); $widget->addLink(_('Übersicht'), URLHelper::getURL('dispatch.php/help_content/admin_overview')); $widget->addLink(_('Konflikte'), URLHelper::getURL('dispatch.php/help_content/admin_conflicts'))->setActive(true); $sidebar->addWidget($widget);
private function setSidebar($action) { $sidebar = Sidebar::Get(); $sidebar->setTitle(PageLayout::getTitle() ?: _('Rollen')); $sidebar->setImage('sidebar/roles-sidebar.png'); $views = new ViewsWidget(); $views->addLink(_('Rollen verwalten'), $this->url_for('admin/role'))->setActive($action === 'index'); $views->addLink(_('Personenzuweisungen bearbeiten'), $this->url_for('admin/role/assign_role'))->setActive($action === 'assign_role'); $views->addLink(_('Pluginzuweisungen bearbeiten'), $this->url_for('admin/role/assign_plugin_role'))->setActive($action === 'assign_plugin_role'); $views->addLink(_('Rollenzuweisungen anzeigen'), $this->url_for('admin/role/show_role'))->setActive($action === 'show_role'); $sidebar->addWidget($views); $actions = new ActionsWidget(); $actions->addLink(_('Neue Rolle anlegen'), $this->url_for('admin/role/add'), Icon::create('add', 'clickable'))->asDialog('size=auto'); $sidebar->addWidget($actions); }