diff options
| author | Arne Schröder, M. A. <schroeder@data-quest.de> | 2023-12-04 11:53:12 +0000 |
|---|---|---|
| committer | André Noack <noack@data-quest.de> | 2023-12-04 11:53:12 +0000 |
| commit | d375c5134f04c995378fa7af6e853ef7545614a4 (patch) | |
| tree | a41ef04ac601f62a57a52805373cb5def4378a59 /lib/elearning | |
| parent | ccbcc9c6f3920bb8261d039113691f2a27add80f (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.php | 126 |
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(); + } +} + |
