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; }
/** * 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(" "); $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(" "); $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(" "); $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(" "); $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(" "); $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(" "); $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(); }
<? 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));
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
<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
/** * 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; }
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"); } }
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);
<?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
<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']); ?> ">
<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
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; }
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%"> </td> <td class="<? echo $cssSw->getClass() ?>" width="10%" align="left"> <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"> <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"> <? 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 " <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 " <font size=-1>"._("Anzahl der Einzelbelegungen in diesem Zeitraum:")." ".$num_single_events."</font><br>"; } ?> </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 " ".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%"> </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"> <? 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"> </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"> </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 (" <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)?> (<?=($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:")?> (<?=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> <? } }
/** * 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 »%s« 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'), '»' . htmlReady($searchfor) . '«') ?> <? if ($localsearch): ?> <?= sprintf(_('in allen Versionen der Seite %s'), '»' . htmlReady($keyword) . '«') ?> <? 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." ".$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." ".$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." ".$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." ".$tdtail); print("</tr>"); } echo "</tbody></table><p> </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()); }
&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: ?>
</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%"> </td> <td width="48%"> <?php
<? 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>
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); }
<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)) : ?>
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')); }
<?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>
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; }
$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 .= "> " . htmlready($sem_class->name) . " "; } } $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>";
/** * 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; }