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'); }
}); </script> <? 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); }
PageLayout::postMessage($message); } ?> <h1><?php echo _('Suche nach Einrichtungen'); ?> </h1> <? if ($msg) { echo "\n<table width=\"99%\" border=\"0\" cellpadding=\"2\" cellspacing=\"0\">"; parse_msg ($msg,"§","blank",1,false); echo "\n</table>"; } $the_tree->showTree(); $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/institute-sidebar.png'); $search = new SearchWidget('?cmd=suche'); $search->addNeedle(_('Name der Einrichtung'), 'search_name'); $search->addNeedle(_('Einrichtung dieses Mitarbeiters'), 'search_user'); $search->addNeedle(_('Einrichtung dieser Veranstaltung'), 'search_sem'); $sidebar->addWidget($search); $template = $GLOBALS['template_factory']->open('layouts/base.php'); $template->content_for_layout = ob_get_clean(); echo $template->render(); page_close();
}); </script> <?php echo $this->render_partial('index/_js_templates'); ?> <!-- set a CSS "namespace" for Forum --> <div id="forum"> <?php $sidebar = Sidebar::get(); $sidebar->setImage('sidebar/forum-sidebar.png'); if (ForumPerm::has('search', $seminar_id)) { $search = new SearchWidget(PluginEngine::getLink('coreforum/index/search?backend=search')); $search->setId('tutorSearchInfobox'); $search->addNeedle(_('Beiträge durchsuchen'), 'searchfor', true); $search->addFilter(_('Titel'), 'search_title'); $search->addFilter(_('Inhalt'), 'search_content'); $search->addFilter(_('Autor/-in'), 'search_author'); $sidebar->addWidget($search); } $actions = new ActionsWidget(); if ($section == 'index') { if (ForumPerm::has('abo', $seminar_id)) { if (ForumAbo::has($constraint['topic_id'])) { $abo_text = _('Nicht mehr abonnieren'); $abo_url = PluginEngine::getLink('coreforum/index/remove_abo/' . $constraint['topic_id']); } else { switch ($constraint['depth']) { case '0': $abo_text = _('Komplettes Forum abonnieren');
/** * Adds a search widget to the sidebar */ private function setSearchWiget() { $sidebar = Sidebar::Get(); $search = new SearchWidget(URLHelper::getLink('dispatch.php/admin/courses')); $search->addNeedle(_('Freie Suche'), 'search', true, null, null, $GLOBALS['user']->cfg->ADMIN_COURSES_SEARCHTEXT); $sidebar->addWidget($search, 'filter_search'); }
/** * 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 * current page. * If newest version is displayed, infobox includes backlinks. * * @param string WikiPage name * @param bool Is version displayed latest version? * **/ function getShowPageInfobox($keyword, $latest_version) { $versions = getWikiPageVersions($keyword); if (!$latest_version) { $message = sprintf(_('Sie betrachten eine alte Version, die nicht mehr geändert werden kann. Verwenden Sie dazu die %saktuelle Version%s.'), '<a href="' . URLHelper::getLink('?keyword='.urlencode($keyword)) . '">', '</a>'); PageLayout::postMessage(MessageBox::info($message)); } $sidebar = Sidebar::get(); // Table of Contents/QuickLinks $widget = new ListWidget(); $widget->setTitle(_('QuickLinks')); $toccont = get_toc_content(); $toccont_empty = !trim(strip_tags($toccont)); if ($GLOBALS['perm']->have_studip_perm('autor', $GLOBALS['SessSemName'][1])){ $extra = sprintf('<a href="%s">%s</a>', URLHelper::getLink('?keyword=toc&view=edit'), $toccont_empty ? Icon::create('add', 'clickable', ['title' => _('erstellen')])->asImg() : Icon::create('edit', 'clickable', ['title' => _('bearbeiten')])->asImg()); $widget->setExtra($extra); } $element = new WidgetElement($toccont_empty ? _('Keine QuickLinks vorhanden') : $toccont); $element->icon = Icon::create('link-intern', 'clickable'); $widget->addElement($element); $sidebar->addWidget($widget); // Backlinks if ($latest_version) { $widget = new LinksWidget(); $widget->setTitle(_('Seiten, die auf diese Seite verweisen')); foreach(getBacklinks($keyword) as $backlink) { $widget->addLink($backlink, URLHelper::getLink('?keyword=' . urlencode($backlink))); } $sidebar->addWidget($widget); } // Ansichten $widget = new ViewsWidget(); $widget->addLink(_('Standard'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=show'), Icon::create('wiki', 'clickable')) ->setActive(true); if (count($versions) >= 1) { $widget->addLink(_('Textänderungen anzeigen'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=diff')); $widget->addLink(_('Text mit Autor/-innenzuordnung anzeigen'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&view=combodiff')); } $sidebar->addWidget($widget); // Suche $widget = new SearchWidget(URLHelper::getLink('?view=search&keyword=' . urlencode($keyword))); $widget->addNeedle(_('Im Wiki suchen'), 'searchfor', true); $widget->addFilter(_('Nur in aktuellen Versionen'), 'searchcurrentversions'); $sidebar->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->addWidget($widget); } // Kommentare $widget = new OptionsWidget(); $widget->setTitle(_('Kommentare')); $widget->addRadioButton(_('einblenden'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&wiki_comments=all'), $GLOBALS['show_wiki_comments'] === 'all'); $widget->addRadioButton(_('als Icons einblenden'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&wiki_comments=icon'), $GLOBALS['show_wiki_comments'] === 'icon'); $widget->addRadioButton(_('ausblenden'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&wiki_comments=none'), $GLOBALS['show_wiki_comments'] === 'none'); $sidebar->addWidget($widget, 'comments'); // Exportfunktionen $version = Request::int('version') ?: ''; $widget = new ExportWidget(); $widget->addLink(_('Druckansicht'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&version=' . $version . '&view=wikiprint'), Icon::create('print', 'clickable'), array('target' => '_blank')); $widget->addLink(_('PDF-Ausgabe'), URLHelper::getLink('?keyword=' . urlencode($keyword) . '&version=' . $version . '&view=export_pdf'), Icon::create('file-pdf', 'clickable'), array('target' => '_blank')); $sidebar->addWidget($widget); return array(); }