aboutsummaryrefslogtreecommitdiff
path: root/lib/elearning
diff options
context:
space:
mode:
authorArne Schröder, M. A. <schroeder@data-quest.de>2023-12-04 11:53:12 +0000
committerAndré Noack <noack@data-quest.de>2023-12-04 11:53:12 +0000
commitd375c5134f04c995378fa7af6e853ef7545614a4 (patch)
treea41ef04ac601f62a57a52805373cb5def4378a59 /lib/elearning
parentccbcc9c6f3920bb8261d039113691f2a27add80f (diff)
Resolve "ILIAS-Schnittstelle: verwendete SOAP-Methoden getUser und deleteUser existieren in ILIAS 8 nicht mehr"
Closes #3279 Merge request studip/studip!2213
Diffstat (limited to 'lib/elearning')
-rw-r--r--lib/elearning/studip_referrer_7x.php (renamed from lib/elearning/studip_referrer.php)8
-rw-r--r--lib/elearning/studip_referrer_8x.php126
2 files changed, 130 insertions, 4 deletions
diff --git a/lib/elearning/studip_referrer.php b/lib/elearning/studip_referrer_7x.php
index 7a0257c..e367569 100644
--- a/lib/elearning/studip_referrer.php
+++ b/lib/elearning/studip_referrer_7x.php
@@ -9,14 +9,14 @@
*
*/
-/* ILIAS Version 4.4.x */
+/* ILIAS Version 7.x */
if(file_exists("./ilias.ini.php")){
require_once("./Services/Init/classes/class.ilIniFile.php");
$ilIliasIniFile = new ilIniFile("./ilias.ini.php");
$ilIliasIniFile->read();
$serverSettings = $ilIliasIniFile->readGroup("server");
- if ($serverSettings["studip"] != 1)
+ if (isset($serverSettings["studip"]) && $serverSettings["studip"] != 1)
{
echo 'Option "studip" in ilias.ini.php is not enabled. You need to add studip = "1" to the server section.';
exit();
@@ -40,7 +40,7 @@ if(file_exists("./ilias.ini.php")){
require_once "./include/inc.header.php";
- $base_url= "ilias.php?baseClass=ilPersonalDesktopGUI";
+ $base_url= "ilias.php?baseClass=ilDashboardGUI";
// redirect to specified page
@@ -121,4 +121,4 @@ if(file_exists("./ilias.ini.php")){
exit();
}
}
-?> \ No newline at end of file
+
diff --git a/lib/elearning/studip_referrer_8x.php b/lib/elearning/studip_referrer_8x.php
new file mode 100644
index 0000000..f7552af
--- /dev/null
+++ b/lib/elearning/studip_referrer_8x.php
@@ -0,0 +1,126 @@
+<?php
+/* Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE */
+
+/**
+* redirect script for studip-users
+*
+* @author Arne Schroeder <schroeder@data-quest.de>
+* @author Andre Noack <noack@data-quest.de>
+*
+*/
+
+/* ILIAS Version 8.x */
+
+if(file_exists("./ilias.ini.php")){
+ require_once("./Services/Init/classes/class.ilIniFile.php");
+ $ilIliasIniFile = new ilIniFile("./ilias.ini.php");
+ $ilIliasIniFile->read();
+ $serverSettings = $ilIliasIniFile->readGroup("server");
+ if (isset($serverSettings["studip"]) && $serverSettings["studip"] != 1)
+ {
+ echo 'Option "studip" in ilias.ini.php is not enabled. You need to add studip = "1" to the server section.';
+ exit();
+ }
+
+ $cookie_path = dirname($_SERVER['PHP_SELF']);
+ if (substr($cookie_path,-1) != "/") {
+ $cookie_path .= "/";
+ }
+ if (isset($_GET['sess_id']))
+ {
+ setcookie('PHPSESSID',$_GET['sess_id'],0, $cookie_path);
+ $_COOKIE['PHPSESSID'] = $_GET['sess_id'];
+ }
+
+ if (isset($_GET['client_id']))
+ {
+ setcookie('ilClientId',$_GET['client_id'],0, $cookie_path);
+ $_COOKIE['ilClientId'] = $_GET['client_id'];
+ }
+
+ require_once "./include/inc.header.php";
+
+ $base_url= "ilias.php?baseClass=ilDashboardGUI";
+
+
+ // redirect to specified page
+ $redirect = false;
+ switch($_GET['target'])
+ {
+ case 'start':
+ switch($_GET['type'])
+ {
+ case 'lm':
+ $base_url= "ilias.php?baseClass=ilLMPresentationGUI";
+ break;
+ case 'tst':
+ $base_url= "ilias.php?cmd=infoScreen&cmdClass=ilobjtestgui&baseClass=ilRepositoryGUI";
+ break;
+ case 'svy':
+ $base_url= "ilias.php?cmd=infoScreen&cmdClass=ilObjSurveyGUI&baseClass=ilRepositoryGUI";
+ break;
+ case 'exc':
+ $base_url= "ilias.php?cmd=infoScreen&cmdClass=ilExerciseHandlerGUI&baseClass=ilRepositoryGUI";
+ break;
+ case 'sahs':
+ $base_url = "ilias.php?baseClass=ilSAHSPresentationGUI";
+ break;
+ case 'htlm':
+ $base_url = "ilias.php?baseClass=ilHTLMPresentationGUI";
+ break;
+ case 'glo':
+ $base_url = "ilias.php?baseClass=ilGlossaryPresentationGUI";
+ break;
+ case 'cat':
+ case 'crs':
+ $base_url= "ilias.php?cmd=render&cmdClass=ilrepositorygui&baseClass=ilRepositoryGUI";
+ break;
+ case 'webr':
+ $base_url= "ilias.php?cmd=calldirectlink&baseClass=ilLinkResourceHandlerGUI";
+ break;
+ }
+ break;
+ case 'new':
+ $base_url = "ilias.php?baseClass=ilRepositoryGUI&cmd=create&new_type=".preg_replace('/[^a-z]/', '', $_GET['type']);
+ break;
+ case 'edit':
+ switch($_GET['type'])
+ {
+ case 'lm':
+ $base_url = "ilias.php?baseClass=ilLMEditorGUI";
+ break;
+ case 'tst':
+ $base_url = "ilias.php?baseClass=ilObjTestGUI";
+ break;
+ case 'sahs':
+ $base_url = "ilias.php?baseClass=ilSAHSEditGUI";
+ break;
+ case 'htlm':
+ $base_url = "ilias.php?baseClass=ilHTLMEditorGUI";
+ break;
+ case 'glo':
+ $base_url = "ilias.php?baseClass=ilGlossaryEditorGUI";
+ break;
+ case 'svy':
+ $base_url = "ilias.php?baseClass=ilObjSurveyGUI";
+ break;
+ case 'exc':
+ $base_url = "ilias.php?baseClass=ilExerciseHandlerGUI";
+ break;
+ case 'webr':
+ $base_url = "ilias.php?baseClass=ilLinkResourceHandlerGUI";
+ break;
+ }
+ break;
+ }
+ if ($base_url)
+ {
+ $base_url .= "&ref_id=".(int)$_GET['ref_id'];
+ $token_repository = new ilCtrlTokenRepository();
+ $token = $token_repository->getToken();
+ $base_url .= '&' . ilCtrlInterface::PARAM_CSRF_TOKEN . '=' . $token->getToken();
+ header("Location: " . $base_url);
+ exit();
+ }
+}
+