From f4641ff2e5a92c3d02243a116b45f296665aecc9 Mon Sep 17 00:00:00 2001
From: Murtaza Sultani <sultani@data-quest.de>
Date: Wed, 24 Jul 2024 09:15:26 +0000
Subject: [PATCH] =?UTF-8?q?Resolve=20"Undefined=20variablen=20Warnungen=20?=
 =?UTF-8?q?beim=20Resource=20hinzuf=C3=BCgen"?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Closes #4423

Merge request studip/studip!3219


(cherry picked from commit e3729a6207daf9c08102c38ab14f1f038196867f)

933136b5 Fix undefined PHP 8 warnings
180fd60f Apply 1 suggestion(s) to 1 file(s)
cbeec8e4 Apply 1 suggestion(s) to 1 file(s)
ccceba12 Apply 1 suggestion(s) to 1 file(s)
09da25ff Apply 1 suggestion(s) to 1 file(s)
4ec9a686 Apply 1 suggestion(s) to 1 file(s)
---
 app/controllers/resources/resource.php          | 7 ++++---
 app/views/resources/resource/_add_edit_form.php | 6 +++---
 lib/models/resources/ResourceCategory.class.php | 3 ++-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/app/controllers/resources/resource.php b/app/controllers/resources/resource.php
index 47d6b999d92..99831599223 100644
--- a/app/controllers/resources/resource.php
+++ b/app/controllers/resources/resource.php
@@ -27,7 +27,7 @@ class Resources_ResourceController extends AuthenticatedController
 
         $this->edit_global_permissions = false;
 
-        $this->resource_id_parameter = $args[0];
+        $this->resource_id_parameter = $args[0] ?? null;
 
         $this->resources = [];
         $this->resource_ids = [];
@@ -215,7 +215,7 @@ class Resources_ResourceController extends AuthenticatedController
 
     protected function addEditDeleteHandler($mode = 'add')
     {
-        $this->resource = $this->resources[0];
+        $this->resource = $this->resources[0] ?? null;
         $user = User::findCurrent();
 
         $this->show_form = false;
@@ -282,10 +282,11 @@ class Resources_ResourceController extends AuthenticatedController
             CSRFProtection::verifyUnsafeRequest();
             if (($mode == 'add') || ($mode == 'edit')) {
                 //Process submitted form:
-                $this->parent_id = $this->resource->parent_id;
                 if ($mode == 'add') {
                     $this->category_id = Request::get('category_id');
                     $this->parent_id = Request::get('parent_id', '');
+                } else {
+                    $this->parent_id = $this->resource->parent_id;
                 }
                 $this->name = Request::get('name');
                 $this->description = Request::get('description');
diff --git a/app/views/resources/resource/_add_edit_form.php b/app/views/resources/resource/_add_edit_form.php
index 661988e0930..b0214378d91 100644
--- a/app/views/resources/resource/_add_edit_form.php
+++ b/app/views/resources/resource/_add_edit_form.php
@@ -14,11 +14,11 @@
             <legend><?= _('Grunddaten') ?></legend>
             <label>
                 <?= _('Name') ?>
-                <input type="text" name="name" value="<?= htmlReady($name) ?>">
+                <input type="text" name="name" value="<?= !empty($name) ? htmlReady($name) : '' ?>">
             </label>
             <label>
                 <?= _('Beschreibungstext') ?>
-                <input type="text" name="description" value="<?= htmlReady($description) ?>">
+                <input type="text" name="description" value="<?= !empty($description) ? htmlReady($description) : '' ?>">
             </label>
             <? if ($GLOBALS['perm']->have_perm('root')): ?>
                 <label>
@@ -28,7 +28,7 @@
                 <label>
                     <?= _('Sortierposition') ?>
                     <input type="text" name="sort_position"
-                           value="<?= htmlReady($sort_position) ?>">
+                           value="<?= !empty($sort_position) ? htmlReady($sort_position) : '' ?>">
                 </label>
             <? endif ?>
         </fieldset>
diff --git a/lib/models/resources/ResourceCategory.class.php b/lib/models/resources/ResourceCategory.class.php
index 766a5f61f97..c453c848a82 100644
--- a/lib/models/resources/ResourceCategory.class.php
+++ b/lib/models/resources/ResourceCategory.class.php
@@ -249,7 +249,8 @@ class ResourceCategory extends SimpleORMap
         ];
         $property_groups      = [];
         foreach ($definitions as $definition) {
-            if ($definition->group->name) {
+
+            if (!empty($definition->group->name)) {
                 $group_name = $definition->group->name;
                 if (!is_array($property_groups[$group_name])) {
                     $property_groups[$group_name] = [];
-- 
GitLab