Ejemplo n.º 1
0
function get_highscore_list()
{
    $db = new DB_Seminar("SELECT murmeln_highscore.*,username FROM murmeln_highscore LEFT JOIN auth_user_md5 USING(user_id) ORDER BY score DESC LIMIT 20");
    $ret = '<ol>';
    $maxscore = 0;
    while ($db->next_record()) {
        $ret .= '<li><b>' . $db->f('score') . '</b> - 
				' . ($db->f('username') ? '<a href="' . UrlHelper::getLink('about.php?username='******'username')) . '">' . htmlReady(get_fullname_from_uname($db->f('username'))) . '</a>' : htmlready($db->f('name'))) . '</li>';
        $maxscore = $db->f('score');
    }
    $ret .= '</ol>';
    $db->query("DELETE FROM murmeln_highscore WHERE score < " . $maxscore);
    return $ret;
}
Ejemplo n.º 2
0
 /**
  *  the current eval-ranges and the options to copy and link ranges
  *
  * @access  private
  * @param   $eval    the eval object
  * @param   $state   the eval's state (EVAL_STATE_NEW, EVAL_STATE_ACTIVE, ...)
  * @param   $style   the background style
  * @return  string   the domain settings (html)
  */
 function createDomainSettings($eval, $state, $style)
 {
     global $user;
     $db = new EvaluationObjectDB();
     $evalDB = new EvaluationDB();
     $evalID = $eval->getObjectID();
     $globalperm = $db->getGlobalPerm();
     // linked ranges
     $rangeIDs = $eval->getRangeIDs();
     // search results
     if (Request::get("search")) {
         $results = $evalDB->search_range(Request::get("search"));
     } else {
         $results = $evalDB->search_range("");
     }
     if ($globalperm == "root") {
         $results["studip"] = array("type" => "system", "name" => _("Systemweite Evaluationen"));
     } elseif ($globalperm == "dozent" || $globalperm == "autor" || $globalperm == "admin") {
         $results[$user->id] = array("type" => "user", "name" => _("Profil"));
     }
     if ($globalperm == "dozent" || $globalperm == "autor" || Request::get("search")) {
         $showsearchresults = 1;
     }
     if ($globalperm == "autor") {
         $range_types = array("user" => _("Benutzer"), "sem" => _("Veranstaltung"));
     } elseif ($globalperm == "dozent") {
         $range_types = array("user" => _("Benutzer"), "sem" => _("Veranstaltung"), "inst" => _("Einrichtung"));
     } elseif ($globalperm == "admin") {
         $range_types = array("user" => _("Benutzer"), "sem" => _("Veranstaltung"), "inst" => _("Einrichtung"), "fak" => _("Fakultät"));
     } elseif ($globalperm == "root") {
         $range_types = array("user" => _("Benutzer"), "sem" => _("Veranstaltung"), "inst" => _("Einrichtung"), "fak" => _("Fakultät"), "system" => _("System"));
     }
     // zugewiesene Bereiche
     $table_r = new HTML("table");
     #   $table_r->addAttr ("class","white");
     $table_r->addAttr("border", "0");
     $table_r->addAttr("align", "center");
     $table_r->addAttr("cellspacing", "0");
     $table_r->addAttr("cellpadding", "0");
     $table_r->addAttr("width", "100%");
     $table_r->addAttr('class', 'default');
     // Überschriften
     $tr_r = new HTML("tr");
     $td_r = new HTML("td");
     $td_r->addAttr("class", "{$style}");
     $td_r->addAttr("style", "vertical-align:bottom;");
     $td_r->addAttr("height", "22");
     $b_r = new HTML("b");
     $b_r->addHTMLContent("&nbsp;");
     $b_r->addContent(_("Bereich"));
     $td_r->addContent($b_r);
     $tr_r->addContent($td_r);
     $td_r = new HTML("td");
     $td_r->addAttr("class", "{$style}");
     $td_r->addAttr("height", "22");
     $td_r->addAttr("align", "center");
     $td_r->addAttr("style", "vertical-align:bottom;");
     $b_r = new HTML("b");
     $b_r->addContent(_("aushängen"));
     $td_r->addContent($b_r);
     $tr_r->addContent($td_r);
     $table_r->addContent($tr_r);
     if ($rangeIDs) {
         // die verknüpften bereiche
         foreach ($rangeIDs as $k => $assigned_rangeID) {
             $tr_r = new HTML("tr");
             // title
             $td_r = new HTML("td");
             $td_r->addHTMLContent("&nbsp;");
             $td_r->addHTMLContent($db->getRangename($assigned_rangeID, NO));
             #         $td_r->addContent ($db->getRangename($assigned_rangeID));
             $tr_r->addContent($td_r);
             if ($this->perm->have_studip_perm("tutor", $assigned_rangeID) || $assigned_rangeID == $user->id) {
                 // link
                 $td_r = new HTML("td");
                 $td_r->addAttr("align", "center");
                 $input = new HTMLempty("input");
                 $input->addAttr("type", "checkbox");
                 $input->addAttr("name", "remove_range[{$assigned_rangeID}]");
                 $input->addAttr("value", "1");
                 $td_r->addContent($input);
             } else {
                 // no permission
                 $td_r = new HTML("td");
                 $td_r->addAttr("align", "center");
                 $td_r->addContent(_("Sie haben keine Berechtigung die Evaluation aus diesem Bereich auszuhängen."));
             }
             $tr_r->addContent($td_r);
             $table_r->addContent($tr_r);
         }
     } else {
         $td_r = new HTML("td");
         $td_r->addAttr("class", "content_body");
         $td_r->addAttr("width", "40");
         $td_r->addAttr("align", "center");
         $td_r->addAttr("style", "vertical-align:bottom;");
         $td_r->addAttr("colspan", "2");
         $b_r = new HTML("b");
         $b_r->addHTMLContent("&nbsp;");
         $b_r->addContent(_("Diese Evaluation wurde keinem Bereich zugeordnet."));
         $td_r->addContent($b_r);
         $tr_r->addContent($td_r);
         $table_r->addContent($tr_r);
     }
     $table = new HTML("table");
     $table->addAttr("border", "0");
     $table->addAttr("align", "center");
     $table->addAttr("cellspacing", "0");
     $table->addAttr("cellpadding", "4");
     $table->addAttr("width", "100%");
     $tr = new HTML("tr");
     $td = new HTML("td");
     $td->addAttr("colspan", "2");
     $td->addAttr("style", "padding-bottom:0; border-top:1px solid black;");
     $b = new HTML("b");
     $b->addContent(_("Diese Evaluation ist folgenden Bereichen zugeordnet:"));
     $td->addContent($b);
     $td->addContent(EvalCommon::createImage(EVAL_PIC_HELP, "", tooltip(_(" können Sie Ihre Evaluation aus den verknüpften Bereichen entfernen."), TRUE, TRUE)));
     $tr->addContent($td);
     if (!$eval->isTemplate()) {
         $table->addContent($tr);
     }
     $tr = new HTML("tr");
     $td = new HTML("td");
     $td->addAttr("colspan", "2");
     $td->addContent($table_r);
     $tr->addContent($td);
     if (!$eval->isTemplate()) {
         $table->addContent($tr);
     }
     // display search_results
     if ($results) {
         foreach ($results as $k => $v) {
             while (list($type_key, $type_value) = each($range_types)) {
                 if ($v["type"] == $type_key) {
                     $ranges["{$type_key}"][] = array("id" => $k, "name" => $v["name"]);
                 }
             }
             reset($range_types);
         }
         $table_s = new HTML("table");
         $table_s->addAttr("border", "0");
         $table_s->addAttr("align", "center");
         $table_s->addAttr("cellspacing", "0");
         $table_s->addAttr("cellpadding", "0");
         $table_s->addAttr("width", "100%");
         while (list($type_key, $type_value) = each($range_types)) {
             // Überschriften
             $tr_s = new HTML("tr");
             // Typ
             $td_s = new HTML("td");
             $td_s->addAttr("colspan", "1");
             $td_s->addAttr("class", "{$style}");
             $td_s->addAttr("height", "22");
             $td_s->addAttr("style", "vertical-align:bottom;");
             $b_s = new HTML("b");
             $b_s->addHTMLContent("&nbsp;");
             $b_s->addContent($type_value . ":");
             $td_s->addContent($b_s);
             $tr_s->addContent($td_s);
             // link
             $td_s = new HTML("td");
             $td_s->addAttr("class", "{$style}");
             $td_s->addAttr("height", "22");
             $td_s->addAttr("align", "center");
             $td_s->addAttr("style", "vertical-align:bottom;");
             $b_s = new HTML("b");
             $b_s->addContent(_("einhängen"));
             $td_s->addContent($b_s);
             $tr_s->addContent($td_s);
             // kopie
             $td_s = new HTML("td");
             $td_s->addAttr("class", "{$style}");
             $td_s->addAttr("height", "22");
             $td_s->addAttr("align", "center");
             $td_s->addAttr("style", "vertical-align:bottom;");
             $b_s = new HTML("b");
             $b_s->addContent(_("kopieren"));
             $td_s->addContent($b_s);
             $tr_s->addContent($td_s);
             $table_s->addContent($tr_s);
             $counter = 0;
             if ($ranges["{$type_key}"]) {
                 foreach ($ranges["{$type_key}"] as $range) {
                     if ($counter == 0) {
                         $displayclass = "content_body";
                     } elseif ($counter % 2 == 0) {
                         $displayclass = "table_row_even";
                     } else {
                         $displayclass = "table_row_odd";
                     }
                     $tr_s = new HTML("tr");
                     // name
                     $td_s = new HTML("td");
                     $td_s->addHTMLContent("&nbsp;");
                     $td_s->addHTMLContent(htmlready($range["name"]));
                     $tr_s->addContent($td_s);
                     // if the rangeID is a username, convert it to the userID
                     $new_rangeID = get_userid($range['id']) ? get_userid($range['id']) : $range['id'];
                     if (!in_array($new_rangeID, $rangeIDs)) {
                         // link
                         $td_s = new HTML("td");
                         $td_s->addAttr("align", "center");
                         $input = new HTMLempty("input");
                         $input->addAttr("type", "checkbox");
                         $input->addAttr("name", "link_range[{$range['id']}]");
                         $input->addAttr("value", "1");
                         $td_s->addContent($input);
                         $tr_s->addContent($td_s);
                     } else {
                         // no link
                         $td_s = new HTML("td");
                         $td_s->addAttr("align", "center");
                         $td_s->addAttr("colspan", "1");
                         $input = new HTMLempty("input");
                         $td_s->addContent(_("Die Evaluation ist bereits diesem Bereich zugeordnet."));
                         $tr_s->addContent($td_s);
                     }
                     // copy
                     $td_s = new HTML("td");
                     $td_s->addAttr("align", "center");
                     $input = new HTMLempty("input");
                     $input->addAttr("type", "checkbox");
                     $input->addAttr("name", "copy_range[{$range['id']}]");
                     $input->addAttr("value", "1");
                     $td_s->addContent($input);
                     $tr_s->addContent($td_s);
                     $table_s->addContent($tr_s);
                     $counter++;
                 }
             } elseif ($globalperm == "root" || $globalperm == "admin") {
                 $tr_s = new HTML("tr");
                 $td_s = new HTML("td");
                 $td_s->addAttr("class", "content_body");
                 $td_s->addAttr("colspan", "4");
                 $td_s->addHTMLContent("&nbsp;");
                 $td_s->addContent(_("Es wurden keine Ergebnisse aus diesem Bereich gefunden."));
                 $tr_s->addContent($td_s);
                 $table_s->addContent($tr_s);
             }
             reset($ranges);
         }
     }
     if ($showsearchresults) {
         $tr = new HTML("tr");
         $td = new HTML("td");
         $td->addAttr("colspan", "2");
         //       $td->addContent(new HTMLempty("hr"));
         $b = new HTML("b");
         #       $b->addContent (_("Suchergebnisse:"));
         if (Request::get("search")) {
             $b->addContent(_("Sie können die Evaluation folgenden Bereichen zuordnen (Suchergebnisse):"));
         } else {
             $b->addContent(_("Sie können die Evaluation folgenden Bereichen zuordnen:"));
         }
         $td->addContent($b);
         $td->addContent(EvalCommon::createImage(EVAL_PIC_HELP, "", tooltip(_("Hängen Sie die Evaluation in die gewünschten Bereiche ein (abhängige Kopie mit gemeinsamer Auswertung) oder kopieren Sie sie in Bereiche (unabhängige Kopie mit getrennter Auswertung)."), TRUE, TRUE)));
         $td->addContent($results ? $table_s : _("Die Suche ergab keine Treffer."));
         $tr->addContent($td);
         $table->addContent($tr);
     }
     // the seach-button
     if ($globalperm == "root" || $globalperm == "admin") {
         $tr = new HTML("tr");
         $td = new HTML("td");
         $td->addAttr("colspan", "2");
         $td->addAttr("style", "padding-bottom:0; border-top:1px solid black;");
         $td->addContent(_("Nach Bereichen suchen:"));
         $td->addContent(" ");
         $input = new HTMLempty("input");
         $input->addAttr("type", "text");
         $input->addAttr("name", "search");
         $input->addAttr("style", "vertical-align:middle;");
         $input->addAttr("value", "" . Request::get("search") . "");
         $td->addContent($input);
         $td->addContent(Button::create(_('Suchen'), 'search_range_button', array('title' => _('Bereiche suchen'))));
         $tr->addContent($td);
         $table->addContent($tr);
     }
     return $table->createContent();
 }
Ejemplo n.º 3
0
<? foreach(PageLayout::getMessages() as $pm) : ?>
    <?php 
echo $pm;
?>
<? endforeach; ?>
<h4><?php 
echo sprintf(_("Einrichtungszuordnung für %s in der Rolle %s"), htmlReady($user->getFullname()), htmlready($role->getRoleName()));
?>
</h4>
<form action="<?php 
echo $controller->link_for('/assign_role_institutes/' . $role->getRoleid() . '/' . $user->id);
?>
" method="post">
<?php 
echo $qsearch->render();
echo Studip\Button::create(_('Einrichtung hinzufügen'), "add_institute", array("rel" => "lightbox"));
?>
</form>

<h4><?php 
echo _("Vorhandene Zuordnungen");
?>
</h4>
<ul>
<? foreach ($institutes as $institute): ?>
    <li>
          <?php 
echo htmlReady($institute->name);
?>
          <a href="<?php 
echo $controller->link_for('/assign_role_institutes/' . $role->getRoleid() . '/' . $user->id, array('remove_institute' => $institute->id));
Ejemplo n.º 4
0
    echo _("Quelle wählen:");
    ?>
    </label>
    <select name="search_source_result" id="search_source_result" >
    <?php 
    foreach ($result as $s_id => $data) {
        ?>
        <option value="<?php 
        echo $s_id;
        ?>
" <?php 
        echo $source_id == $s_id ? 'selected' : '';
        ?>
>
        <?php 
        echo htmlready($data['name']);
        ?>
        </option>
    <?php 
    }
    ?>
    </select>
    <?php 
    echo Assets::input('icons/16/blue/refresh.png', array('name' => 'do_search_cancel'));
    ?>
    <?php 
    echo Studip\Button::createAccept(_('Auswählen'), 'do_choose_source');
} else {
    ?>
    <label style="padding-right:10px;width:100px;display:block;float:left;" for="search_destination">
    <?php 
Ejemplo n.º 5
0
                <td align="center">
                    <?php 
echo StudygroupModel::countMembers($group['Seminar_id']);
?>
                </td>
                <td style="white-space:nowrap;">
                    <? $founders = StudygroupModel::getFounder($group['Seminar_id']);
                    foreach ($founders as $founder) : ?>
                    <?php 
echo Avatar::getAvatar($founder['user_id'])->getImageTag(Avatar::SMALL);
?>
                    <a href="<?php 
echo URLHelper::getlink('dispatch.php/profile?username='******'uname']);
?>
"><?php 
echo htmlready($founder['fullname']);
?>
</a>
                    <br>
                    <? endforeach; ?>
                </td>
                <td align="center">
                    <? if (StudygroupModel::isMember($this->userid,$group['Seminar_id'] )) :?>
                        <?php 
echo Icon::create('person', 'inactive', ['title' => _('Sie sind Mitglied in dieser Gruppe')])->asImg();
?>
                    <? endif;?>
                </td>
                <td align="center">
                    <? if ($group['admission_prelim'] == 1) :?>
                        <?php 
Ejemplo n.º 6
0
 /**
  * Moves a Group from one parent to another
  *
  * @access   private
  * @return   boolean  true (reinits the tree)
  */
 function execCommandMoveGroup()
 {
     $moveGroupeID = Request::option('moveGroupeID');
     if (!$this->moveItemID) {
         $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Es wurde kein Block zum verschieben ausgewählt.");
         return false;
     }
     $mode = $this->getInstance($this->itemID);
     if (!$mode) {
         $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Der Zielblock besitzt keinen Typ.");
         return false;
     }
     $move_mode = $this->getInstance($this->moveItemID);
     if (!$move_mode) {
         $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Der Zielblock besitzt keinen Typ.");
         return false;
     }
     $move_group =& $this->tree->getGroupObject($this->moveItemID);
     $move_group_title = htmlready($move_group->getTitle());
     $oldparentID = $move_group->getParentID();
     switch ($mode) {
         case ROOT_BLOCK:
             if ($children = $this->tree->eval->getChildren()) {
                 if ($this->getInstance($children[0]->getObjectID()) != $move_mode) {
                     $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Der ausgewählte Block und der Zielblock besitzen verschiedene Typen.");
                     return false;
                 }
             }
             $newgroup = $move_group->duplicate();
             $this->tree->eval->addChild($newgroup);
             $this->tree->eval->save();
             if ($oldparentID == $this->evalID || $oldparentID == "root") {
                 $grouptodelete = $this->tree->eval->getChild($move_group->getObjectID());
                 $grouptodelete->delete();
                 $this->tree->eval->save();
                 if ($this->tree->eval->isError) {
                     return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
                 }
             } else {
                 $oldparentgroup =& $this->tree->getGroupObject($oldparentID);
                 $grouptodelete = $oldparentgroup->getChild($move_group->getObjectID());
                 $grouptodelete->delete();
                 $oldparentgroup->save();
             }
             if ($this->tree->eval->isError) {
                 return EvalCommon::showErrorReport($group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($move_group->isError) {
                 return EvalCommon::showErrorReport($move_group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($newgroup->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($grouptodelete->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             $this->msg[$this->itemID] = "msg§" . sprintf(_("Der Block <b>%s</b> wurde in die Hauptebene verschoben."), $move_group_title);
             break;
         case ARRANGMENT_BLOCK:
             $group =& $this->tree->getGroupObject($this->itemID);
             if ($children = $group->getChildren()) {
                 if ($this->getInstance($children[0]->getObjectID()) != $move_mode) {
                     $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Der ausgewählte Block und der Zielblock besitzen verschiedene Typen.");
                     return false;
                 }
             }
             if ($oldparentID == $this->evalID) {
                 $grouptodelete = $this->tree->eval->getChild($move_group->getObjectID());
                 $grouptodelete->delete();
                 $this->tree->eval->save();
                 if ($this->tree->eval->isError) {
                     return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
                 }
             } else {
                 $oldparentgroup =& $this->tree->getGroupObject($oldparentID);
                 $grouptodelete = $oldparentgroup->getChild($move_group->getObjectID());
                 $grouptodelete->delete();
                 $oldparentgroup->save();
                 if ($oldparentgroup->isError) {
                     return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
                 }
             }
             $newgroup = $move_group->duplicate();
             $group->addChild($newgroup);
             $group->save();
             if ($group->isError) {
                 return EvalCommon::showErrorReport($group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($move_group->isError) {
                 return EvalCommon::showErrorReport($move_group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($newgroup->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($grouptodelete->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             $this->msg[$this->itemID] = "msg§" . sprintf(_("Der Block <b>%s</b> wurde in diesen Gruppierungsblock verschoben."), $move_group_title);
             break;
         case QUESTION_BLOCK:
             $group =& $this->tree->getGroupObject($this->itemID);
             if ($children = $group->getChildren()) {
                 if ($this->getInstance($children[0]->getObjectID()) != $move_mode) {
                     $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Der ausgewählte Block und der Zielblock besitzen verschiedene Typen.");
                     return false;
                 }
             }
             $oldparentID = $move_group->getParentID();
             if ($oldparentID == ROOT_BLOCK) {
                 $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Ein Fragenblock kann nicht auf die oberste Ebene verschoben werden.");
                 return false;
             } elseif ($oldparentID == $this->evalID) {
                 $this->msg[$this->itemID] = "msg§" . _("Fehler beim Verschieben eines Blocks. Ein Fragenblock kann nicht auf die oberste Ebene verschoben werden.");
                 return false;
             } else {
                 $oldparent =& $this->tree->getGroupObject($oldparentID);
             }
             $newgroup = $move_group->duplicate();
             $group->addChild($newgroup);
             $group->save();
             $grouptodelete = $oldparent->getChild($move_group->getObjectID());
             $grouptodelete->delete();
             $oldparent->save();
             if ($group->isError) {
                 return EvalCommon::showErrorReport($group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($move_group->isError) {
                 return EvalCommon::showErrorReport($move_group, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($newgroup->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($grouptodelete->isError) {
                 return EvalCommon::showErrorReport($newgroup, _("Fehler beim Verschieben eines Blocks."));
             }
             if ($oldparent->isError) {
                 return EvalCommon::showErrorReport($oldparent, _("Fehler beim Verschieben eines Blocks."));
             }
             $this->msg[$this->itemID] = "msg§" . sprintf(_("Der Block <b>%s</b> wurde in diesen Fragenblock verschoben."), $move_group_title);
             break;
     }
     $this->moveItemID = NULL;
     $this->changed = true;
     return true;
 }
Ejemplo n.º 7
0
 function showSemWeekNumber($start_time){
     $semester = Semester::FindByTimestamp($start_time);
     if ($semester) {
         echo htmlready($semester['name']) . ' - ';
         $sem_week_number = $semester->getSemWeekNumber($start_time);
         if(is_int($sem_week_number)){
             printf(_("%s. Vorlesungswoche"), $sem_week_number);
         } else {
             echo _("vorlesungsfreie Zeit");
         }
     } else {
         echo _("kein Semester verfügbar");
     }
 }
Ejemplo n.º 8
0
                if ($show) {
                    echo MessageBox::info(_("Sie haben noch nicht die für diese Veranstaltung benötigten Zusatzinformationen eingetragen."), array(
                        _('Um das nachzuholen, gehen Sie unter "Teilnehmende" auf "Zusatzangaben"'),
                        _("oder") . ' <a href="' . URLHelper::getLink("dispatch.php/course/members/additional_input") . '"> ' . _("direkt zu den Zusatzangaben") . '</a>'
                    ));
                }
            }
        }
    } else {
        echo '<b>'._('Beschreibung:').' </b><br>'. formatLinks($sem->description) .'<br><br>';
        echo '<b>'._('Moderiert von:') .'</b> ';
        $all_mods = $sem->getMembers('dozent') + $sem->getMembers('tutor');
        $mods = array();
        foreach($all_mods as $mod) {
            $mods[] = '<a href="'.URLHelper::getLink("dispatch.php/profile?username="******">'.htmlready($mod['fullname']).'</a>';
        }
        echo implode(', ', $mods);
        echo '<br><br>';
    }
?>

<?php 
// Anzeige von News
echo $news;
// Anzeige von Terminen
echo $dates;
// Anzeige von Umfragen
echo $votes;
// display plugins
$plugins = PluginEngine::getPlugins('StandardPlugin', $course_id);
Ejemplo n.º 9
0
                    <?php 
echo QuickSearch::get('new_smsforward_rec', new StandardSearch('username'))->withButton()->render();
?>
                </label>
            <? endif; ?>
        </div>

        <label style="clear:both;">
            <?php 
echo _('Signatur');
?>
            <textarea name="sms_sig" aria-label="<?php 
echo _('Signatur');
?>
"><?php 
echo htmlready($settings['sms_sig']);
?>
</textarea>
        </label>

        <label>
            <?php 
echo _('Buddies/ Wer ist online?');
?>
            <select name="online_format">
                <? foreach ($GLOBALS['NAME_FORMAT_DESC'] as $key => $value): ?>
                    <option value="<?php 
echo $key;
?>
" <? if ($config->getValue('ONLINE_NAME_FORMAT') == $key) echo 'selected '; ?>>
                        <?php 
Ejemplo n.º 10
0
            <input name="nachname" type="text" value="<?php 
echo htmlReady($user['nachname']);
?>
">
        </label>

        <label for="inactive">
            <?php 
echo _('inaktiv');
?>
        </label>
        <section class="hgroup size-m">
            <select name="inaktiv" class="size-s">
            <? foreach(array('<=' => '>=', '=' => '=', '>' => '<', 'nie' =>_('nie')) as $i => $one): ?>
                <option value="<?php 
echo htmlready($i);
?>
" <? if ($user['inaktiv'] === $i) echo 'selected'; ?>>
                    <?php 
echo htmlReady($one);
?>
                </option>
            <? endforeach; ?>
            </select>

            <label>
                <input name="inaktiv_tage" type="number" id="inactive"
                       value="<?php 
echo htmlReady($user['inaktiv_tage']);
?>
">
Ejemplo n.º 11
0
                    <th><?php 
echo _('gesperrt');
?>
</th>
                    <th><?php 
echo _('nicht gesperrt');
?>
</th>
                </tr>
                </thead>
                <tbody>
                <? foreach ($attributes as $attr => $attr_name) : ?>
                    <tr>
                        <td>
                            <?php 
echo htmlready($attr_name);
?>
                        </td>
                        <td>
                            <input type="radio"
                                   name="lockdata_attributes[<?php 
echo $attr;
?>
]" <?php 
echo $lock_rule['attributes'][$attr] ? 'checked' : '';
?>
                                   value="1"/>
                        </td>
                        <td>
                            <input type="radio"
                                   name="lockdata_attributes[<?php 
Ejemplo n.º 12
0
 function getInfoIcon($item_id)
 {
     if (is_object($this->studienmodulmanagement) && $this->tree->isModuleItem($item_id)) {
         $nav = $this->studienmodulmanagement->getModuleInfoNavigation($item_id, SemesterData::GetSemesterIdByIndex($this->tree->sem_number[0]));
         if ($nav->isVisible(true)) {
             $ret = '<a class="module-info" href="' . URLHelper::getLink($nav->getURL()) . '">';
             $ret .= $nav->getImage()->asImg($nav->getLinkAttributes());
             $ret .= '<span>' . htmlready($nav->getTitle()) . '</span>';
             $ret .= '</a>';
         }
     } else {
         if ($item_id == "root") {
             $info = $this->root_content ? $this->root_content : _("Keine weitere Info vorhanden");
         } else {
             $info = $this->tree->getValue($item_id, 'info') ? $this->tree->getValue($item_id, 'info') : _("Keine weitere Info vorhanden");
         }
         $ret = tooltipicon(kill_format($info));
     }
     return $ret;
 }
Ejemplo n.º 13
0
    function showScheduleGraphical($print_view = false) {
        global $RELATIVE_PATH_RESOURCES, $cssSw, $view_mode, $ActualObjectPerms;

        $categories["na"] = 4;
        $categories["sd"] = 4;
        $categories["y"] = 3;
        $categories["m"] = 3;
        $categories["w"] = 0;
        $categories["d"] = 2;

        //an assign for a date corresponding to a (seminar-)metadate
        $categories["meta"] = 1;


         //select view to jump from the schedule
         if ($this->used_view == "openobject_schedule")
            $view = "openobject_assign";
         else
            $view = "edit_object_assign";

        $start_time = $this->start_time;
        $end_time = $this->end_time;

        if ($_SESSION['resources_data']["schedule_time_range"] == -1) {
            $start_hour = 0;
            $end_hour = 12;
        } elseif ($_SESSION['resources_data']["schedule_time_range"] == 1) {
            $start_hour = 12;
            $end_hour = 23;
        } else {
            $start_hour = 8;
            $end_hour = 22;
        }

        $room_group = RoomGroups::GetInstance();
        if ($room_group->getGroupCount($this->group_id)){

            $schedule=new SemGroupScheduleDayOfWeek($start_hour, $end_hour,$room_group->getGroupContent($this->group_id), $start_time, $this->dow);

            $schedule->add_link = "resources.php?cancel_edit_assign=1&quick_view=$view&quick_view_mode=".$view_mode."&add_ts=";

            $num_rep_events = 0;
            $num_single_events = 0;
            $num = 1;

            foreach ($room_group->getGroupContent($this->group_id) as $room_to_show_id => $room_id){

                if ($_SESSION['resources_data']["show_repeat_mode"] == 'repeated' || $_SESSION['resources_data']["show_repeat_mode"] == 'all'){
                    $events = createNormalizedAssigns($room_id, $start_time, $end_time,get_config('RESOURCES_SCHEDULE_EXPLAIN_USER_NAME'), $this->dow);
                    foreach($events as $id => $event){
                        $repeat_mode = $event['repeat_mode'];
                        $add_info = ($event['sem_doz_names'] ? '('.$event['sem_doz_names'].') ' : '');
                        $add_info .= ($repeat_mode == 'w' && $event['repeat_interval'] == 1 ? '('._("wöchentlich").')' : '');
                        $add_info .= ($repeat_mode == 'w' && $event['repeat_interval'] > 1 ? '('.$event['repeat_interval'].'-'._("wöchentlich").')' : '');
                        $name = $event['name'];
                        $schedule->addEvent($room_to_show_id, $name, $event['begin'], $event['end'],
                                    URLHelper::getLink('?show_object='.$room_id.'&cancel_edit_assign=1&quick_view='.$view.'&quick_view_mode='.$view_mode.'&edit_assign_object='.$event['assign_id']), $add_info, $categories[$repeat_mode]);
                        ++$num_rep_events;
                    }
                }
                // nur zukünftige Einzelbelegungen
                if ( ($end_time > time()) && ($_SESSION['resources_data']["show_repeat_mode"] == 'single' || $_SESSION['resources_data']["show_repeat_mode"] == 'all')){
                    $a_start_time = ($start_time > time() ? $start_time : time());
                    $a_end_time = $end_time;
                    $assign_events = new AssignEventList ($a_start_time, $a_end_time, $room_id, '', '', TRUE, 'semschedulesingle', $this->dow);
                    while ($event = $assign_events->nextEvent()) {
                        //mehrtägige nur am passenden Tag anzeigen
                        if ($event->repeat_mode == 'sd' && date('N', $event->begin) != $this->dow) continue;
                        if(in_array($event->repeat_mode, array('w','d','m','y'))){
                            if(strftime('%u', $event->getBegin()) != $this->dow) continue;
                            $assign = AssignObject::Factory($event->getAssignId());
                            switch($event->repeat_mode){
                                case 'd':
                                $add_info = '('.sprintf(_("täglich, %s bis %s"), strftime('%x',$assign->getBegin()), strftime('%x',$assign->getRepeatEnd())).')';
                                break;
                                case 'w':
                                if($assign->getRepeatInterval() == 1) $add_info = '('._("wöchentlich").')';
                                else  $add_info = '('.$assign->getRepeatInterval().'-'._("wöchentlich").')';
                                break;
                                case 'm':
                                if($assign->getRepeatInterval() == 1) $add_info = '('._("monatlich").')';
                                else  $add_info = '('.$assign->getRepeatInterval().'-'._("monatlich").')';
                                break;
                                case 'y':
                                if($assign->getRepeatInterval() == 1) $add_info = '('._("jährlich").')';
                                else  $add_info = '('.$assign->getRepeatInterval().'-'._("jährlich").')';
                                break;
                            }
                        } else {
                            $add_info = '';
                        }
                        $schedule->addEvent($room_to_show_id, 'EB'.$num++.':' . $event->getName(get_config('RESOURCES_SCHEDULE_EXPLAIN_USER_NAME')), $event->getBegin(), $event->getEnd(),
                        URLHelper::getLink('?show_object='.$room_id.'&cancel_edit_assign=1&quick_view='.$view.'&quick_view_mode='.$view_mode.'&edit_assign_object='.$event->getAssignId()), $add_info, $categories[$event->repeat_mode]);
                        ++$num_single_events;
                        $single_assigns[] = $event;
                    }
                }
            }
        } else {
            return;
        }
        if(!$print_view){
        ?>
        <table border=0 celpadding=2 cellspacing=0 width="99%" align="center">
            <tr>
                <td class="<? $cssSw->switchClass(); echo $cssSw->getClass() ?>" width="4%">&nbsp;</td>
                <td class="<? echo $cssSw->getClass() ?>"  width="10%" align="left">&nbsp;
                    <a href="<?= URLHelper::getLink('?quick_view='.$this->used_view.'&quick_view_mode='.$view_mode.'&previous_day=1') ?>">
                    <?= Icon::create('arr_2left', 'clickable')->asImg(['class' => "middle", 'alt' => "Vorherigen Tag anzeigen", 'title' => "Vorherigen Tag anzeigen"]) ?>
                    </a>
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="76%" align="center">
                <b>
                <? printf(_("Wochentag: %s"), htmlReady(strftime('%A', $schedule->base_date)));

                echo '<br>' . htmlReady($this->semester['name']) . ' - ' . date ("d.m.Y", $start_time), " - ", date ("d.m.Y", $end_time);
                ?>
                </b>
                <br>
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="10%" align="center">&nbsp;
                    <a href="<?= URLHelper::getLink('?quick_view='.$this->used_view.'&quick_view_mode='.$view_mode.'&next_day=1') ?>">
                    <?= Icon::create('arr_2right', 'clickable')->asImg(['class' => "middle", 'alt' => _("Nächsten Tag anzeigen"), 'title' => _("Nächsten Tag anzeigen")]) ?>
                </td>
            </tr>
            <tr>
                <td class="<? $cssSw->switchClass(); echo $cssSw->getClass() ?>" width="4%" align="center" valign="bottom">&nbsp;
                <? if ((!$_SESSION['resources_data']["schedule_time_range"]) || ($_SESSION['resources_data']["schedule_time_range"] == 1)): ?>
                    <a href="<?= URLHelper::getLink('', array('quick_view' => $this->used_view,
                                                              'quick_view_mode' => $view_mode,
                                                              'time_range' => $_SESSION['resources_data']['schedule_time_range'] ? 'FALSE' : -1)) ?>">
                           <?= Icon::create('arr_2up', 'clickable', ['title' => _('Frühere Belegungen anzeigen')])->asImg(['class' => 'middle']) ?>
                    </a>
                <? endif; ?>
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="76%" colspan="2">
                    <?

                    if ($_SESSION['resources_data']["show_repeat_mode"] == 'repeated' || $_SESSION['resources_data']["show_repeat_mode"] == 'all'){
                        echo "&nbsp;<font size=-1>"._("Anzahl der regelmäßigen Belegungen in diesem Zeitraum:")." ".$num_rep_events."</font><br>";
                    }
                    if ($_SESSION['resources_data']["show_repeat_mode"] == 'single' || $_SESSION['resources_data']["show_repeat_mode"] == 'all'){
                        echo "&nbsp;<font size=-1>"._("Anzahl der Einzelbelegungen in diesem Zeitraum:")." ".$num_single_events."</font><br>";
                    }
                    ?>
                    &nbsp;
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="20%" nowrap>
                    <?
                    print "<select style=\"font-size:10px;\" name=\"show_repeat_mode\">";
                    printf ("<option style=\"font-size:10px;\" %s value=\"all\">"._("alle Belegungen")."</option>", ($_SESSION['resources_data']["show_repeat_mode"] == "all") ? "selected" : "");
                    printf ("<option %s style=\"font-size:10px;\" value=\"single\">"._("nur Einzeltermine")."</option>", ($_SESSION['resources_data']["show_repeat_mode"] == "single") ? "selected" : "");
                    printf ("<option %s style=\"font-size:10px;\" value=\"repeated\">"._("nur Wiederholungstermine")."</option>", ($_SESSION['resources_data']["show_repeat_mode"] == "repeated") ? "selected" : "");
                    print "</select>";
                    print "&nbsp;".Icon::create('accept', 'accept', ['title' => _('Ansicht umschalten')])->asInput(["type" => "image", "class" => "middle", "name" => "send_schedule_repeat_mode"]);
                    ?>
                </td>
            </tr>
            <tr>
                <td class="<? echo $cssSw->getClass() ?>" width="4%">&nbsp;
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="96%" colspan="3">
                    <?
                    $schedule->showSchedule("html");
                    ?>
                </td>
            </tr>
            <tr>
                <td class="<? echo $cssSw->getClass() ?>" width="4%" align="center" valign="bottom">&nbsp;
                <? if ((!$_SESSION['resources_data']['schedule_time_range']) || ($_SESSION['resources_data']['schedule_time_range'] == -1)): ?>
                    <a href="<?= URLHelper::getLink('', array('quick_view' => $this->used_view,
                                                              'quick_view_mode' => $view_mode,
                                                              'time_range' => $_SESSION['resources_data']['schedule_time_range'] ? 'FALSE' : 1)) ?>">
                           <?= Icon::create('arr_2down', 'clickable', ['title' => _('Frühere Belegungen anzeigen')])->asImg(['class' => 'middle']) ?>
                    </a>
                <? endif; ?>
                </td>
                <td class="<? echo $cssSw->getClass() ?>" width="20%" nowrap colspan="3">
                &nbsp;
                </td>
            </tr>
            <?php
            if (($_SESSION['resources_data']["show_repeat_mode"] == 'single' || $_SESSION['resources_data']["show_repeat_mode"] == 'all') && $num_single_events ){
                ?>
                <tr>
                <td class="<? echo $cssSw->getClass() ?>" width="4%" align="center" valign="bottom">&nbsp;</td>
                <td class="<? echo $cssSw->getClass() ?>" colspan="3">
                <strong><?=_("Einzelbelegungen:")?></strong>
                <br>
                <?php
                $num = 1;
                foreach($single_assigns as $event) {
                    echo LinkButton::create(_('Eigenschaften'), URLHelper::getURL('?show_object='
                        . $event->getResourceId() . '&quick_view=' . $view . '&quick_view_mode=' 
                        . $quick_view_mode . '&edit_assign_object=' . $event->getAssignId()));
                    printf ("&nbsp; <font size=-1>"._("%s ist von <b>%s</b> bis <b>%s</b>, belegt von <b>%s</b>")."</font><br>",'EB'.$num++.': ' . htmlReady(getResourceObjectName($event->getResourceId())), strftime("%A, %d.%m.%Y %H:%M", $event->getBegin()), strftime("%A, %d.%m.%Y %H:%M", $event->getEnd()), $event->getName());
                }
                ?>
                </tr>
                <?php
            }
            ?>
        </table>
        </form>
    <?
        } else {
            ?>
            <table border="0" cellpadding="0" cellspacing="0" width="100%" align="center">
            <tr>
                <td align="center">
                <div style="font-size:150%;font-weight:bold;">
                <?=htmlReady($room_group->getGroupName($this->group_id) . ' - ' . $this->semester['name'])?>
                <br>
                <? printf(_("Wochentag: %s"), htmlReady(strftime('%A', $schedule->base_date))); ?>
                </div>
                <div style="font-size:100%;font-weight:bold;margin-bottom:10px;">
                <?=date ("d.m.Y", $start_time). " - ". date ("d.m.Y", $end_time)?>
                &nbsp;(<?=($this->timespan == 'course_time' ? _("Vorlesungszeit") : _("vorlesungsfreie Zeit"))?>)
                </div>
                </td>
            </tr>
            <tr>
                <td>
                <?
                $schedule->showSchedule("html", true);
                ?>
                </td>
            </tr>
            <?
            if (($_SESSION['resources_data']["show_repeat_mode"] == 'single' || $_SESSION['resources_data']["show_repeat_mode"] == 'all')  && $num_single_events ){
            ?>
            <tr>
                <td>
                <strong>
                <?=_("Einzelbelegungen:")?>
                &nbsp;(<?=strftime("%d.%m.%Y",$a_start_time) . ' - ' . strftime("%d.%m.%Y",$a_end_time)?>)
                </strong>
                <br>
                <?
                $num = 1;
                foreach($single_assigns as $event) {
                    printf ("<font size=-1>"._("%s ist von <b>%s</b> bis <b>%s</b>, belegt von <b>%s</b>")."</font><br>",'EB'.$num++.': ' . htmlReady(getResourceObjectName($event->getResourceId())), strftime("%A, %d.%m.%Y %H:%M", $event->getBegin()), strftime("%A, %d.%m.%Y %H:%M", $event->getEnd()), htmlready($event->getName()));
                }
                ?>
                </td>
            </tr>
            <?}?>
            </table>
            <?
        }
    }
Ejemplo n.º 14
0
/**
* Search Wiki
*
* @param  searchfor  string  String to search for.
* @param  searchcurrentversions  bool  it true, only consider most recent versions or pages
* @param  keyword  string  last shown page or keyword for local (one page) search
* @param keyword bool if localsearch is set, only one page (all versions) is searched
**/
function searchWiki($searchfor, $searchcurrentversions, $keyword, $localsearch) {
    global $SessSemName;
    $range_id=$SessSemName[1];

    $result=NULL;

    // check for invalid search string
    if (strlen($searchfor)<3) {
        $invalid_searchstring=1;
    } else if ($localsearch && !$keyword) {
        $invalid_searchstring=1;
    } else {
        // make search string
        if ($localsearch) {
            $query = "SELECT *
                      FROM wiki
                      WHERE range_id = ? AND body LIKE CONCAT('%', ?, '%') AND keyword = ?
                      ORDER BY version DESC";
            $parameters = array($range_id, $searchfor, $keyword);
//            $q="SELECT * FROM wiki WHERE range_id='$range_id' AND body LIKE '%$searchfori%' AND keyword='$keyword' ORDER BY version DESC";
        } else if (!$searchcurrentversions) {
            // search in all versions of all pages
            $query = "SELECT *
                      FROM wiki
                      WHERE range_id = ? AND body LIKE CONCAT('%', ?, '%')
                      ORDER BY keyword ASC, version DESC";
            $parameters = array($range_id, $searchfor);
//            $q="SELECT * FROM wiki WHERE range_id='$range_id' AND body LIKE '%$searchfori%' ORDER BY keyword ASC, version DESC";
        } else {
            // search only latest versions of all pages
            $query = "SELECT *
                      FROM wiki AS w1
                      WHERE range_id = ? AND w1.body LIKE CONCAT('%', ?, '%') AND version = (
                          SELECT MAX(version)
                          FROM wiki AS w2
                          WHERE w2.range_id =? AND w2.keyword = w1.keyword
                      )
                      ORDER BY w1.keyword ASC";
             $parameters = array($range_id, $searchfor, $range_id);
//            $q="SELECT * FROM wiki AS w1 WHERE range_id='$range_id' AND version=(SELECT MAX(version) FROM wiki AS w2 WHERE w2.range_id='$range_id' AND w2.keyword=w1.keyword) AND w1.body LIKE '%$searchfori%' ORDER BY w1.keyword ASC";
        }
        $statement = DBManager::get()->prepare($query);
        $statement->execute($parameters);
        $results = $statement->fetchAll(PDO::FETCH_ASSOC);
    }

    // quit if no pages found / search string was invalid
    if ($invalid_searchstring || count($results) == 0) {
        if ($invalid_searchstring) {
            $message = MessageBox::error(_('Suchbegriff zu kurz. Geben Sie mindestens drei Zeichen ein.'));
        } else {
            $message = MessageBox::info(sprintf(_("Die Suche nach &raquo;%s&laquo; lieferte keine Treffer."), htmlReady($searchfor)));
        }
        PageLayout::postMessage($message);
        showWikiPage($keyword, NULL);
        return;
    }

    showPageFrameStart();

    // show hits
?>
<table class="default">
    <caption>
        <?= sprintf(_('Treffer für Suche nach %s'), '&raquo;' . htmlReady($searchfor) . '&laquo;') ?>
    <? if ($localsearch): ?>
        <?= sprintf(_('in allen Versionen der Seite %s'), '&raquo;' . htmlReady($keyword) . '&laquo;') ?>
    <? elseif ($searchcurrentversions): ?>
        <?= _('in aktuellen Versionen') ?>
    <? else: ?>
        <?= _('in allen Versionen') ?>
    <? endif; ?>
    </caption>
    <colgroup>
        <col width="10%">
        <col width="65%">
        <col width="25%">
    </colgroup>
    <thead>
        <tr>
            <th><?= _('Seite') ?></th>
            <th><?= _('Treffer') ?></th>
            <th><?= _('Version') ?></th>
        </tr>
    </thead>
    <tbody>
<?php
    $c=1;
    $last_keyword="";
    $last_keyword_count=0;
    foreach ($results as $result) {
        if (!$localsearch) {
            // don't display more than one hit in a page's versions
            // offer link instead
            if ($result['keyword']==$last_keyword) {
                $last_keyword_count++;
                continue;
            } else if ($last_keyword_count>0) {
                print($tdheadleft."&nbsp;".$tdtail);
                if ($last_keyword_count==1) {
                    $hitstring=_("Weitere Treffer in %s älteren Version. Klicken Sie %shier%s, um diese Treffer anzuzeigen.");
                } else {
                    $hitstring=_("Weitere Treffer in %s älteren Versionen. Klicken Sie %shier%s, um diese Treffer anzuzeigen.");
                }
                print($tdheadleft."<em>".sprintf($hitstring,$last_keyword_count,"<b><a href=\"".URLHelper::getLink("?view=search&searchfor=$searchfor&keyword=".urlencode($last_keyword)."&localsearch=1")."\">","</a></b>")."</em>".$tdtail);
                print($tdheadleft."&nbsp;".$tdtail);
                print("</tr>");
            }
            $last_keyword=$result['keyword'];
            $last_keyword_count=0;
        }

        $tdheadleft="<td>";
        $tdheadcenter="<td>";
        $tdtail="</td>";

        print("<tr>");
        // Pagename
        print($tdheadleft);
        print("<a href=\"".URLHelper::getLink("?keyword=".$result['keyword']."&version=".$result['version']."&hilight=$searchfor&searchfor=$searchfor")."\">");
        print($result['keyword']."</a>");
        print($tdtail);
        // display hit previews
        $offset=0; // step through text
        $ignore_next_hits=0; // don't show hits more than once
        $first_line=1; // don't print <br> before first hit
        print($tdheadleft);
        // find all occurences
        while ($offset < strlen($result['body'])) {
            $pos=stripos($result['body'], $searchfor,$offset);
            if ($pos===FALSE) break;
            $offset=$pos+1;
            if (($ignore_next_hits--)>0) {
                // if more than one occurence is found
                // in a fragment to be displayed,
                // the fragment is only shown once
                continue;
            }
            // show max 80 chars
            $fragment = '';
            $split_fragment = preg_split('/('.preg_quote($searchfor,'/').')/i', substr($result['body'],max(0, $pos-40), 80), -1, PREG_SPLIT_DELIM_CAPTURE);
            for ($i = 0; $i < count($split_fragment); ++$i) {
                if ($i % 2) {
                    $fragment .= '<span style="background-color:#FFFF88">';
                    $fragment .= htmlready($split_fragment[$i], false);
                    $fragment .= '</span>';
                } else {
                    $fragment .= htmlready($split_fragment[$i], false);
                }
            }
            $found_in_fragment = (count($split_fragment) - 1) / 2; // number of hits in fragment
            $ignore_next_hits = ($found_in_fragment > 1) ? $found_in_fragment - 1 : 0;
            print("...".$fragment."...");
            print "<br>";
        }
        print($tdtail);
        // version info
        print($tdheadleft);
        print(date("d.m.Y, H:i", $result['chdate'])." ("._("Version")." ".$result['version'].")");
        print($tdtail);
        print "</tr>";

    }

    if (!$localsearch && $last_keyword_count>0) {
        print("<tr>");
        print($tdheadleft."&nbsp;".$tdtail);
        if ($last_keyword_count==1) {
            $hitstring=_("Weitere Treffer in %s älteren Version. Klicken Sie %shier%s, um diese Treffer anzuzeigen.");
        } else {
            $hitstring=_("Weitere Treffer in %s älteren Versionen. Klicken Sie %shier%s, um diese Treffer anzuzeigen.");
        }
        print($tdheadleft."<em>".sprintf($hitstring,$last_keyword_count,"<b><a href=\"".URLHelper::getLink("?view=search&searchfor=$searchfor&keyword=".urlencode($last_keyword)."&localsearch=1")."\">","</a></b>")."</em>".$tdtail);
        print($tdheadleft."&nbsp;".$tdtail);
        print("</tr>");
    }

    echo "</tbody></table><p>&nbsp;</p>";

    // search
    $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::get()->addWidget($widget);

    showPageFrameEnd(array());
}
Ejemplo n.º 15
0
&sem_id=" + seminar_id;
                        };
                    </script>
                    <?php 
print QuickSearch::get("search_sem_quick_search", new SeminarSearch())->setAttributes(array("title" => sprintf(_('Nach Veranstaltungen suchen (%s)'), htmlready($search_semester_name)), "class" => "quicksearchbox"))->fireJSFunctionOnSelect("selectSem")->noSelectbox()->render();
//Komisches Zeugs, das die StmBrowse.class.php braucht:
print '<input type="hidden" name="search_sem_1508068a50572e5faff81c27f7b3a72f" value="1">';
//Ende des komischen Zeugs.
?>
                    <input type="hidden" name="search_sem_sem" value="<?php 
echo $search_semester_nr;
?>
">
                    <input type="hidden" name="search_sem_qs_choose" value="title_lecturer_number">
                    <?php 
echo Icon::create('search', 'info_alt', ['title' => sprintf(_('Nach Veranstaltungen suchen (%s)'), htmlready($search_semester_name))])->asInput(["type" => "image", "class" => "quicksearchbutton", "name" => "search_sem_do_search", "value" => "OK"]);
?>
                </form>
            </li>
        <? endif ?>
        <? if (Navigation::hasItem('/links')): ?>
            <? foreach (Navigation::getItem('/links') as $nav): ?>
                <? if ($nav->isVisible()) : ?>
                    <li <? if ($nav->isActive()) echo 'class="active"'; ?>>
                        <a
                            <? if (is_internal_url($url = $nav->getURL())) : ?>
                                href="<?php 
echo URLHelper::getLink($url);
?>
"
                            <? else: ?>
Ejemplo n.º 16
0
                            </label>
                            <br>

                            <select name="resolve_requests_one_res" style="margin-left:20px;"
                                    onchange="$('input[name=resolve_requests_mode][value=one_res]').prop('checked', true);">
                                <option value=""><?php 
echo _(' -keine Auswahl - ');
?>
</option>
                            <? if (count($rooms)) foreach ($rooms as $room): ?>
                                <option value="<?php 
echo $room['resource_id'];
?>
">
                                    <?php 
echo htmlready($room['name']);
?>
                                <? if ($room['anzahl'] > 0): ?>
                                    (<?php 
echo $room['anzahl'];
?>
)
                                <? endif; ?>
                                </option>
                            <? endforeach; ?>
                            </select>

                        </td>
                        <td width="4%">&nbsp;</td>
                        <td width="48%">
                            <?php 
Ejemplo n.º 17
0
<? use Studip\Button, Studip\LinkButton; ?>

<? if (!Request::isXhr()) : ?>
    <h1><?php 
echo _('Raumanfragen bearbeiten / erstellen');
?>
</h1>
<? endif ?>
<? if ($request) : ?>
    <h2><?php 
echo htmlready($request->getTypeExplained());
?>
</h2>
<? endif ?>
<form method="post" name="room_request"
      action="<?php 
echo $this->controller->link_for('edit/' . $course_id, $params);
?>
"
    <?php 
echo Request::isXhr() ? 'data-dialog="size=big"' : '';
?>
 class="studip-form">
    <?php 
echo CSRFProtection::tokenTag();
?>
    <?php 
echo $this->render_partial('course/room_requests/_form.php');
?>

    <div data-dialog-button>
Ejemplo n.º 18
0
 function getShortName($name, $print_view){
     $out = htmlReady(substr($name, 0,50));
     if (strlen($name)>50) $out.= "...";
     if ($print_view){
         $out = preg_replace('/EB[0-9]+/', '<b>\0</b>', htmlready($name,false,false));
     }
     return nl2br($out);
 }
Ejemplo n.º 19
0
            <a href="<?php 
echo $resObject->getOwnerLink();
?>
"><?php 
echo htmlReady($resObject->getOwnerName());
?>
</a>
            <?php 
echo Icon::create('trash', 'clickable', ['title' => _('den ausgewählten Raum löschen')])->asInput(["type" => "image", "style" => "vertical-align:middle", "name" => "reset_resource_id"]);
?>
            <?php 
echo tooltipIcon(_('Der ausgewählte Raum bietet folgende der wünschbaren Eigenschaften:') . " \n" . $resObject->getPlainProperties(true));
?>
        </p>
        <input type="hidden" name="selected_room" value="<?php 
echo htmlready($request_resource_id);
?>
">
    </section>
<? endif ?>


<section class="times-rooms-grid ">
    <section>
        <h2>
            <?php 
echo _("Raumeigenschaften angeben:");
?>
        </h2>
        <? if ($request->getCategoryId()) : ?>
            <? if (count($room_categories)) : ?>
Ejemplo n.º 20
0
 function update_action()
 {
     CSRFProtection::verifyUnsafeRequest();
     if (Request::submitted('ok')) {
         if (!($rule = $this->ws_rules[Request::int('ws_rule_id')])) {
             $rule = new WebserviceAccessRule();
             $rule->id = 0;
             array_unshift($this->ws_rules, $rule);
         }
         $rule->api_key = trim(Request::get('ws_rule_api_key'));
         $rule->method = trim(Request::get('ws_rule_method'));
         $rule->ip_range = trim(Request::get('ws_rule_ip_range'));
         $rule->type = trim(Request::get('ws_rule_type'));
         $msg = array();
         if (strlen($rule->api_key) < 5) {
             $msg['error'][] = _("Bitte geben Sie einen API-Key mit min. 5 Zeichen an.");
         }
         foreach ($rule->ip_range as $key => $ip) {
             if (!$ip) {
                 unset($rule->ip_range[$key]);
                 continue;
             }
             list($ip_address, $mask) = split('/', $ip);
             if (!ip2long($ip_address) || $mask && ($mask < 8 || $mask > 30)) {
                 $msg['error'][] = sprintf(_("Der IP Bereich %s ist ungültig."), htmlready($ip));
                 unset($rule->ip_range[$key]);
             }
         }
         if (!$rule->method) {
             $msg['info'][] = _("Eine Regel ohne angegebene Methode gilt für alle Methoden!");
         }
         if (!count($rule->ip_range)) {
             $msg['info'][] = _("Eine Regel ohne IP Bereich gilt für alle IP Adressen!");
         }
         if ($msg['error']) {
             PageLayout::postMessage(MessageBox::error(_("Die Regel wurde nicht gespeichert."), $msg['error']));
             $this->edit = $rule->id;
             $this->render_action('index');
             return;
         } else {
             if ($rule->store()) {
                 PageLayout::postMessage(MessageBox::success(_("Die Regel wurde gespeichert."), $msg['info']));
             }
         }
     }
     $this->redirect($this->url_for('admin/webservice_access'));
 }
Ejemplo n.º 21
0
    <?php 
echo CSRFProtection::tokenTag();
?>
    <input type="hidden" name="wiki" value="<?php 
echo htmlReady($keyword);
?>
">
    <input type="hidden" name="version" value="<?php 
echo htmlReady($version);
?>
">
    <input type="hidden" name="submit" value="true">
    <input type="hidden" name="cmd" value="show">

    <textarea name="body" class="wiki-editor add_toolbar wysiwyg resizable"><?php 
echo htmlready($body);
?>
</textarea>
    <br><br>
    <div class="button-group">
        <?php 
echo Studip\Button::createAccept(_('Speichern'));
?>
        <?php 
echo Studip\Button::create(_('Speichern und weiter bearbeiten'), 'submit-and-edit');
?>
    </div>
    <?php 
echo Studip\LinkButton::createCancel(_('Abbrechen'), URLHelper::getURL('?cmd=abortedit' . $lastpage, compact('keyword')));
?>
</form>
Ejemplo n.º 22
0
    function execCommandMarkSem(){
        $item_id = Request::option('item_id');
        $marked_sem_array =  Request::quotedArray('marked_sem');
        $marked_sem = array_values(array_unique($marked_sem_array));
        $sem_aktion = explode("_",Request::quoted('sem_aktion'));
        if (($sem_aktion[0] == 'mark' || $sem_aktion[1] == 'mark') && count($marked_sem)){
            $count_mark = 0;
            for ($i = 0; $i < count($marked_sem); ++$i){
                if (!isset($this->marked_sem[$marked_sem[$i]])){
                    ++$count_mark;
                    $this->marked_sem[$marked_sem[$i]] = true;
                }
            }
            if ($count_mark){
                $this->msg[$item_id] = "msg§" . sprintf(_("Es wurde(n) %s Veranstaltung(en) der Merkliste hinzugefügt."),$count_mark);
            }
        }
        if ($this->isItemAdmin($item_id)){
            if (($sem_aktion[0] == 'del' || $sem_aktion[1] == 'del') && count($marked_sem)){
                $not_deleted = array();
                foreach($marked_sem as $key => $seminar_id){
                    $seminar = new Seminar($seminar_id);
                    if(count($seminar->getStudyAreas()) == 1){
                        $not_deleted[] = $seminar->getName();
                        unset($marked_sem[$key]);
                    }
                }
                if ($this->msg[$item_id]){
                    $this->msg[$item_id] .= "<br>";
                } else {
                    $this->msg[$item_id] = "msg§";
                }
                if(count($marked_sem)){
                    $count_del = $this->tree->DeleteSemEntries($item_id, $marked_sem);
                    $this->msg[$item_id] .= sprintf(_("%s Veranstaltungszuordnung(en) wurde(n) aufgehoben."),$count_del);
                }
                if(count($not_deleted)){
                    $this->msg[$item_id] .= '<br>'
                                         . sprintf(_("Für folgende Veranstaltungen wurde die Zuordnung nicht aufgehoben, da es die einzige Zuordnung ist: %s")
, '<br>'.htmlready(join(', ', $not_deleted)));
                }
            }
            $this->anchor = $item_id;
            $this->open_items[$item_id] = true;
            return true;
        }
        return false;
    }
Ejemplo n.º 23
0
$export_pagecontent .= "</select><br><br><br><br>";

$export_pagecontent .="<b>". _("Aus welchem Semester sollen die Daten exportiert werden (für Veranstaltungsexport): ") .  "</b><br>";
if (!isset($ex_sem)) {
    $ex_sem = (Semester::findCurrent() ? Semester::findCurrent()->getId() : null);
}
$export_pagecontent .= SemesterData::GetSemesterSelector(array('name' => 'ex_sem'), $ex_sem, 'semester_id', true);
$export_pagecontent .= "<br><br>";

$export_pagecontent .="<b>". _("Welche Arten von Veranstaltungen sollen exportiert werden? ") .  "</b><br>";

if (!count($ex_sem_class)) {
    $ex_sem_class[1] = 1;
}

foreach (SeminarCategories::getAll() as $sem_class) {
    if(!$sem_class->studygroup_mode){
        $export_pagecontent .= "<input type=\"checkbox\" name=\"ex_sem_class[$sem_class->id]\" value=\"1\"";
        if (isset($ex_sem_class[$sem_class->id])) $export_pagecontent .= " checked";
        $export_pagecontent .= ">&nbsp;" . htmlready($sem_class->name) . "&nbsp;&nbsp;";
    }
}

$export_pagecontent .= "<input type=\"hidden\" name=\"o_mode\" value=\"choose\">";
$export_pagecontent .= "<input type=\"hidden\" name=\"xslt_filename\" value=\"" . htmlReady($xslt_filename) . "\">";
$export_pagecontent .= "<input type=\"hidden\" name=\"choose\" value=\"" . htmlReady($choose) . "\">";
$export_pagecontent .= "<input type=\"hidden\" name=\"format\" value=\"" . htmlReady($format) . "\">";

$export_weiter_button = "<center>" . Button::create(_('Weiter') . ' >>' ) . "</center></form>";
Ejemplo n.º 24
0
 /**
  * returns a HTML snippet for the info icon if this study area is a module
  * and if there is a compatible plugin available
  *
  * @param string $semester_id
  * @return string
  */
 function getModuleInfoHTML($semester_id = '')
 {
     $ret = '';
     if ($this->isModule() && ($plugin = PluginEngine::getPlugin('StudienmodulManagement'))) {
         $nav = $plugin->getModuleInfoNavigation($this->getID(), $semester_id);
         if ($nav->isVisible(true)) {
             $ret = '<a class="module-info" href="' . URLHelper::getLink($nav->getURL()) . '">';
             $ret .= $nav->getImage()->asImg($nav->getLinkAttributes);
             $ret .= '<span>' . htmlready($nav->getTitle()) . '</span>';
             $ret .= '</a>';
         }
     }
     return $ret;
 }