aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorArne Schröder, M. A. <schroeder@data-quest.de>2026-02-19 13:10:29 +0000
committerRasmus Fuhse <fuhse@data-quest.de>2026-02-19 13:10:29 +0000
commite5be38221fa9ddf453224417b2a7d9fe24fad633 (patch)
tree4db49c85e733517bb82554f8818c693d358f0cac /app
parenta5c54939e0fbdbc88e0280a601d54f6b63064304 (diff)
Resolve "ILIAS-Schnittstelle: Warnings, wenn Schnittstellenkonfiguration nicht abgeschlossen"
Closes #6276 Merge request studip/studip!4748
Diffstat (limited to 'app')
-rw-r--r--app/controllers/admin/ilias_interface.php48
-rw-r--r--app/controllers/course/ilias_interface.php6
-rw-r--r--app/controllers/my_ilias_accounts.php12
3 files changed, 16 insertions, 50 deletions
diff --git a/app/controllers/admin/ilias_interface.php b/app/controllers/admin/ilias_interface.php
index 4703cff..00dd82e 100644
--- a/app/controllers/admin/ilias_interface.php
+++ b/app/controllers/admin/ilias_interface.php
@@ -125,48 +125,12 @@ class Admin_IliasInterfaceController extends AuthenticatedController
$this->ilias_version = '';
$this->ilias_version_date = '';
$this->ilias_clients = [];
+
+ // default values
+ $ilias = new ConnectedIlias($index);
+ $this->ilias_config = $ilias->ilias_config;
+
if ($index === 'new') {
- // default values
- $this->ilias_config = [
- 'is_active' => false,
- 'name' => '',
- 'version' => '',
- 'url' => _('https://<URL zur ILIAS-Installation>'),
- 'http_connection_timeout' => 1,
- 'http_request_timeout' => 3,
- 'client' => '',
- 'ldap_enable' => '',
- 'reconnect_accounts' => false,
- 'no_account_updates' => false,
- 'admin' => 'ilias_soap_admin',
- 'admin_pw' => '',
-
- 'root_category_name' => '',
- 'root_category' => '',
- 'user_prefix' => 'studip_',
- 'delete_ilias_users' => '',
- 'delete_ilias_courses' => '',
- 'user_data_category' => '',
- 'matriculation' => '',
- 'allow_change_account' => false,
- 'category_create_on_add_module' => false,
- 'category_to_desktop' => false,
- 'cat_semester' => '',
- 'cat_faculty' => '',
- 'course_semester' => '',
- 'course_veranstaltungsnummer' => false,
- 'workgroup_category_name' => '',
- 'workgroup_category' => '',
- 'workgroup_perm' => '',
- 'workgroup_role_name' => '',
- 'workgroup_role' => '',
- 'modules' => [],
-
- 'author_role_name' => 'Author',
- 'author_role' => '',
- 'author_perm' => 'tutor',
- 'additional_roles' => []
- ];
// fetch existing indicies from previously connected ILIAS installations
$this->existing_indices = ConnectedIlias::getExistingIndices();
@@ -306,6 +270,8 @@ class Admin_IliasInterfaceController extends AuthenticatedController
CSRFProtection::verifyUnsafeRequest();
if (Request::submittedSome('submit', 'add_additional_role', 'remove_additional_role')) {
+ $connected_ilias = new ConnectedIlias($index);
+ $this->ilias_configs[$index] = $connected_ilias->ilias_config;
// set basic server settings
if (Request::getInstance()->offsetExists('ilias_name')) {
$this->ilias_configs[$index]['name'] = Request::get('ilias_name');
diff --git a/app/controllers/course/ilias_interface.php b/app/controllers/course/ilias_interface.php
index c631790..ddd4ed0 100644
--- a/app/controllers/course/ilias_interface.php
+++ b/app/controllers/course/ilias_interface.php
@@ -67,7 +67,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
$this->ilias_list = [];
$module_count = 0;
foreach (Config::get()->ILIAS_INTERFACE_SETTINGS as $ilias_index => $ilias_config) {
- if ($ilias_config['is_active']) {
+ if (!empty($ilias_config['is_active'])) {
$this->ilias_list[$ilias_index] = new ConnectedIlias($ilias_index);
if ($GLOBALS['perm']->have_perm($this->ilias_list[$ilias_index]->ilias_config['author_perm'])) {
$this->author_permission = true;
@@ -267,7 +267,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
$this->mode = $mode;
$this->keep_dialog = false;
foreach (Config::get()->ILIAS_INTERFACE_SETTINGS as $ilias_index => $ilias_config) {
- if ($ilias_config['is_active']) {
+ if (!empty($ilias_config['is_active'])) {
$this->ilias_list[$ilias_index] = new ConnectedIlias($ilias_index);
$last_ilias_index = $ilias_index;
if (Request::get('ilias_index') == $ilias_index) {
@@ -421,7 +421,7 @@ class Course_IliasInterfaceController extends AuthenticatedController
// get active ILIAS installations
$this->ilias_list = [];
foreach (Config::get()->ILIAS_INTERFACE_SETTINGS as $ilias_index => $ilias_config) {
- if ($ilias_config['is_active'] && IliasObjectConnections::getConnectionModuleId($this->seminar_id, "crs", $ilias_index)) {
+ if (!empty($ilias_config['is_active']) && IliasObjectConnections::getConnectionModuleId($this->seminar_id, "crs", $ilias_index)) {
$this->ilias_list[$ilias_index] = new ConnectedIlias($ilias_index);
$last_ilias_index = $ilias_index;
if (Request::get('ilias_index') == $ilias_index) {
diff --git a/app/controllers/my_ilias_accounts.php b/app/controllers/my_ilias_accounts.php
index ad22248..d6495f3 100644
--- a/app/controllers/my_ilias_accounts.php
+++ b/app/controllers/my_ilias_accounts.php
@@ -50,7 +50,7 @@ class MyIliasAccountsController extends AuthenticatedController
$this->ilias_list = [];
foreach (Config::get()->ILIAS_INTERFACE_SETTINGS as $ilias_index => $ilias_config) {
- if ($ilias_config['is_active']) {
+ if (!empty($ilias_config['is_active'])) {
$this->ilias_list[$ilias_index] = new ConnectedIlias($ilias_index);
$this->ilias_list[$ilias_index]->checkUser();
$this->ilias_list[$ilias_index]->soap_client->clearCache();
@@ -254,7 +254,7 @@ class MyIliasAccountsController extends AuthenticatedController
// set up connected ilias classes
$this->ilias_list = [];
foreach (Config::get()->ILIAS_INTERFACE_SETTINGS as $ilias_index => $ilias_config) {
- if ($ilias_config['is_active']) {
+ if (!empty($ilias_config['is_active'])) {
$this->ilias_list[$ilias_index] = new ConnectedIlias($ilias_index);
$this->ilias_list[$ilias_index]->checkUser();
$this->ilias_list[$ilias_index]->soap_client->clearCache();
@@ -442,7 +442,7 @@ class MyIliasAccountsController extends AuthenticatedController
public function new_account_action($index)
{
$ilias_configs = Config::get()->ILIAS_INTERFACE_SETTINGS;
- if ($ilias_configs[$index]['is_active']) {
+ if (!empty($ilias_configs[$index]['is_active'])) {
$this->ilias = new ConnectedIlias($index);
$this->ilias_index = $index;
}
@@ -455,7 +455,7 @@ class MyIliasAccountsController extends AuthenticatedController
public function change_account_action($index, $mode)
{
$ilias_configs = Config::get()->ILIAS_INTERFACE_SETTINGS;
- if ($ilias_configs[$index]['is_active']) {
+ if (!empty($ilias_configs[$index]['is_active'])) {
$this->ilias = new ConnectedIlias($index);
$this->ilias_index = $index;
switch ($mode) {
@@ -505,7 +505,7 @@ class MyIliasAccountsController extends AuthenticatedController
}
$ilias_configs = Config::get()->ILIAS_INTERFACE_SETTINGS;
- if ($ilias_configs[$index]['is_active']) {
+ if (!empty($ilias_configs[$index]['is_active'])) {
$this->ilias = new ConnectedIlias($index);
$this->ilias_index = $index;
$this->ilias_login = '';
@@ -563,7 +563,7 @@ class MyIliasAccountsController extends AuthenticatedController
public function redirect_action($index, $target, $module_id = '', $module_type = '')
{
$ilias_configs = Config::get()->ILIAS_INTERFACE_SETTINGS;
- if ($ilias_configs[$index]['is_active']) {
+ if (!empty($ilias_configs[$index]['is_active'])) {
$this->ilias = new ConnectedIlias($index);
$token = $this->ilias->user->getToken();
$session_id = $this->ilias->soap_client->loginUser($this->ilias->user->getUsername(), $token);