diff options
Diffstat (limited to 'app/views/course')
38 files changed, 338 insertions, 132 deletions
diff --git a/app/views/course/basicdata/view.php b/app/views/course/basicdata/view.php index 9f7b5b3..9438aeb 100644 --- a/app/views/course/basicdata/view.php +++ b/app/views/course/basicdata/view.php @@ -12,19 +12,14 @@ use Studip\Button, Studip\LinkButton; */ $dialog_attr = Request::isXhr() ? ' data-dialog="size=50%"' : ''; - -$message_types = ['msg' => "success", 'error' => "error", 'info' => "info"]; ?> -<? if (is_array($flash['msg'])) foreach ($flash['msg'] as $msg) : ?> - <?= MessageBox::{$message_types[$msg[0]]}($msg[1]) ?> -<? endforeach ?> - <form name="course-details" name="details" method="post" action="<?= $controller->link_for('course/basicdata/set', $course_id) ?>" <?= $dialog_attr ?> class="default collapsable"> <?= CSRFProtection::tokenTag() ?> <input id="open_variable" type="hidden" name="open" value="<?= $flash['open'] ?>"> <?= Studip\Button::createAccept(_('Speichern'), 'store', ['style' => 'display: none;']) ?> - <fieldset <?= isset($flash['open']) && $flash['open'] != 'bd_basicsettings' ? 'class="collapsed"' : ''?> data-open="bd_basicsettings"> + <fieldset <?= isset($flash['open']) && $flash['open'] != 'bd_basicsettings' ? 'class="collapsed"' : ''?> data-open="bd_basicsettings" + aria-expanded="<?= isset($flash['open']) && $flash['open'] === 'bd_basicsettings' ? 'true' : 'false' ?>"> <legend><?= _('Grundeinstellungen') ?></legend> <? if (!$attributes): ?> @@ -55,7 +50,8 @@ $message_types = ['msg' => "success", 'error' => "error", 'info' => "info"]; </label> </fieldset> - <fieldset <?= !isset($flash['open']) || $flash['open'] != 'inset' ? 'class="collapsed"' : ''?> data-open="bd_inst"> + <fieldset <?= !isset($flash['open']) || $flash['open'] != 'inset' ? 'class="collapsed"' : ''?> data-open="bd_inst" + aria-expanded="<?= isset($flash['open']) && $flash['open'] === 'inset' ? 'true' : 'false' ?>"> <legend><?= _('Einrichtungen') ?></legend> <? if (!$institutional): ?> @@ -78,7 +74,8 @@ $message_types = ['msg' => "success", 'error' => "error", 'info' => "info"]; <? endif; ?> </fieldset> - <fieldset <?= !isset($flash['open']) || $flash['open'] != 'bd_personal' ? 'class="collapsed"' : ''?>> + <fieldset <?= !isset($flash['open']) || $flash['open'] != 'bd_personal' ? 'class="collapsed"' : ''?> + aria-expanded="<?= isset($flash['open']) && $flash['open'] === 'bd_personal' ? 'true' : 'false' ?>"> <legend><?= _('Personal') ?></legend> <table class="default"> @@ -293,7 +290,8 @@ $message_types = ['msg' => "success", 'error' => "error", 'info' => "info"]; </tbody> </table> </fieldset> - <fieldset <?= !isset($flash['open']) || $flash['open'] != 'bd_description' ? 'class="collapsed"' : ''?> data-open="bd_description"> + <fieldset <?= !isset($flash['open']) || $flash['open'] != 'bd_description' ? 'class="collapsed"' : ''?> data-open="bd_description" + aria-expanded="<?= isset($flash['open']) && $flash['open'] === 'bd_description' ? 'true' : 'false' ?>"> <legend><?= _('Weitere Angaben') ?></legend> <? if (!$descriptions): ?> diff --git a/app/views/course/cancel_dates/index.php b/app/views/course/cancel_dates/index.php index 3c092bc..4f3e297 100644 --- a/app/views/course/cancel_dates/index.php +++ b/app/views/course/cancel_dates/index.php @@ -20,7 +20,7 @@ <?= _('Benachrichtigung über ausfallende Termine an alle Teilnehmenden verschicken') ?> </label> </fieldset> - <? if ($issue_id) : ?> + <? if (!empty($issue_id)) : ?> <input type="hidden" name="issue_id" value="<?= $issue_id ?>"> <? else : ?> <input type="hidden" name="termin_id" value="<?= $dates[0]->getTerminId() ?>"> diff --git a/app/views/course/contentmodules/info.php b/app/views/course/contentmodules/info.php index 11bf9dc..93d3ad9 100644 --- a/app/views/course/contentmodules/info.php +++ b/app/views/course/contentmodules/info.php @@ -5,27 +5,17 @@ <div class="main_part"> <div class="header"> <div class="image"> - <? - if ($metadata['icon']) { - $icon = $metadata['icon'] instanceof Icon - ? $metadata['icon']->asImagePath() - : Icon::create($plugin->getPluginURL().'/'.$metadata['icon'])->asImagePath(); - } else { - $icon = null; - } - if ($icon && !is_a($icon, 'Icon')) { - $icon = Icon::create($icon); - } - ?> - <? if ($icon) : ?> - <?= $icon->asImg(100) ?> - <? endif ?> + <? if ($metadata['icon']): ?> + <?= $metadata['icon']->copyWithRole(Icon::ROLE_INFO)->asImg(100) ?> + <? endif; ?> </div> <div class="text"> <h1><?= htmlReady($metadata['displayname'] ?? $plugin->getPluginName()) ?></h1> + <? if (!empty($metadata['summary'])): ?> <strong> <?= htmlReady($metadata['summary']) ?> </strong> + <? endif; ?> </div> </div> <div class="content-modules-controls-vue-app" is="ContentModulesControl" module_id="<?= htmlReady($plugin->getPluginId()) ?>"></div> diff --git a/app/views/course/dates/_date_row.php b/app/views/course/dates/_date_row.php index 0246455..b10deac 100644 --- a/app/views/course/dates/_date_row.php +++ b/app/views/course/dates/_date_row.php @@ -1,10 +1,21 @@ <?php +/** + * @var bool $show_raumzeit + * @var bool $has_access + * @var bool $is_next_date + * @var bool $cancelled_dates_locked + * @var Course_DatesController $controller + * @var CourseDate $date + * @var Course $course + */ +?> +<?php $icon = 'date'; $dialog_url = $show_raumzeit ? $controller->url_for('course/dates/details/' . $date->id) : $controller->url_for('course/dates/singledate/' . $date->id); ?> -<tr id="date_<?= $date->id ?>" <? if ($is_next_date) echo 'class="nextdate" title="' . _('Der nächste Termin') . '"'; ?> data-termin-id="<?= htmlReady($date->id) ?>"> +<tr id="date_<?= $date->id ?>" <? if (!empty($is_next_date)) echo 'class="nextdate" title="' . _('Der nächste Termin') . '"'; ?> data-termin-id="<?= htmlReady($date->id) ?>"> <td data-sort-value="<?= htmlReady($date->date) ?>" class="date_name"> <a href="<?= $dialog_url ?>" data-dialog> <?= Icon::create($icon)->asImg(['class' => 'text-bottom']) ?> @@ -30,7 +41,11 @@ $dialog_url = $show_raumzeit <? if (count($date->statusgruppen) > 0) : ?> <ul class="clean"> <? foreach ($date->statusgruppen as $statusgruppe) : ?> - <li><?= htmlReady($statusgruppe->name) ?></li> + <li> + <a href="<?= $controller->link_for('course/statusgroups/details', $statusgruppe) ?>" data-dialog="size=default"> + <?= htmlReady($statusgruppe->name) ?> + </a> + </li> <? endforeach ?> </ul> <? else : ?> diff --git a/app/views/course/details/index.php b/app/views/course/details/index.php index eb7da10..545454a 100644 --- a/app/views/course/details/index.php +++ b/app/views/course/details/index.php @@ -496,7 +496,7 @@ if (!empty($mvv_tree)) : ?> </article> <? endif ?> -<? foreach (PluginManager::getInstance()->getPlugins('DetailspagePlugin') as $plugin) : ?> +<? foreach (PluginManager::getInstance()->getPlugins(DetailspagePlugin::class) as $plugin) : ?> <? $template = $plugin->getDetailspageTemplate($course) ?> <? if ($template) : ?> <article class="studip"> diff --git a/app/views/course/enrolment/_priocourses.php b/app/views/course/enrolment/_priocourses.php index 749a19c..a1e1bce 100644 --- a/app/views/course/enrolment/_priocourses.php +++ b/app/views/course/enrolment/_priocourses.php @@ -36,15 +36,15 @@ asort($user_prio); <? endif; ?> <p class="hidden-medium-down"> - <?= _('Ziehen Sie die in Frage kommenden Veranstaltungen auf die rechte Seite ' + <?= _('Ziehen Sie die in Frage kommenden Veranstaltungen in den Bereich für ausgewählte Veranstaltungen ' . 'und ordnen Sie sie dort in der Reihenfolge der von Ihnen gewünschten ' - . 'Priorität an. Sie können mehr Veranstaltungen nach rechts ziehen als Sie ' + . 'Priorität an. Sie können mehr Veranstaltungen ziehen als Sie ' . 'tatsächlich belegen wollen.') ?> </p> <p class="hidden-medium-up"> - <?= _('Sortieren Sie die in Frage kommenden Veranstaltungen auf die rechte Seite ' + <?= _('Sortieren Sie die in Frage kommenden Veranstaltungen im Bereich für ausgewählte Veranstaltungen ' . 'und ordnen Sie sie dort in der Reihenfolge der von Ihnen gewünschten ' - . 'Priorität an. Sie können mehr Veranstaltungen nach rechts zuweisen als Sie ' + . 'Priorität an. Sie können mehr Veranstaltungen zuweisen als Sie ' . 'tatsächlich belegen wollen.') ?> </p> @@ -79,7 +79,7 @@ asort($user_prio); <ul id="selected-courses"> <li class="empty"> <span class="hidden-medium-up"> - <?= _('Die gewünschten Veranstaltungen links auswählen') ?> + <?= _('Die gewünschten Veranstaltungen aus der Liste der verfügbaren Veranstaltungen auswählen') ?> </span> <span class="hidden-medium-down"> <?= _('Gewünschte Veranstaltungen hierhin ziehen') ?> diff --git a/app/views/course/forum/area/add.php b/app/views/course/forum/area/add.php index 881c122..1449a5d 100644 --- a/app/views/course/forum/area/add.php +++ b/app/views/course/forum/area/add.php @@ -7,7 +7,7 @@ <? else : ?> <? $num_postings = ForumVisit::getCount($entry['topic_id'], $visitdate) ?> <?= Icon::create('forum', $num_postings > 0 ? Icon::ROLE_ATTENTION : Icon::ROLE_INFO)->asImg([ - 'title' => ForumHelpers::getVisitText($num_postings, $entry['topic_id'], $constraint['depth']), + 'title' => ForumHelpers::getVisitText($num_postings, $entry['topic_id']), ]) ?> <? endif ?> </td> @@ -36,7 +36,7 @@ </td> <td class="postings"> - <?= number_format(max($entry['num_postings'] - 1, 0), 0, ',', '.') ?> + <?= number_format(max(($entry['num_postings'] ?? 0) - 1, 0), 0, ',', '.') ?> </td> <td class="answer hidden-tiny-down"> diff --git a/app/views/course/forum/index/_areas.php b/app/views/course/forum/index/_areas.php index 11f32be..4f4fa0f 100644 --- a/app/views/course/forum/index/_areas.php +++ b/app/views/course/forum/index/_areas.php @@ -46,17 +46,18 @@ <col> <col> <col class="hidden-tiny-down"> - <col> + <col style="width: 20px"> </colgroup> <thead> <tr> - <th colspan="2"> <?= _('Name des Bereichs') ?></th> + <th></th> + <th> <?= _('Name des Bereichs') ?></th> <th data-type="answers"><?= _("Beiträge") ?></th> <th data-type="last_posting" class="hidden-tiny-down"> <?= _("letzte Antwort") ?> </th> - <th></th> + <th> <?= _('Aktionen') ?> </th> </tr> </thead> diff --git a/app/views/course/forum/index/_last_post.php b/app/views/course/forum/index/_last_post.php index 3532d40..b5d854a 100644 --- a/app/views/course/forum/index/_last_post.php +++ b/app/views/course/forum/index/_last_post.php @@ -1,4 +1,4 @@ -<? if (is_array($entry['last_posting']) && count($entry['last_posting'])) : ?> +<? if (!empty($entry['last_posting']) && is_array($entry['last_posting'])) : ?> <?= _('von') ?> <? if (!empty($entry['last_posting']['anonymous'])): ?> <?= _('Anonym') ?> diff --git a/app/views/course/forum/index/_post.php b/app/views/course/forum/index/_post.php index 7b6aaa0..192a414 100644 --- a/app/views/course/forum/index/_post.php +++ b/app/views/course/forum/index/_post.php @@ -91,7 +91,7 @@ <span data-show-topic="<?= $post['topic_id'] ?>" data-topic-content="<?= $post['topic_id'] ?>" <?= $edit_posting != $post['topic_id'] ? '' : 'style="display: none;"' ?>> <?= ForumHelpers::highlight($post['content'], $highlight) ?> - <?= OpenGraph::extract(formatReady(ForumEntry::removeQuotes($post['content_raw'])))->render() ?> + <?= OpenGraph::extract(ForumEntry::removeQuotes($post['content_raw']))->render() ?> </span> </div> diff --git a/app/views/course/lvgselector/form.php b/app/views/course/lvgselector/form.php index 86e2af9..a1ae506 100644 --- a/app/views/course/lvgselector/form.php +++ b/app/views/course/lvgselector/form.php @@ -48,12 +48,12 @@ <em><?= sprintf(_("Der Suchbegriff '%s' lieferte kein Ergebnis."), htmlReady($selection->getSearchKey())) ?></em> <? else : ?> <h3><?= _('Suchergebnisse') ?>:</h3> - <? TextHelper::reset_cycle(); $show_path = TRUE; $show_link = FALSE; ?> + <? $show_path = TRUE; $show_link = FALSE; ?> <? foreach ($selection->getSearchResult() as $area) : ?> <? // MVV: show LvGruppen with complete trails only ?> <? $pathes = ModuleManagementModelTreeItem::getPathes($area->getTrails(['Modulteil', 'StgteilabschnittModul', 'StgteilAbschnitt', 'StgteilVersion', 'Studiengang'])); ?> <? if (count($pathes)) : ?> - <div class="<?= TextHelper::cycle('odd', 'even') ?>"> + <div> <?= $this->render_partial('course/lvgselector/entry', compact('area', 'show_path', 'show_link', 'pathes')); ?> </div> <? endif; ?> diff --git a/app/views/course/lvgselector/subtree.php b/app/views/course/lvgselector/subtree.php index f61463f..b8e05d4 100644 --- a/app/views/course/lvgselector/subtree.php +++ b/app/views/course/lvgselector/subtree.php @@ -8,7 +8,7 @@ $has_children = $child->hasChildren(); ?> - <div class="<?= TextHelper::cycle('odd', 'even') ?>"> + <div> <?= $this->render_partial('course/lvgselector/entry', ['area' => $child, 'show_link' => $has_children]) ?> diff --git a/app/views/course/members/accepted_list.php b/app/views/course/members/accepted_list.php index 7b34ef3..39cdca7 100644 --- a/app/views/course/members/accepted_list.php +++ b/app/views/course/members/accepted_list.php @@ -39,7 +39,7 @@ type="checkbox" name="all" value="1" data-proxyfor=":checkbox[name^=accepted]"> </th> <? endif ?> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <?if ($sort_by === 'nachname' && $sort_status === 'accepted') printf('class="sort%s"', $order); ?>> <? $order = $sort_status !== 'accepted' ? 'desc' : $order; ?> <a href="<?= URLHelper::getLink(sprintf( @@ -153,7 +153,7 @@ <tfoot> <tr> <td class="printhead" colspan="6"> - <select name="action_accepted" id="action_accepted" aria-label="<?= _('Aktion ausführen') ?>"> + <select name="action_accepted" id="action_accepted" aria-label="<?= _('Aktion wählen') ?>"> <option value="">- <?= _('Aktion wählen') ?></option> <option value="upgrade"><?= _('Akzeptieren') ?></option> <option value="remove"><?= _('Austragen') ?></option> diff --git a/app/views/course/members/autor_list.php b/app/views/course/members/autor_list.php index 0464d47..31ed8fa 100644 --- a/app/views/course/members/autor_list.php +++ b/app/views/course/members/autor_list.php @@ -48,7 +48,7 @@ type="checkbox" name="all" value="1" data-proxyfor=":checkbox[name^=autor]"> </th> <? endif ?> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <? if ($sort_by === 'nachname' && $sort_status === 'autor') printf('class="sort%s"', $order); ?>> <? $order = $sort_status !== 'autor' ? 'desc' : $order; ?> <a href="<?= URLHelper::getLink(sprintf( @@ -183,8 +183,8 @@ <tfoot> <tr> <td colspan="<?= $cols_foot ?>"> - <select name="action_autor" id="action_autor" aria-label="<?= _('Aktion ausführen') ?>"> - <option value="">- <?= _('Aktion wählen') ?></option> + <select name="action_autor" id="action_autor" aria-label="<?= _('Aktion auswählen') ?>"> + <option value="">- <?= _('Aktion auswählen') ?></option> <? if($is_dozent) : ?> <option value="upgrade"> <?= sprintf(_('Zu %s hochstufen'), htmlReady($status_groups['tutor'])) ?> diff --git a/app/views/course/members/awaiting_list.php b/app/views/course/members/awaiting_list.php index b8c1e08..c57bd2d 100644 --- a/app/views/course/members/awaiting_list.php +++ b/app/views/course/members/awaiting_list.php @@ -36,7 +36,7 @@ data-activates="#action_awaiting,button[name='submit_awaiting']"> </th> <? endif ?> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <? if ($sort_by === 'nachname' && $sort_status === $waiting_type) printf('class="sort%s"', $order); ?>> <a href="<?= URLHelper::getLink(sprintf( "?sortby=nachname&sort_status={$waiting_type}&order=%s&toggle=%s#awaiting", @@ -139,8 +139,8 @@ <tfoot> <tr> <td colspan="6"> - <select name="action_awaiting" id="action_awaiting" aria-label="<?= _('Aktion ausführen') ?>"> - <option value="">- <?= _('Aktion wählen') ?></option> + <select name="action_awaiting" id="action_awaiting" aria-label="<?= _('Aktion auswählen') ?>"> + <option value="">- <?= _('Aktion auswählen') ?></option> <option value="upgrade_autor"> <?= sprintf(_('Zu %s hochstufen'), htmlReady($status_groups['autor'])) ?> </option> diff --git a/app/views/course/members/dozent_list.php b/app/views/course/members/dozent_list.php index 9b11d07..a2bae4e 100644 --- a/app/views/course/members/dozent_list.php +++ b/app/views/course/members/dozent_list.php @@ -25,7 +25,7 @@ </colgroup> <thead> <tr class="sortable"> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <? if ($sort_by === 'nachname' && $sort_status === 'dozent') printf('class="sort%s"', $order); ?>> <? $order = $sort_status !== 'dozent' ? 'desc' : $order; ?> <a href="<?= URLHelper::getLink(sprintf( diff --git a/app/views/course/members/tutor_list.php b/app/views/course/members/tutor_list.php index 6af208c..350d83d 100644 --- a/app/views/course/members/tutor_list.php +++ b/app/views/course/members/tutor_list.php @@ -43,7 +43,7 @@ type="checkbox" name="all" value="1" data-proxyfor=":checkbox[name^=tutor]"> </th> <? endif ?> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <? if ($sort_by === 'nachname' && $sort_status === 'tutor') printf('class="sort%s"', $order); ?>> <? $order = $sort_status !== 'tutor' ? 'desc' : $order; ?> <a href="<?= URLHelper::getLink(sprintf( @@ -163,7 +163,7 @@ <tfoot> <tr> <td colspan="6"> - <select name="action_tutor" id="tutor_action" aria-label="<?= _('Aktion ausführen') ?>"> + <select name="action_tutor" id="tutor_action" aria-label="<?= _('Aktion auswählen') ?>"> <option value="">- <?= _('Aktion auswählen') ?></option> <option value="downgrade"><?= sprintf(_('Zu %s herunterstufen'), htmlReady($status_groups['autor'])) ?></option> <option value="remove"><?= _('Austragen') ?></option> diff --git a/app/views/course/members/user_list.php b/app/views/course/members/user_list.php index 9b2acea..21409b5 100644 --- a/app/views/course/members/user_list.php +++ b/app/views/course/members/user_list.php @@ -43,7 +43,7 @@ type="checkbox" name="all" value="1" data-proxyfor=":checkbox[name^=user]"> </th> <? endif ?> - <th></th> + <th><p class="sr-only"><?= _('Nummer') ?></p></th> <th <? if ($sort_by === 'nachname' && $sort_status === 'user') printf('class="sort%s"', $order); ?>> <? $order = $sort_status !== 'user' ? 'desc' : $order; ?> <a href="<?= URLHelper::getLink(sprintf( @@ -154,7 +154,7 @@ <tfoot> <tr> <td colspan="6"> - <select name="action_user" id="user_action" aria-label="<?= _('Aktion ausführen') ?>"> + <select name="action_user" id="user_action" aria-label="<?= _('Aktion auswählen') ?>"> <option value="">- <?= _('Aktion auswählen') ?></option> <option value="upgrade"> <?= sprintf(_('Zu %s hochstufen'), htmlReady($status_groups['autor'])) ?> diff --git a/app/views/course/overview/index.php b/app/views/course/overview/index.php index 39d801d..b238740 100644 --- a/app/views/course/overview/index.php +++ b/app/views/course/overview/index.php @@ -64,11 +64,6 @@ if (!empty($dates)) { echo $dates; } -// Anzeige von Umfragen -if (!empty($evaluations)) { - echo $evaluations; -} - if (!empty($questionnaires)) { echo $questionnaires; } @@ -81,7 +76,7 @@ if (!empty($plugins)) { $template = $plugin->getInfoTemplate($course_id); if ($template) { - echo $template->render(null, $layout); + echo $template->render(layout: $layout); $layout->clear_attributes(); } } diff --git a/app/views/course/room_requests/_new_request_form_footer.php b/app/views/course/room_requests/_new_request_form_footer.php index 4b84790..0d50467 100644 --- a/app/views/course/room_requests/_new_request_form_footer.php +++ b/app/views/course/room_requests/_new_request_form_footer.php @@ -16,13 +16,21 @@ <? endif ?> <? if ($step === 1 || $step === 2) : ?> - <? if ($_SESSION[$request_id]['search_by'] !== 'category') : ?> - <? \Studip\Button::create(_('Raum auswählen'), 'select_room') ?> + <? if ( + !isset($_SESSION[$request_id]['search_by']) + || $_SESSION[$request_id]['search_by'] !== 'category' + ) : ?> + <? \Studip\Button::create(_('Raum auswählen'), 'select_room') ?> <? endif ?> <? endif ?> - <? if (($step === 1 && $_SESSION[$request_id]['room_category_id'] !== '0') - || $step === 2) : ?> + <? if ( + ( + $step === 1 + && !empty($_SESSION[$request_id]['room_category_id']) + ) + || $step === 2 + ) : ?> <?= \Studip\Button::create(_('Weiter'), 'show_summary') ?> <? endif ?> diff --git a/app/views/course/room_requests/request_find_matching_rooms.php b/app/views/course/room_requests/request_find_matching_rooms.php index 01f42a4..ce24e0f 100644 --- a/app/views/course/room_requests/request_find_matching_rooms.php +++ b/app/views/course/room_requests/request_find_matching_rooms.php @@ -41,7 +41,7 @@ ] ) ?> - <? if ($category) : ?> + <? if (!empty($category)) : ?> <?= Icon::create('decline')->asInput( [ 'title' => _('alle Angaben zurücksetzen'), @@ -85,7 +85,7 @@ <label> <?= _('Raumname') ?> <span class="flex-row"> - <input type="text" name="room_name" value="<?= htmlReady($_SESSION[$request_id]['room_name']) ?>"> + <input type="text" name="room_name" value="<?= htmlReady($_SESSION[$request_id]['room_name'] ?? '') ?>"> <?= Icon::create('search')->asInput( [ 'title' => _('Räume suchen'), @@ -107,7 +107,7 @@ <input type="radio" name="selected_room_id" data-activates="button[type='submit'][name='select_room']" value="<?= htmlReady($room->id) ?>" - <? if ($_SESSION[$request_id]['room_id'] === $room->id) echo 'checked' ?>> + <? if (isset($_SESSION[$request_id]['room_id']) && $_SESSION[$request_id]['room_id'] === $room->id) echo 'checked' ?>> <?= htmlReady(mila($room->name, 60)) . ' (' . $room['category']->name . ')'?> <? if ($room->properties): ?> <? $property_names = $room->getInfolabelProperties() diff --git a/app/views/course/statusgroups/batch_action.php b/app/views/course/statusgroups/batch_action.php index 10bec38..5600d3a 100644 --- a/app/views/course/statusgroups/batch_action.php +++ b/app/views/course/statusgroups/batch_action.php @@ -1,26 +1,26 @@ <?php - if ($edit_size) { + if (!empty($edit_size)) { echo $this->render_partial('course/statusgroups/_edit_groups_size', compact('groups')); - } elseif ($edit_selfassign) { + } elseif (!empty($edit_selfassign)) { echo $this->render_partial('course/statusgroups/_edit_groups_selfassign', compact('groups')); - } elseif ($askdelete) { + } elseif (!empty($askdelete)) { echo $this->render_partial('course/statusgroups/_askdelete_groups', compact('groups')); - } elseif ($movemembers) { + } elseif (!empty($movemembers)) { echo $this->render_partial( 'course/statusgroups/_move_members', compact('target_groups', 'members', 'source_group') ); - } elseif ($copymembers) { + } elseif (!empty($copymembers)) { echo $this->render_partial( 'course/statusgroups/_copy_members', compact('target_groups', 'members', 'source_group') ); - } elseif ($deletemembers) { + } elseif (!empty($deletemembers)) { echo $this->render_partial( 'course/statusgroups/_askdelete_members', compact('members', 'source_group') ); - } elseif ($cancelmembers) { + } elseif (!empty($cancelmembers)) { echo $this->render_partial( 'course/statusgroups/_askcancel_members', compact('members') diff --git a/app/views/course/statusgroups/details.php b/app/views/course/statusgroups/details.php new file mode 100644 index 0000000..db80777 --- /dev/null +++ b/app/views/course/statusgroups/details.php @@ -0,0 +1,30 @@ +<?php +/** + * @var Statusgruppen $group + */ +?> +<table class="default"> + <caption class="hide-in-dialog"> + <?= sprintf(_('Gruppe %s'), htmlReady($group->name)) ?> + </caption> + <colgroup> + <col style="width: 32px"> + <col> + </colgroup> + <tbody> + <? foreach ($group->members as $member): ?> + <tr> + <td> + <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $member->user->username], true) ?>"> + <?= $member->avatar() ?> + </a> + </td> + <td> + <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $member->user->username], true) ?>"> + <?= htmlReady($member->user->getFullname()) ?> + </a> + </td> + </tr> + <? endforeach; ?> + </tbody> +</table> diff --git a/app/views/course/timesrooms/_cycleRow.php b/app/views/course/timesrooms/_cycleRow.php index 71a5085..5a5f60b 100644 --- a/app/views/course/timesrooms/_cycleRow.php +++ b/app/views/course/timesrooms/_cycleRow.php @@ -82,8 +82,8 @@ $is_exTermin = $termin instanceof CourseExDate; <?= $room_holiday ?: '' ?> <? endif ?> - <? $room_request_exists = RoomRequest::existsByDate($termin->id, true) ?> - <? if ($room_request_exists): ?> + <? $room_request = RoomRequest::findByDate($termin->id) ?> + <? if ($room_request && $room_request->closed == ResourceRequest::STATE_OPEN): ?> <? $msg_info = _('Für diesen Termin existiert eine Raumanfrage.') ?> <?= tooltipIcon($msg_info) ?> <? endif ?> @@ -123,9 +123,33 @@ $is_exTermin = $termin instanceof CourseExDate; <? $actionMenu->addLink( $controller->url_for('course/timesrooms/editDate/' . $termin->id, $linkAttributes), _('Termin bearbeiten'), - Icon::create('edit', Icon::ROLE_CLICKABLE, ['title' => _('Diesen Termin bearbeiten')]), + Icon::create('edit'), ['data-dialog' => ''] ) ?> + <? $actionMenu + ->conditionAll(Config::get()->RESOURCES_ENABLE && Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS) + ->condition((bool) $room_request) + ->addLink( + $controller->url_for( + 'course/room_requests/request_show_summary', + $room_request + ), + _('Raumanfrage bearbeiten'), + Icon::create('room-occupied'), + ['data-dialog' => 'size=big'] + ) + ->condition(!$room_request) + ->addLink( + $controller->url_for( + 'course/room_requests/new_request', + ['range_str' => 'date', 'range_id' => $termin->id] + ), + _('Neue Raumanfrage'), + Icon::create('room-request'), + ['data-dialog' => 'size=big'] + ) + ->conditionAll(true) + ?> <? $actionMenu->addLink( $controller->url_for( diff --git a/app/views/course/timesrooms/_roomRequest.php b/app/views/course/timesrooms/_roomRequest.php index 989fccb..ffa72b0 100644 --- a/app/views/course/timesrooms/_roomRequest.php +++ b/app/views/course/timesrooms/_roomRequest.php @@ -93,8 +93,7 @@ ), _('Diese Anfrage selbst auflösen'), Icon::create('admin'), - ['title' => _('Diese Anfrage selbst auflösen')], - ['data-dialog' => '1'] + ['title' => _('Diese Anfrage selbst auflösen'), 'data-dialog' => ''] ) ?> <? endif ?> <? $actionMenu->addLink( diff --git a/app/views/course/timesrooms/editDate.php b/app/views/course/timesrooms/editDate.php index c4bd405..3fbae99 100644 --- a/app/views/course/timesrooms/editDate.php +++ b/app/views/course/timesrooms/editDate.php @@ -1,3 +1,18 @@ +<?php +/** + * @var Course_TimesroomsController $controller + * @var CourseDate $date + * @var Room[] $selectable_rooms + * @var QuickSearch|null $room_search + * @var bool $only_bookable_rooms + * @var int $preparation_time + * @var int $max_preparation_time + * @var CourseMember[] $teachers + * @var User[] $assigned_teachers + * @var Statusgruppen[] $groups + * @var Statusgruppen[] $assigned_groups + */ +?> <form action="<?= $controller->link_for('course/timesrooms/saveDate/' . $date->termin_id) ?>" method="post" class="default collapsable" <?= Request::int('fromDialog') ? 'data-dialog="size=big"' : '' ?>> <?= CSRFProtection::tokenTag() ?> @@ -177,7 +192,7 @@ <ul> <? foreach ($assigned_groups as $group) : ?> <li data-selection-id="<?= htmlReady($group->id) ?>"> - <input type="hidden" name="assigned_groups[]" + <input type="hidden" name="assigned-groups[]" value="<?= htmlReady($group->id) ?>"> <span class="studip-selection-label"> @@ -223,21 +238,5 @@ ), ['data-dialog' => 'size=big']) ?> <? endif ?> - <? if (Request::isXhr() && !$locked && Config::get()->RESOURCES_ENABLE && Config::get()->RESOURCES_ALLOW_ROOM_REQUESTS): ?> - <? ?> - <?= Studip\LinkButton::create( - (isset($request_id) ? _('Zur Raumanfrage wechseln') : _('Raumanfrage erstellen')), - ( - isset($request_id) - ? $controller->url_for( - 'course/room_requests/request_show_summary/' . $request_id - ) - : $controller->url_for( - 'course/room_requests/new_request/' . $request_id, - array_merge($params, ['range_str' => 'date', 'range_id' => $date->id]) - ) - ), - ['data-dialog' => 'size=big']) ?> - <? endif ?> </footer> </form> diff --git a/app/views/course/wiki/ask_deleting.php b/app/views/course/wiki/ask_deleting.php new file mode 100644 index 0000000..5afd19f --- /dev/null +++ b/app/views/course/wiki/ask_deleting.php @@ -0,0 +1,31 @@ +<form action="" method="post"> + <?= CSRFProtection::tokenTag() ?> + <div class="file_select_possibilities"> + <div> + <div class="clickable"> + <?= Icon::create('archive2')->asInput(50, [ + 'formaction' => $controller->deleteversionURL($page, ['redirect_to' => 'page']), + 'data-confirm' => _('Wirklich die letzte Änderung löschen?') + ]) ?> + <button + class="undecorated" + data-confirm="<?= _('Wirklich die letzte Änderung löschen?') ?>" + formaction="<?= $controller->deleteversionURL($page, ['redirect_to' => 'page']) ?>"> + <?= _('Nur die letzte Änderung löschen') ?> + </button> + </div> + <div class="clickable"> + <?= Icon::create('wiki')->asInput(50, [ + 'formaction' => $controller->deleteURL($page), + 'data-confirm' => _('Wollen Sie wirklich die komplette Seite löschen?') + ]) ?> + <button + class="undecorated" + data-confirm="<?= _('Wollen Sie wirklich die komplette Seite löschen?') ?>" + formaction="<?= $controller->deleteURL($page) ?>"> + <?= _('Ganze Wikiseite löschen') ?> + </button> + </div> + </div> + </div> +</form> diff --git a/app/views/course/wiki/history.php b/app/views/course/wiki/history.php index 81fde59..cbd324d 100644 --- a/app/views/course/wiki/history.php +++ b/app/views/course/wiki/history.php @@ -45,6 +45,16 @@ <a href="<?= $controller->versiondiff($page) ?>" data-dialog> <?= Icon::create('log')->asImg(['class' => 'text-bottom']) ?> </a> + <? if ($page->isEditable()) : ?> + <form action="<?= $controller->deleteversion($page) ?>" + method="post" + class="inline" + title="<?= _('Version löschen') ?>" + data-confirm="<?= _('Wirklich diese Version löschen?') ?>"> + <?= CSRFProtection::tokenTag() ?> + <?= Icon::create('trash')->asInput() ?> + </form> + <? endif ?> </td> </tr> <? foreach ($page->versions as $i => $version) : ?> @@ -69,6 +79,16 @@ <a href="<?= $controller->versiondiff($page, $version->id) ?>" data-dialog> <?= Icon::create('log')->asImg(['class' => 'text-bottom']) ?> </a> + <? if ($page->isEditable()) : ?> + <form action="<?= $controller->deleteversion($page, $version->id) ?>" + method="post" + class="inline" + title="<?= _('Version löschen') ?>" + data-confirm="<?= _('Wirklich diese Version löschen?') ?>"> + <?= CSRFProtection::tokenTag() ?> + <?= Icon::create('trash')->asInput() ?> + </form> + <? endif ?> </td> </tr> <? endforeach ?> diff --git a/app/views/course/wiki/newpages.php b/app/views/course/wiki/newpages.php index d9e0dce..99e0f29 100644 --- a/app/views/course/wiki/newpages.php +++ b/app/views/course/wiki/newpages.php @@ -55,36 +55,41 @@ <td> <? $authors = [$page->user_id => $page->user]; + $versions = [$page]; $oldcontent = ""; $oldversion = $page; while ($oldversion = $oldversion->predecessor) { if ($oldversion->mkdate >= $last_visit && $oldversion->user_id !== User::findCurrent()->id) { $oldcontent = $oldversion->content; if (!isset($authors[$oldversion->user_id])) { + $versions[] = $oldversion; $authors[$oldversion->user_id] = $oldversion->user; } } else { break; } } + if ($oldversion) { + $oldcontent = $oldversion->content; + } $oldcontent = strip_tags(wikiReady($oldcontent)); $content = strip_tags(wikiReady($page->content)); $commonFromStart = $controller->findLongestCommonSubstring($content, $oldcontent); $commonFromEnd = $controller->findLongestCommonSubstring($content, $oldcontent, true); - $content = mb_substr($content, $commonFromStart, $commonFromEnd); - $oldcontent = mb_substr($oldcontent, $commonFromStart, $commonFromEnd); + $oldcontent = mb_substr($oldcontent, $commonFromStart, mb_strlen($oldcontent) - mb_strlen($content)); + $content = mb_substr($content, $commonFromStart, $commonFromEnd - $commonFromStart); if ($content) { echo htmlReady(mila($content, 300), true, true); } elseif ($oldcontent) { - echo _('Gelöscht') . ': ' . htmlReady($oldcontent, true, true); + echo _('Gelöscht') . ': ' . htmlReady(mila($oldcontent, 300), true, true); } ?> </td> <td> <ul class="wiki_authors"> - <? foreach ($authors as $user) : ?> + <? foreach ($authors as $user_id => $user) : ?> <li> <? if ($user): ?> <a href="<?= URLHelper::getLink('dispatch.php/profile', ['username' => $user->username]) ?>" @@ -95,6 +100,15 @@ <? else: ?> <?= _('unbekannt') ?> <? endif; ?> + <? foreach ($versions as $version) : ?> + <? if ($version->user_id === $user_id) : ?> + <a href="<?= $controller->versiondiff($page, is_a($version, 'WikiVersion') ? $version->id : null) ?>" + title="<?= _('Einzelne Änderung anzeigen') ?>" + data-dialog> + <?= Icon::create('log')->asImg(['class' => 'text-bottom']) ?> + </a> + <? endif ?> + <? endforeach ?> </li> <? endforeach ?> </ul> diff --git a/app/views/course/wiki/search.php b/app/views/course/wiki/search.php index 27811eb..8ef886a 100644 --- a/app/views/course/wiki/search.php +++ b/app/views/course/wiki/search.php @@ -10,7 +10,7 @@ <table class="default"> <caption> - <?= sprintf(_('Treffer für Suche nach <em>%s</em> in allen Versionen'), htmlReady(Request::get('search'))) ?> + <?= sprintf(_('Treffer für Suche nach <em>%s</em>'), htmlReady(Request::get('search'))) ?> </caption> <thead> <tr> @@ -45,6 +45,7 @@ <td> <? $content = Studip\Markup::removeHtml($content); + $ignore_next_hits = 0; $offset = 0; $output = []; @@ -55,7 +56,7 @@ break; } $offset = $pos + 1; - if (($ignore_next_hits--) > 0) { + if ($ignore_next_hits-- > 0) { // if more than one occurence is found // in a fragment to be displayed, // the fragment is only shown once @@ -95,6 +96,20 @@ <? endif ?> </td> </tr> + <? if ($pagedata['is_in_history'] && count($pagedata['versions']) > 1 || ($pagedata['is_in_content'] && count($pagedata['versions']) > 0)) : ?> + <tr> + <td colspan="3"> + <a href="<?= $controller->searchpage($page_id, ['search' => Request::get('search')]) ?>"> + <?= Icon::create('add')->asImg(['class' => 'text-bottom']) ?> + <? if (count($pagedata['versions']) === 1) : ?> + <?= _('Weiterer Treffer in einer älteren Version.') ?> + <? else : ?> + <?= sprintf(_('Weitere Treffer in %d älteren Versionen.'), count($pagedata['versions'])) ?> + <? endif ?> + </a> + </td> + </tr> + <? endif ?> <? endforeach ?> </tbody> </table> diff --git a/app/views/course/wiki/searchpage.php b/app/views/course/wiki/searchpage.php new file mode 100644 index 0000000..95b6ff4 --- /dev/null +++ b/app/views/course/wiki/searchpage.php @@ -0,0 +1,48 @@ +<table class="default"> + <caption> + <?= sprintf(_('Treffer für Suche nach <em>%s</em> auf Seite %s'), htmlReady(Request::get('search')), htmlReady($page->name)) ?> + </caption> + <thead> + <tr> + <th><?= _('Seite') ?></th> + <th><?= _('Treffer') ?></th> + <th><?= _('Datum') ?></th> + </tr> + </thead> + <tbody> + <? $pos_name = mb_stripos($page->name, Request::get('search')) ?> + <? $pos_content = mb_stripos($page->content, Request::get('search')) ?> + <? if ($pos_name !== false || $pos_content !== false) : ?> + <tr> + <td> + <a href="<?= $controller->page($page) ?>"> + <?= htmlReady($page->name) ?> + </a> + </td> + <td> + <?= $controller->findTextualHits($page->content, Request::get('search'), 200) ?> + </td> + <td> + <?= $page->chdate > 0 ? date('d.m.Y H:i:s', $page->chdate) : _('unbekannt') ?> + (<?= _('Version').' '.htmlReady($page->versionnumber) ?>) + </td> + </tr> + <? endif ?> + <? foreach ($versions as $version) : ?> + <tr> + <td> + <a href="<?= $controller->version($version) ?>"> + <?= htmlReady($version->name) ?> + </a> + </td> + <td> + <?= $controller->findTextualHits($version->content, Request::get('search'), 200) ?> + </td> + <td> + <?= $version->mkdate > 0 ? date('d.m.Y H:i:s', $version->mkdate) : _('unbekannt') ?> + (<?= _('Version').' '.htmlReady($version->versionnumber) ?>) + </td> + </tr> + <? endforeach ?> + </tbody> +</table> diff --git a/app/views/course/wizard/steps/basicdata/index.php b/app/views/course/wizard/steps/basicdata/index.php index e1f10a4..f19643a 100644 --- a/app/views/course/wizard/steps/basicdata/index.php +++ b/app/views/course/wizard/steps/basicdata/index.php @@ -123,7 +123,7 @@ </div> </section> -<?php if ($dsearch) : ?> +<?php if (isset($dsearch)) : ?> <section> <label for="deputy_id_3"> <?= _('Vertretungen') ?> diff --git a/app/views/course/wizard/steps/lvgroups/_node.php b/app/views/course/wizard/steps/lvgroups/_node.php index 8b159bd..78db2f1 100644 --- a/app/views/course/wizard/steps/lvgroups/_node.php +++ b/app/views/course/wizard/steps/lvgroups/_node.php @@ -1,4 +1,4 @@ -<? if (!$search_result || in_array($node->id, $search_result)) : ?> +<? if (empty($search_result) || in_array($node->id, $search_result)) : ?> <? $id = $node->id . '-' . $pos_id; ?> <? if (!count($children)) : ?> <li><?= _('Keine Module verfügbar') ?></li> diff --git a/app/views/course/wizard/steps/lvgroups/index.php b/app/views/course/wizard/steps/lvgroups/index.php index 744cc94..0d8e196 100644 --- a/app/views/course/wizard/steps/lvgroups/index.php +++ b/app/views/course/wizard/steps/lvgroups/index.php @@ -17,25 +17,33 @@ </li> </ul> </div> -<? if (!$values['locked']) : ?> +<? if (empty($values['locked'])) : ?> - <div id="lvgroup-tree-open-nodes"> - <? foreach ($open_lvg_nodes as $opennode) : ?> - <input type="hidden" name="open_lvg_nodes[]" value="<?= $opennode; ?>"> - <? endforeach; ?> - </div> + <div id="lvgroup-tree-open-nodes"> + <? foreach ($open_lvg_nodes as $opennode) : ?> + <input type="hidden" name="open_lvg_nodes[]" value="<?= $opennode; ?>"> + <? endforeach; ?> + </div> <div id="studyareas" data-ajax-url="<?= $ajax_url ?>" data-forward-url="<?= $no_js_url ?>" data-no-search-result="<?=_('Es wurde kein Suchergebnis gefunden.') ?>"> <h2><?= _('Lehrveranstaltungsgruppen Suche') ?></h2> <div> <input type="text" size="40" style="width: auto;" name="search" id="lvgroup-tree-search" - value="<?= $values['searchterm'] ?>"> + value="<?= htmlReady($values['searchterm'] ?? '') ?>"> <span id="lvgroup-tree-search-start"> - <?= Icon::create('search', 'clickable')->asInput(["name" => 'start_search', "onclick" => "return STUDIP.MVV.CourseWizard.searchTree()", "class" => $search_result?'hidden-no-js':'']) ?> + <?= Icon::create('search')->asInput([ + 'name' => 'start_search', + 'onclick' => 'return STUDIP.MVV.CourseWizard.searchTree()', + 'class' => !empty($search_result) ? 'hidden-no-js' : '', + ]) ?> </span> <span id="lvgroup-tree-search-reset" class="hidden-js"> - <?= Icon::create('refresh', 'clickable')->asInput(["name" => 'reset_search', "onclick" => "return STUDIP.MVV.CourseWizard.resetSearch()", "class" => $search_result?'':' hidden-no-js']) ?> + <?= Icon::create('refresh')->asInput([ + 'name' => 'reset_search', + 'onclick' => 'return STUDIP.MVV.CourseWizard.resetSearch()', + 'class' => !empty($search_result) ? '' : ' hidden-no-js', + ]) ?> </span> </div> @@ -56,23 +64,25 @@ <? $pos_id = 1; ?> <? foreach ((array) $tree as $node) : ?> <? $children = $node->getChildren() ?> - <? if (count($children)) : ?> - <?= $this->render_partial('lvgroups/_node', - ['node' => $node, 'pos_id' => $pos_id++, - 'open_nodes' => $open_lvg_nodes ?: [], - 'search_result' => $search_result ?: [], - 'children' => $node->getChildren()]) ?> + <? if (count($children) > 0) : ?> + <?= $this->render_partial('lvgroups/_node', [ + 'node' => $node, + 'pos_id' => $pos_id++, + 'open_nodes' => $open_lvg_nodes ?: [], + 'search_result' => $search_result ?? [], + 'children' => $node->getChildren(), + ]) ?> <? endif ?> <? endforeach; ?> </ul> </li> </ul> </div> - <? if ($values['open_lvg_nodes']) : ?> + <? if (!empty($values['open_lvg_nodes'])) : ?> <input type="hidden" name="open_nodes" value="<?= json_encode($values['open_lvg_nodes']) ?>"/> <? endif; ?> - <? if ($values['searchterm']) : ?> - <input type="hidden" name="searchterm" value="<?= $values['searchterm'] ?>"/> + <? if (!empty($values['searchterm'])) : ?> + <input type="hidden" name="searchterm" value="<?= htmlReady($values['searchterm']) ?>"> <? endif; ?> <script> //<!-- diff --git a/app/views/course/wizard/steps/lvgroups/lvgroup_entry.php b/app/views/course/wizard/steps/lvgroups/lvgroup_entry.php index 09d2405..a7e2cd0 100644 --- a/app/views/course/wizard/steps/lvgroups/lvgroup_entry.php +++ b/app/views/course/wizard/steps/lvgroups/lvgroup_entry.php @@ -2,7 +2,7 @@ # Lifter010: TODO $_id = htmlReady(implode('_', (array) $area->getId())); ?> -<li id="lvgroup-tree-assigned-<?= $_id ?>" class="<?= TextHelper::cycle('odd', 'even') ?>"> +<li id="lvgroup-tree-assigned-<?= $_id ?>"> <? if (!$locked) : ?> <?= Icon::create('trash', 'clickable')->asInput(["name" => 'lvgruppe_selection[remove]['.$_id.']', "onclick" => "return STUDIP.MVV.CourseWizard.removeLVGroup('".$_id."')", "class" => '', "data-id" => $_id, "data-course_id" => htmlReady($course_id)]) ?> diff --git a/app/views/course/wizard/steps/lvgroups/lvgroup_searchentry.php b/app/views/course/wizard/steps/lvgroups/lvgroup_searchentry.php index a6715da..7c51448 100644 --- a/app/views/course/wizard/steps/lvgroups/lvgroup_searchentry.php +++ b/app/views/course/wizard/steps/lvgroups/lvgroup_searchentry.php @@ -1,7 +1,7 @@ <?php $_id = htmlReady(implode('_', (array) $area->getId())); ?> -<li id="lvgruppe_search_<?= $_id ?>" class="<?= TextHelper::cycle('odd', 'even') ?>"> +<li id="lvgruppe_search_<?= $_id ?>"> <?= Icon::create('arr_2left', Icon::ROLE_SORT)->asInput([ 'name' => "assign[{$_id}]", diff --git a/app/views/course/wizard/steps/studyareas/_assigned_node.php b/app/views/course/wizard/steps/studyareas/_assigned_node.php index 459cddd..9525fc8 100644 --- a/app/views/course/wizard/steps/studyareas/_assigned_node.php +++ b/app/views/course/wizard/steps/studyareas/_assigned_node.php @@ -1,12 +1,12 @@ <li class="sem-tree-assigned-<?= $element['id'] ?>"> <?= htmlReady($element['name']) ?> - <?php if (!$values['locked'] && $element['assignable'] && in_array($element['id'], $studyareas ?: [])) : ?> - <?= Icon::create('trash', 'clickable')->asInput(["name" => 'unassign['.$element['id'].']', "onclick" => "return STUDIP.CourseWizard.unassignNode('".$element['id']."')"]) ?> - <input type="hidden" name="studyareas[]" value="<?= $element['id'] ?>"/> + <?php if (empty($values['locked']) && $element['assignable'] && in_array($element['id'], $studyareas ?: [])) : ?> + <?= Icon::create('trash')->asInput(["name" => 'unassign['.$element['id'].']', "onclick" => "return STUDIP.CourseWizard.unassignNode('".$element['id']."')"]) ?> + <input type="hidden" name="studyareas[]" value="<?= htmlReady($element['id']) ?>"/> <?php endif ?> <ul> <?php foreach ($element['children'] as $c) : ?> <?= $this->render_partial('studyareas/_assigned_node', ['element' => $c]) ?> <?php endforeach ?> </ul> -</li>
\ No newline at end of file +</li> diff --git a/app/views/course/wizard/summary.php b/app/views/course/wizard/summary.php index 5217bac..ec5a646 100644 --- a/app/views/course/wizard/summary.php +++ b/app/views/course/wizard/summary.php @@ -1,4 +1,13 @@ -<form class="default" action="<?= $controller->url_for('course/wizard/process', $stepnumber, $temp_id) ?>" method="post"> +<?php +/** + * @var Course_WikiController $controller + * @var int $stepnumber + * @var string $temp_id + * @var bool $dialog + * @var Course|null $source_course + */ +?> +<form class="default" action="<?= $controller->link_for('course/wizard/process', $stepnumber, $temp_id) ?>" method="post"> <fieldset> <legend><?= _('Anlegen der Veranstaltung') ?></legend> |
