aboutsummaryrefslogtreecommitdiff
path: root/app/controllers/admin/ilias_interface.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers/admin/ilias_interface.php')
-rw-r--r--app/controllers/admin/ilias_interface.php50
1 files changed, 27 insertions, 23 deletions
diff --git a/app/controllers/admin/ilias_interface.php b/app/controllers/admin/ilias_interface.php
index 38fa8fa..dfb8f0a 100644
--- a/app/controllers/admin/ilias_interface.php
+++ b/app/controllers/admin/ilias_interface.php
@@ -122,7 +122,7 @@ class Admin_IliasInterfaceController extends AuthenticatedController
$this->valid_url = false;
$this->ilias_version = '';
$this->ilias_version_date = '';
- $this->clients = [];
+ $this->ilias_clients = [];
if ($index === 'new') {
// default values
$this->ilias_config = [
@@ -170,7 +170,7 @@ class Admin_IliasInterfaceController extends AuthenticatedController
// get ILIAS server info
if (Request::get('ilias_url')) {
$info = ConnectedIlias::getIliasInfo(Request::get('ilias_url'));
- if (count($info)) {
+ if (is_array($info) && count($info)) {
$this->valid_url = true;
$this->ilias_config['url'] = Request::get('ilias_url');
$this->ilias_config['http_connection_timeout'] = (int) Request::get('ilias_http_connection_timeout');
@@ -247,14 +247,15 @@ class Admin_IliasInterfaceController extends AuthenticatedController
*/
public function edit_content_action($index)
{
- $this->ilias_config = $this->ilias_configs[$index];
$this->ilias_index = $index;
$this->ilias_datafields = [];
$connected_ilias = new ConnectedIlias($index);
+ $this->ilias_config = $connected_ilias->ilias_config;
+
if ($admin_id = $connected_ilias->soap_client->lookupUser($this->ilias_config['admin'])) {
$user = $connected_ilias->soap_client->getUser($admin_id);
- if (array_key_exists('udfs', $user)) {
+ if (!empty($user) && array_key_exists('udfs', $user)) {
$this->ilias_datafields = $user['udfs'];
}
}
@@ -266,10 +267,10 @@ class Admin_IliasInterfaceController extends AuthenticatedController
*/
public function edit_permissions_action($index)
{
- $this->ilias_config = $this->ilias_configs[$index];
$this->ilias_index = $index;
$connected_ilias = new ConnectedIlias($index);
+ $this->ilias_config = $connected_ilias->ilias_config;
$this->global_roles = $connected_ilias->soap_client->getRoles('global', -1);
}
@@ -504,28 +505,31 @@ class Admin_IliasInterfaceController extends AuthenticatedController
*/
public function soap_methods_action($index)
{
- if ($this->ilias_configs[$index]['is_active']) {
- $ilias = new ConnectedIlias($index);
- $this->soap_methods = $ilias->getSoapMethods();
- ksort($this->soap_methods);
- $this->ilias_index = $index;
- if (Request::get('ilias_soap_method')) {
- $this->ilias_soap_method = Request::get('ilias_soap_method');
- foreach ($this->soap_methods[Request::get('ilias_soap_method')] as $param) {
- switch ($param) {
- case "sid" : $this->params[$param] = $ilias->soap_client->getSID();
- break;
- case "user_id" : $this->params[$param] = $ilias->user->getId();
- break;
- }
+ $ilias = new ConnectedIlias($index);
+
+ $this->soap_methods = $ilias->getSoapMethods();
+ ksort($this->soap_methods);
+ $this->ilias_index = $index;
+ if (Request::get('ilias_soap_method')) {
+ $this->ilias_soap_method = Request::get('ilias_soap_method');
+ foreach ($this->soap_methods[Request::get('ilias_soap_method')] as $param) {
+ switch ($param) {
+ case "sid" : $this->params[$param] = $ilias->soap_client->getSID();
+ break;
+ case "user_id" : $this->params[$param] = is_object($ilias->user) ? $ilias->user->getId() : '';
+ break;
}
- } elseif (Request::get('ilias_call')) {
- $params = [];
- foreach ($this->soap_methods[Request::get('ilias_call')] as $param) {
+ }
+ } elseif (Request::get('ilias_call')) {
+ $params = [];
+ foreach ($this->soap_methods[Request::get('ilias_call')] as $param) {
+ if ($param === 'user_ids') {
+ $params[$param] = [Request::get('ilias_soap_param_'.$param)];
+ } else {
$params[$param] = Request::get('ilias_soap_param_'.$param);
}
- $this->result = $ilias->soap_client->call(Request::get('ilias_call'), $params);
}
+ $this->result = $ilias->soap_client->call(Request::get('ilias_call'), $params);
}
}
}