Esempio n. 1
0
 /**
  * Displays the times and rooms of a course
  *
  * @param mixed $course_id Id of the course (optional, defaults to
  *                         globally selected)
  */
 public function index_action()
 {
     Helpbar::get()->addPlainText(_('Rot'), _('Kein Termin hat eine Raumbuchung.'));
     Helpbar::get()->addPlainText(_('Gelb'), _('Mindestens ein Termin hat keine Raumbuchung.'));
     Helpbar::get()->addPlainText(_('Grün'), _('Alle Termine haben eine Raumbuchung.'));
     $editParams = array('fromDialog' => Request::isXhr() ? 'true' : 'false');
     $linkAttributes = array();
     $semesterFormParams = array('formaction' => $this->url_for('course/timesrooms/setSemester/' . $this->course->id));
     if (Request::isXhr()) {
         $this->show = array('regular' => true, 'irregular' => true, 'roomRequest' => false);
         $semesterFormParams['data-dialog'] = 'size=big';
         $editParams['asDialog'] = true;
         $linkAttributes['data-dialog'] = 'size=big';
     }
     $this->semester = array_reverse(Semester::getAll());
     $this->current_semester = Semester::findCurrent();
     // Get Cycles
     $this->cycle_dates = array();
     foreach ($this->course->cycles as $cycle) {
         foreach ($cycle->getAllDates() as $val) {
             foreach ($this->semester as $sem) {
                 if ($_SESSION['raumzeitFilter'] === $sem->id || $sem->beginn != $_SESSION['raumzeitFilter'] && $_SESSION['raumzeitFilter'] !== 'all') {
                     continue;
                 }
                 if ($sem->beginn <= $val->date && $sem->ende >= $val->date) {
                     if (!isset($this->cycle_dates[$cycle->metadate_id])) {
                         $this->cycle_dates[$cycle->metadate_id] = array('cycle' => $cycle, 'dates' => array(), 'room_request' => array());
                     }
                     if (!isset($this->cycle_dates[$cycle->metadate_id]['dates'][$sem->id])) {
                         $this->cycle_dates[$cycle->metadate_id]['dates'][$sem->id] = array();
                     }
                     $this->cycle_dates[$cycle->metadate_id]['dates'][$sem->id][] = $val;
                     if ($val->getRoom()) {
                         $this->cycle_dates[$cycle->metadate_id]['room_request'][] = $val->getRoom();
                     }
                 }
             }
         }
     }
     // Get Single Dates
     $single_dates = array();
     foreach ($this->course->getDatesWithExdates() as $id => $val) {
         foreach ($this->semester as $sem) {
             if ($_SESSION['raumzeitFilter'] == $sem->id || $sem->beginn != $_SESSION['raumzeitFilter'] && $_SESSION['raumzeitFilter'] !== 'all') {
                 continue;
             }
             if ($sem->beginn > $val->date || $sem->ende < $val->date || isset($val->metadate_id)) {
                 continue;
             }
             if (!isset($single_dates[$sem->id])) {
                 $single_dates[$sem->id] = new SimpleCollection();
             }
             $single_dates[$sem->id]->append($val);
         }
     }
     $this->single_dates = $single_dates;
     $this->semesterFormParams = $semesterFormParams;
     $this->editParams = $editParams;
     $this->linkAttributes = $linkAttributes;
 }
Esempio n. 2
0
 /**
  * shows index page of course or institute management
  *
  * @return void
  */
 function index_action()
 {
     Navigation::activateItem('course/admin/main');
     if ($GLOBALS['SessSemName']['class'] == 'inst') {
         Helpbar::get()->addPlainText(_('Information'), _('Als Mitarbeiter Ihrer Einrichtung können Sie für diese Inhalte in mehreren Kategorien bereitstellen.Inhalte in Ihrer Einrichtung können von allen Stud.IP-Nutzern abgerufen werden.'));
     } else {
         Helpbar::get()->addPlainText(_('Information'), _('Sie können hier Ihre Veranstaltung in mehreren Kategorien anpassen. Informationen wie Grunddaten oder Termine und Einstellungen, Zugangsbeschränkungen und Funktionen können Sie hier administrieren.'));
     }
 }
Esempio n. 3
0
<?php

use Studip\Button, Studip\LinkButton;
Helpbar::get()->addPlainText(_('Regeln'), _('Hier können Sie die Regeln, Eigenschaften und Zuordnungen des Anmeldesets bearbeiten.'));
Helpbar::get()->addPlainText(_('Info'), _('Sie können das Anmeldeset allen Einrichtungen zuordnen, an denen Sie mindestens Dozentenrechte haben.'));
Helpbar::get()->addPlainText(_('Sichtbarkeit'), _('Alle Veranstaltungen der Einrichtungen, an denen Sie mindestens Dozentenrechte haben, können zum Anmeldeset hinzugefügt werden.'));
// Load assigned course IDs.
$courseIds = $courseset ? $courseset->getCourses() : array();
// Load assigned user list IDs.
$userlistIds = $courseset ? $courseset->getUserlists() : array();
if ($flash['error']) {
    echo MessageBox::error($flash['error']);
}
?>
<div class="hidden-alert" style="display:none">
    <?php 
echo MessageBox::info(_("Diese Daten sind noch nicht gespeichert."));
?>
</div>
<?php 
echo $this->render_partial('dialog/confirm_dialog');
?>
<h1><?php 
echo $courseset ? _('Anmeldeset bearbeiten') : _('Anmeldeset anlegen');
?>
</h1>
<form class="studip_form" action="<?php 
echo $controller->url_for(!$instant_course_set_view ? 'admission/courseset/save/' . ($courseset ? $courseset->getId() : '') : 'course/admission/save_courseset/' . $courseset->getId());
?>
" method="post">
    <fieldset>
Esempio n. 4
0
<?php

Helpbar::get()->addPlainText(_('Info'), "Personenlisten erfassen eine Menge von Personen, die " . "mit modifizierten Chancen in die Platzverteilung bei " . "Anmeldeverfahren eingehen. Dies können z.B. " . "Härtefälle sein, die bevorzugt einen Platz in " . "Veranstaltungen erhalten sollen.");
Helpbar::get()->addPlainText(_('Info'), "Hier sehen Sie alle Personenlisten, auf die Sie Zugriff " . "haben.");
echo $this->render_partial('dialog/confirm_dialog');
?>
<h1><?php 
echo _('Personenlisten');
?>
</h1>
<?php 
if ($userlists) {
    ?>
<div id="userlists">
    <?php 
    foreach ($userlists as $list) {
        ?>
    <div id="userlist_<?php 
        echo $list->getId();
        ?>
">
        <a href="#" onclick="return STUDIP.Admission.toggleDetails('userlist_arrow_<?php 
        echo $list->getId();
        ?>
', 'userlist_details_<?php 
        echo $list->getId();
        ?>
')">
            <?php 
        echo Icon::create('arr_1right', 'clickable')->asImg(16, ["id" => 'userlist_arrow_' . $list->getId(), "align" => 'top', "rel" => Icon::create('arr_1down', 'clickable')->asImagePath(16)]);
        ?>
Esempio n. 5
0
<?php

use Studip\Button, Studip\LinkButton;
Helpbar::get()->addPlainText(_('Info'), "Personenlisten dienen dazu, um Sonderfälle erfassen zu " . "können, die in Anmeldeverfahren gesondert behandelt " . "werden sollen (Härtefälle etc.).");
Helpbar::get()->addPlainText(_('Info'), "Stellen Sie hier ein, wie die Chancen bei der " . "Platzverteilung verändert werden sollen. Ein Wert " . "von 1 bedeutet normale Verteilung, ein Wert kleiner " . "als 1 führt zur Benachteiligung, mit einem Wert " . "größer als 1 werden die betreffenden Personen " . "bevorzugt.");
echo $this->render_partial('dialog/confirm_dialog');
echo $error ? $error : '';
?>
<h1><?php 
echo $userlist_id ? _('Personenliste bearbeiten') : _('Personenliste anlegen');
?>
</h1>
<form class="default" action="<?php 
echo $controller->url_for('admission/userlist/save', $userlist_id);
?>
" method="post">
    <label>
        <span class="required">
            <?php 
echo _('Name der Personenliste');
?>
        </span>
        <input type="text" size="60" maxlength="255" name="name" value="<?php 
echo $userlist ? htmlReady($userlist->getName()) : '';
?>
"/>
    </label>
    <br/>
    <label for="factor">
        <?php 
echo _('Faktor zur Modifikation der Platzverteilung');
Esempio n. 6
0
 /**
  * Displays the global ranking list.
  *
  * @param int $page Page of the ranking list to be displayed.
  */
 public function index_action($page = 1)
 {
     $vis_query = get_vis_query('b');
     // Calculate offsets
     $max_per_page = get_config('ENTRIES_PER_PAGE');
     if ($page < 1) {
         $page = 1;
     }
     $offset = max(0, ($page - 1) * $max_per_page);
     // Liste aller die mutig (oder eitel?) genug sind
     $query = "SELECT SQL_CALC_FOUND_ROWS a.user_id,username,score,geschlecht, {$GLOBALS['_fullname_sql']['full']} AS fullname\n                  FROM user_info AS a\n                  LEFT JOIN auth_user_md5 AS b USING (user_id)\n                  WHERE score > 0 AND locked = 0 AND {$vis_query}\n                  ORDER BY score DESC\n                  LIMIT " . (int) $offset . "," . (int) $max_per_page;
     $result = DBManager::get()->fetchAll($query);
     $count = DBManager::get()->fetchColumn("SELECT FOUND_ROWS()");
     $persons = array();
     foreach ($result as $row) {
         $row['is_king'] = StudipKing::is_king($row['user_id'], true);
         $persons[$row['user_id']] = $row;
     }
     $persons = Score::getScoreContent($persons);
     $this->persons = array_values($persons);
     $this->numberOfPersons = $count;
     $this->page = $page;
     $this->offset = $offset;
     $this->max_per_page = $max_per_page;
     $this->current_user = User::findCurrent();
     $this->current_user_score = Score::getMyScore($this->current_user);
     // Set up sidebar and helpbar
     $sidebar = Sidebar::get();
     $sidebar->setImage('sidebar/medal-sidebar.png');
     $actions = new OptionsWidget();
     $actions->addCheckbox(_('Ihren Wert veröffentlichen'), $this->current_user->score, $this->url_for('score/publish'), $this->url_for('score/unpublish'));
     $sidebar->addWidget($actions);
     $helpbar = Helpbar::get();
 }
Esempio n. 7
0
 * @category    Stud.IP
 * @package     resources
*/

if ($_SESSION['resources_data']['actual_object']) {
    // tlx: WTF is this chunk of code supposed to do?
    // Lines 31-34 are absolutely useless, aren't they?
    $currentObject = ResourceObject::Factory($_SESSION['resources_data']['actual_object']);
    $currentObjectTitelAdd = ': ' . ($currentObject->getCategoryName() ?: _('Hierachieebene'));
    if ($currentObjectTitelAdd) {
        $currentObjectTitelAdd = ': ';
    }
    $currentObjectTitelAdd = ': ' . $currentObject->getName() . ' (' . $currentObject->getOwnerName() . ')';
}

$helpbar = Helpbar::get();
$sidebar = Sidebar::get();

switch ($view) {
    //Reiter "Uebersicht"
    case 'plan':
        PageLayout::setTitle(_('Spezielle Funktionen'));
    break;
    case 'regular':
        PageLayout::setTitle(_('Spezielle Funktionen'));
    break;
    case 'diff':
        PageLayout::setTitle(_('Spezielle Funktionen'));
    break;

    case 'resources':
Esempio n. 8
0
 /**
  * create a new room requests
  */
 public function new_action()
 {
     $options = array();
     $this->url_params = array();
     if (Request::get('origin') !== null) {
         $this->url_params['origin'] = Request::get('origin');
     }
     if (!RoomRequest::existsByCourse($this->course_id)) {
         $options[] = array('value' => 'course', 'name' => _('alle regelmäßigen und unregelmäßigen Termine der Veranstaltung'));
     }
     foreach (SeminarCycleDate::findBySeminar($this->course_id) as $cycle) {
         if (!RoomRequest::existsByCycle($cycle->getId())) {
             $name = _("alle Termine einer regelmäßigen Zeit");
             $name .= ' (' . $cycle->toString('full') . ')';
             $options[] = array('value' => 'cycle_' . $cycle->getId(), 'name' => $name);
         }
     }
     foreach (SeminarDB::getSingleDates($this->course_id) as $date) {
         if (!RoomRequest::existsByDate($date['termin_id'])) {
             $name = _("Einzeltermin der Veranstaltung");
             $termin = new SingleDate($date['termin_id']);
             $name .= ' (' . $termin->toString() . ')';
             $options[] = array('value' => 'date_' . $date['termin_id'], 'name' => $name);
         }
     }
     $this->options = $options;
     Helpbar::get()->addPlainText(_('Information'), _('Hier können Sie festlegen, welche Art von Raumanfrage Sie erstellen möchten.'));
 }
Esempio n. 9
0
    <div id="layout_page">
        <? if (PageLayout::isHeaderEnabled() && is_object($GLOBALS['user']) && $GLOBALS['user']->id != 'nobody' && Navigation::hasItem('/course') && Navigation::getItem('/course')->isActive() && $_SESSION['seminar_change_view_'.$GLOBALS['SessionSeminar']]) : ?>
            <?php 
echo $this->render_partial('change_view', array('changed_status' => $_SESSION['seminar_change_view_' . $GLOBALS['SessionSeminar']]));
?>
        <? endif ?>

        <? if (PageLayout::isHeaderEnabled() && isset($navigation)) : ?>
            <?php 
echo $this->render_partial('tabs', compact("navigation"));
?>
        <? endif ?>

        <?php 
echo Helpbar::get()->render();
?>
        <div id="layout_container">
            <?php 
echo Sidebar::get()->render();
?>
            <div id="layout_content">
                <?php 
echo implode(PageLayout::getMessages());
?>
                <?php 
echo $content_for_layout;
?>
            </div>
            <? if ($infobox) : ?>
            <div id="layout_sidebar">
Esempio n. 10
0
<?php

Helpbar::get()->addPlainText(_('Info'), _("Anmeldesets legen fest, wer sich zu den zugeordneten Veranstaltungen anmelden darf."));
Helpbar::get()->addPlainText(_('Info'), _("Hier sehen Sie alle Anmeldesets, auf die Sie Zugriff haben."));
echo $this->render_partial('dialog/confirm_dialog');
?>
<h2><?php 
echo _('Anmeldesets');
?>
</h2>
<?php 
echo $this->render_partial('admission/courseset/_institute_choose.php');
if ($coursesets) {
    ?>
<table class="default nohover">
    <tr>
        <th width="60%"><?php 
    echo _('Name des Sets');
    ?>
</th>
        <th width="25%"><?php 
    echo _('Besitzer');
    ?>
</th>
        <th width="5%"><?php 
    echo _('Privat');
    ?>
</th>
        <th width="5%"><?php 
    echo _('Anzahl');
    ?>
Esempio n. 11
0
/**
* Display edit form for wiki page.
*
* @param    string  keyword WikiPage name
* @param    array   wikiData    Array from DB with WikiPage data
* @param    string  user_id     Internal user id
* @param    string  backpage    Page to display if editing is aborted
*
**/
function wikiEdit($keyword, $wikiData, $user_id, $backpage=NULL)
{
    showPageFrameStart();
    wikiSinglePageHeader($wikiData, $keyword);
    begin_blank_table();
    if (!$wikiData) {
        $body = "";
        $version = 0;
        $lastpage="&lastpage=".urlencode($backpage);
    } else {
        $body = $wikiData["body"];
        $version = $wikiData["version"];
        $lastpage = "";
    }
    releaseLocks($keyword); // kill old locks
    $locks=getLock($keyword, $user_id);
    $cont="";
    if ($locks && $lock["user_id"]!=$user_id) {
        $message = MessageBox::info(sprintf(_("Die Seite wird eventuell von %s bearbeitet."), htmlReady($locks)), array(_("Wenn Sie die Seite trotzdem ändern, kann ein Versionskonflikt entstehen."), _("Es werden dann beide Versionen eingetragen und müssen von Hand zusammengeführt werden."),  _("Klicken Sie auf Abbrechen, um zurückzukehren.")));
        PageLayout::postMessage($message);
    }
    if ($keyword=='toc') {
        $message = MessageBox::info(_("Sie bearbeiten die QuickLinks."), array(_("Verwenden Sie Aufzählungszeichen (-, --, ---), um Verweise auf Seiten hinzuzufügen.")));
        PageLayout::postMessage($message);
        if (!$body) {
            $body=_("- WikiWikiWeb\n- BeispielSeite\n-- UnterSeite1\n-- UnterSeite2");
        }
    }

    $template = $GLOBALS['template_factory']->open('wiki/edit.php');
    $template->keyword = $keyword;
    $template->version = $version;
    $template->body    = $body;
    $cont = $template->render();

    printcontent(0, 0, $cont, '');

    Helpbar::get()->setVariables(array(
        'help_link' => format_help_url('Basis.VerschiedenesFormat'),
    ));

    end_blank_table();
    echo "</td>"; // end of content area
    showPageFrameEnd();
}