aboutsummaryrefslogtreecommitdiff
path: root/lib/elearning/studip_referrer.php
blob: 7a0257cc0464680857441b8af4933e51bbe357cd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
<?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 4.4.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)
    {
        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 (mb_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=ilPersonalDesktopGUI";


    // 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'];
        $base_url = html_entity_decode($ilCtrl->appendRequestTokenParameterString($base_url));
        header("Location: " . $base_url);
        exit();
    }
}
?>