From 933136b59d8b29584f267bf7f1d397ab7e729d00 Mon Sep 17 00:00:00 2001
From: Murtaza Sultani <sultani@data-quest.de>
Date: Wed, 24 Jul 2024 09:32:05 +0200
Subject: [PATCH] Fix undefined PHP 8 warnings

---
 app/controllers/resources/resource.php          | 7 ++++---
 app/views/resources/resource/_add_edit_form.php | 6 +++---
 lib/models/resources/ResourceCategory.php       | 3 ++-
 3 files changed, 9 insertions(+), 7 deletions(-)

diff --git a/app/controllers/resources/resource.php b/app/controllers/resources/resource.php
index 202e763ca9f..b9909adbcd0 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 = count($args) > 0 ? $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 = count($this->resources) > 0 ? $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..688d98a4d10 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="<?= isset($name) ? htmlReady($name) : null ?>">
             </label>
             <label>
                 <?= _('Beschreibungstext') ?>
-                <input type="text" name="description" value="<?= htmlReady($description) ?>">
+                <input type="text" name="description" value="<?= isset($description) ? htmlReady($description) : null ?>">
             </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="<?= isset($sort_position) ? htmlReady($sort_position) : null ?>">
                 </label>
             <? endif ?>
         </fieldset>
diff --git a/lib/models/resources/ResourceCategory.php b/lib/models/resources/ResourceCategory.php
index cfe323a54df..44867bd99d1 100644
--- a/lib/models/resources/ResourceCategory.php
+++ b/lib/models/resources/ResourceCategory.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