From 0cdfc0508f6d22efc0f3f0ff325c7ddd748cb545 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Mon, 20 Feb 2023 18:01:42 +0000
Subject: [PATCH] second batch of changes, re #2193

Merge request studip/studip!1421
---
 app/controllers/calendar/single.php             |  2 +-
 app/views/calendar/single/seminar_events.php    |  2 +-
 app/views/files/_files_thead.php                |  2 +-
 app/views/materialien/files/add_dokument.php    |  4 ++--
 app/views/resources/_common/_resource_tr.php    | 12 +++---------
 app/views/resources/location/_add_edit_form.php |  2 +-
 lib/models/resources/ResourceRequest.class.php  | 10 ++++++++++
 7 files changed, 19 insertions(+), 15 deletions(-)

diff --git a/app/controllers/calendar/single.php b/app/controllers/calendar/single.php
index 0d4fcac413c..af802bf6d14 100644
--- a/app/controllers/calendar/single.php
+++ b/app/controllers/calendar/single.php
@@ -494,7 +494,7 @@ class Calendar_SingleController extends Calendar_CalendarController
         }
         $this->sem_data = Semester::findAllVisible();
 
-        $sem = ($config_sem && $config_sem != '0' ? $config_sem : Config::get()->MY_COURSES_DEFAULT_CYCLE);
+        $sem = $config_sem ?: Config::get()->MY_COURSES_DEFAULT_CYCLE;
         if (Request::option('sem_select')) {
             $sem = Request::get('sem_select', $sem);
         }
diff --git a/app/views/calendar/single/seminar_events.php b/app/views/calendar/single/seminar_events.php
index 2802408566c..06ed5faefde 100644
--- a/app/views/calendar/single/seminar_events.php
+++ b/app/views/calendar/single/seminar_events.php
@@ -7,7 +7,7 @@
             <? foreach ($sem_courses as $sem_key => $course_group) : ?>
                 <table class="default collapsable">
                     <caption>
-                        <?= htmlReady($sem_data[$sem_key]['name']) ?>
+                        <?= htmlReady($sem_data[$sem_key]['name'] ?? _('Unbekanntes Semester')) ?>
                     </caption>
                     <colgroup>
                         <col width="7px">
diff --git a/app/views/files/_files_thead.php b/app/views/files/_files_thead.php
index fabfa3c668a..a7f79c716f0 100644
--- a/app/views/files/_files_thead.php
+++ b/app/views/files/_files_thead.php
@@ -14,7 +14,7 @@
     </colgroup>
     <thead>
         <tr class="sortable">
-            <? if ($show_bulk_checkboxes) : ?>
+            <? if (!empty($show_bulk_checkboxes)) : ?>
                 <th data-sort="false">
                     <input type="checkbox"
                            <?= !empty($table_id)
diff --git a/app/views/materialien/files/add_dokument.php b/app/views/materialien/files/add_dokument.php
index f4a9c381382..effdde9c08a 100644
--- a/app/views/materialien/files/add_dokument.php
+++ b/app/views/materialien/files/add_dokument.php
@@ -29,7 +29,7 @@
             <td>
                 <label>
                     <?= _('Angezeigter Name des Dokuments') ?>
-                    <input name="doc_displayname_<?= $key; ?>" type="text" value="<?= (!$documents || !key_exists($key, $documents))  ? '' : htmlReady($documents[$key]->name) ?>"<?= $perm->disable('name') ?>>
+                    <input name="doc_displayname_<?= $key; ?>" type="text" value="<?= !isset($documents[$key])  ? '' : htmlReady($documents[$key]->name) ?>"<?= $perm->disable('name') ?>>
                 </label>
             </td>
         </tr>
@@ -73,7 +73,7 @@
                 </div>
                 <div id="fileviewer_<?= $key; ?>">
                     <ul class="stgfiles list-unstyled">
-                    <? if ($documents && key_exists($key, $documents)): ?>
+                    <? if (isset($documents[$key])): ?>
                         <li class="stgfile">
                             <input type="hidden" name="document_id" id="document_id" value="<?= htmlReady($documents[$key]->fileref_id) ?>">
                             <span class="icon"><?= Icon::create('file', Icon::ROLE_INFO, ['class' => 'text-bottom']); ?></span>
diff --git a/app/views/resources/_common/_resource_tr.php b/app/views/resources/_common/_resource_tr.php
index ccd7847a8f5..9aa52a76e25 100644
--- a/app/views/resources/_common/_resource_tr.php
+++ b/app/views/resources/_common/_resource_tr.php
@@ -88,18 +88,12 @@
         </td>
     <? endif ?>
     <td>
-        <a href="<?= (
-        $booking_plan_link_on_name
-            ? $resource->getActionLink('booking_plan')
-            : $resource->getActionLink('show')
-        ) ?>"
+        <a href="<?= $resource->getActionLink(empty($booking_plan_link_on_name) ? 'show' : 'booking_plan') ?>"
             <?= !empty($user_has_booking_rights) ? '' : 'data-dialog' ?>
            data-id="<?= htmlReady($resource->id) ?>"
-           data-range_type="<?= $clipboard_range_type
-               ? htmlReady($clipboard_range_type)
-               : 'Resource' ?>"
+           data-range_type="<?= htmlReady($clipboard_range_type ?? 'Resource') ?>"
            data-name="<?= htmlReady($resource->name) ?>"
-           <?= $clipboard_range_type ? 'class="clipboard-draggable-item"' : '' ?>>
+           <?= isset($clipboard_range_type) ? 'class="clipboard-draggable-item"' : '' ?>>
             <? if ($show_picture): ?>
                 <? $picture_url = $resource->getPictureUrl(); ?>
                 <? if ($picture_url): ?>
diff --git a/app/views/resources/location/_add_edit_form.php b/app/views/resources/location/_add_edit_form.php
index 3cc40ea54ce..3ba317da6f4 100644
--- a/app/views/resources/location/_add_edit_form.php
+++ b/app/views/resources/location/_add_edit_form.php
@@ -32,7 +32,7 @@
                 ]
             ) ?>
         </fieldset>
-        <? if ($defined_properties) : ?>
+        <? if (!empty($defined_properties)) : ?>
             <?= $this->render_partial(
                 'resources/resource/_standard_properties_form_part.php',
                 [
diff --git a/lib/models/resources/ResourceRequest.class.php b/lib/models/resources/ResourceRequest.class.php
index 51df10902bc..3cb6c12a388 100644
--- a/lib/models/resources/ResourceRequest.class.php
+++ b/lib/models/resources/ResourceRequest.class.php
@@ -849,11 +849,21 @@ class ResourceRequest extends SimpleORMap implements PrivacyObject, Studip\Calen
         }
 
         if ($this->metadate_id) {
+            $date = $this->cycle->dates->last();
+            if (!isset($date)) {
+                return null;
+            }
+
             $end_date->setTimestamp($this->cycle->dates->last()->end_time);
             return $end_date;
         }
 
         if ($this->course_id) {
+            $date = $this->course->dates->last();
+            if (!isset($date)) {
+                return null;
+            }
+
             $end_date->setTimestamp($this->course->dates->last()->end_time);
             return $end_date;
         }
-- 
GitLab