Example #1
0
 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');
 }
Example #2
0
');
});
</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);
Example #3
0
    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();
Example #4
0
';
        STUDIP.Forum.init();
    });
</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']) {
Example #5
0
 /**
  * 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');
 }
Example #6
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);
 }
Example #7
0
/**
* 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();
}