From 81e32c0b8c6f8b6ab94a4cd271e6b308efeb3c5f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Andr=C3=A9=20Noack?= <noack@data-quest.de>
Date: Wed, 27 Sep 2023 07:13:41 +0000
Subject: [PATCH] Resolve "ILIAS-Schnittstelle: SQL-Fehlermeldung als root bei
 "ILIAS-Kurs aus einer anderen Veranstaltung zuordnen""

Closes #3233

Merge request studip/studip!2198
---
 app/controllers/course/ilias_interface.php | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/app/controllers/course/ilias_interface.php b/app/controllers/course/ilias_interface.php
index c8988e2df2c..767cce1a3be 100644
--- a/app/controllers/course/ilias_interface.php
+++ b/app/controllers/course/ilias_interface.php
@@ -331,6 +331,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
                               LEFT JOIN seminare ON (object_id = Seminar_id)
                               WHERE module_type = 'crs'
                                 AND system_type = ?";
+                    $params = [$this->ilias_index];
                 } else {
                     $query = "SELECT DISTINCT object_id, module_id, Name
                               FROM object_contentmodules
@@ -340,9 +341,10 @@ class Course_IliasInterfaceController extends AuthenticatedController
                                 AND system_type = ?
                                 AND seminar_user.status = 'dozent'
                                 AND seminar_user.user_id = ?";
+                    $params = [$this->ilias_index, User::findCurrent()->id];
                 }
                 $statement = DBManager::get()->prepare($query);
-                $statement->execute([$this->ilias_index, User::findCurrent()->id]);
+                $statement->execute($params);
                 $this->studip_course_list = [];
                 while ($row = $statement->fetch(PDO::FETCH_ASSOC)) {
                     $this->studip_course_list[$row['module_id']] = my_substr($row['Name'],0,60)." ".sprintf(_("(Kurs-ID %s)"), $row['module_id']);
@@ -351,7 +353,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
                 if (Request::get('cmd') === 'assign_course') {
                     $crs_id = IliasObjectConnections::getConnectionModuleId($this->seminar_id, 'crs', $this->ilias_index);
                     if (Request::get('ilias_course_id') && !$crs_id) {
-                        IliasObjectConnections::setConnection($this->seminar_id, Request::get(ilias_course_id), 'crs', $this->ilias_index);
+                        IliasObjectConnections::setConnection($this->seminar_id, Request::get('ilias_course_id'), 'crs', $this->ilias_index);
                         PageLayout::postInfo(_('Kurs wurde zugeordnet.'));
                     }
                     $this->redirect('course/ilias_interface');
@@ -370,7 +372,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
                 if (Request::get('cmd') === 'assign_course') {
                     $crs_id = IliasObjectConnections::getConnectionModuleId($this->seminar_id, 'crs', $this->ilias_index);
                     if (Request::get('ilias_course_id') && !$crs_id) {
-                        IliasObjectConnections::setConnection($this->seminar_id, Request::get(ilias_course_id), 'crs', $this->ilias_index);
+                        IliasObjectConnections::setConnection($this->seminar_id, Request::get('ilias_course_id'), 'crs', $this->ilias_index);
                         PageLayout::postInfo(_('Kurs wurde zugeordnet.'));
                     }
                     $this->redirect('course/ilias_interface');
-- 
GitLab