aboutsummaryrefslogtreecommitdiff
path: root/app/views/course
diff options
context:
space:
mode:
Diffstat (limited to 'app/views/course')
-rw-r--r--app/views/course/basicdata/view.php18
-rw-r--r--app/views/course/cancel_dates/index.php2
-rw-r--r--app/views/course/contentmodules/info.php20
-rw-r--r--app/views/course/dates/_date_row.php19
-rw-r--r--app/views/course/details/index.php2
-rw-r--r--app/views/course/enrolment/_priocourses.php10
-rw-r--r--app/views/course/forum/area/add.php4
-rw-r--r--app/views/course/forum/index/_areas.php7
-rw-r--r--app/views/course/forum/index/_last_post.php2
-rw-r--r--app/views/course/forum/index/_post.php2
-rw-r--r--app/views/course/lvgselector/form.php4
-rw-r--r--app/views/course/lvgselector/subtree.php2
-rw-r--r--app/views/course/members/accepted_list.php4
-rw-r--r--app/views/course/members/autor_list.php6
-rw-r--r--app/views/course/members/awaiting_list.php6
-rw-r--r--app/views/course/members/dozent_list.php2
-rw-r--r--app/views/course/members/tutor_list.php4
-rw-r--r--app/views/course/members/user_list.php4
-rw-r--r--app/views/course/overview/index.php7
-rw-r--r--app/views/course/room_requests/_new_request_form_footer.php16
-rw-r--r--app/views/course/room_requests/request_find_matching_rooms.php6
-rw-r--r--app/views/course/statusgroups/batch_action.php14
-rw-r--r--app/views/course/statusgroups/details.php30
-rw-r--r--app/views/course/timesrooms/_cycleRow.php30
-rw-r--r--app/views/course/timesrooms/_roomRequest.php3
-rw-r--r--app/views/course/timesrooms/editDate.php33
-rw-r--r--app/views/course/wiki/ask_deleting.php31
-rw-r--r--app/views/course/wiki/history.php20
-rw-r--r--app/views/course/wiki/newpages.php22
-rw-r--r--app/views/course/wiki/search.php19
-rw-r--r--app/views/course/wiki/searchpage.php48
-rw-r--r--app/views/course/wizard/steps/basicdata/index.php2
-rw-r--r--app/views/course/wizard/steps/lvgroups/_node.php2
-rw-r--r--app/views/course/wizard/steps/lvgroups/index.php46
-rw-r--r--app/views/course/wizard/steps/lvgroups/lvgroup_entry.php2
-rw-r--r--app/views/course/wizard/steps/lvgroups/lvgroup_searchentry.php2
-rw-r--r--app/views/course/wizard/steps/studyareas/_assigned_node.php8
-rw-r--r--app/views/course/wizard/summary.php11
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>