~ubuntu-branches/ubuntu/breezy/moodle/breezy

« back to all changes in this revision

Viewing changes to mod/scorm/aicc.php

  • Committer: Bazaar Package Importer
  • Author(s): Andrew Mitchell
  • Date: 2005-10-13 02:00:59 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20051013020059-y2qcyo41t7nqppcg
Tags: 1.5.2-1ubuntu1
* Resync with debian (security update)
* changed dependencys to php5
* changed apache dependency to apache2 
* References
  CAN-2005-2247

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
<?php
 
2
    require_once('../../config.php');
 
3
    require_once('lib.php');
 
4
 
 
5
    //require_login($course->id, false, $cm);
 
6
    
 
7
    if (isset($_POST['command']) && confirm_sesskey($_POST['session_id'])) {
 
8
        $command = strtolower($_POST['command']);
 
9
       
 
10
        if (isset($SESSION->scorm_scoid)) {
 
11
            $scoid = $SESSION->scorm_scoid;
 
12
        } else {
 
13
            error('Invalid script call');
 
14
        }
 
15
        $mode = 'normal';
 
16
        if (isset($SESSION->scorm_mode)) {
 
17
            $mode = $SESSION->scorm_mode;
 
18
        }
 
19
        $status = 'Not Initialized';
 
20
        if (isset($SESSION->scorm_status)) {
 
21
            $status = $SESSION->scorm_status;
 
22
        }
 
23
        if ($sco = get_record('scorm_scoes','id',$scoid)) {
 
24
            if (!$scorm = get_record('scorm','id',$sco->scorm)) {
 
25
                error('Invalid script call');
 
26
            }
 
27
        } else {
 
28
            error('Invalid script call');
 
29
        }
 
30
 
 
31
        if ($scorm = get_record('scorm','id',$sco->scorm)) {
 
32
            switch ($command) {
 
33
                case 'getparam':
 
34
                    if ($status == 'Not Initialized') {
 
35
                        $SESSION->scorm_status = 'Running';
 
36
                        $status = 'Running';
 
37
                    }
 
38
                    if ($status != 'Running') {
 
39
                        echo "error = 101\nerror_text = Terminated\n";
 
40
                    } else {
 
41
                        if ($usertrack=scorm_get_tracks($scoid,$USER->id)) {
 
42
                            $userdata = $usertrack;
 
43
                        } else {
 
44
                            $userdata->status = '';
 
45
                            $userdata->scorre_raw = '';
 
46
                        }
 
47
                        $userdata->student_id = $USER->username;
 
48
                        $userdata->student_name = $USER->lastname .', '. $USER->firstname;
 
49
                        $userdata->mode = $mode;
 
50
                
 
51
                        if ($sco = get_record('scorm_scoes','id',$scoid)) {
 
52
                            $userdata->datafromlms = $sco->datafromlms;
 
53
                            $userdata->masteryscore = $sco->masteryscore;
 
54
                            $userdata->maxtimeallowed = $sco->maxtimeallowed;
 
55
                            $userdata->timelimitaction = $sco->timelimitaction;
 
56
                            if (!empty($sco->masteryscore)) {
 
57
                                $userdata->credit = 'credit';
 
58
                            } else {
 
59
                                $userdata->credit = 'no-credit';
 
60
                            }    
 
61
                            echo "error = 0\nerror_text = Successful\naicc_data=\n";
 
62
                            echo "[Core]\n";
 
63
                            echo 'Student_ID = '.$userdata->student_id."\n";
 
64
                            echo 'Student_Name = '.$userdata->student_name."\n";
 
65
                            if (isset($userdata->{'cmi.core.lesson_location'})) {
 
66
                                echo 'Lesson_Location = '.$userdata->{'cmi.core.lesson_location'}."\n";
 
67
                            } else {
 
68
                                echo 'Lesson_Location = '."\n";
 
69
                            }
 
70
                            echo 'Credit = '.$userdata->credit."\n";
 
71
                            if (isset($userdata->{'cmi.core.lesson_status'})) {
 
72
                                echo 'Lesson_Status = '.$userdata->{'cmi.core.lesson_status'}."\n";
 
73
                            } else {
 
74
                                echo 'Lesson_Status = '."\n";
 
75
                            }
 
76
                            if (isset($userdata->{'cmi.core.score.raw'})) {
 
77
                                echo 'Score = '.$userdata->{'cmi.core.score.raw'}."\n";
 
78
                            } else {
 
79
                                echo 'Score = '."\n";
 
80
                            }
 
81
                            if (isset($userdata->{'cmi.core.total_time'})) {
 
82
                                echo 'Time = '.$userdata->{'cmi.core.total_time'}."\n";
 
83
                            } else {
 
84
                                echo 'Time = '.'00:00:00'."\n";
 
85
                            }
 
86
                            if (isset($userdata->{'cmi.suspend_data'})) {
 
87
                                echo "[Core_Lesson]\n".$userdata->{'cmi.suspend_data'}."\n";
 
88
                            } else {
 
89
                                echo "[Core_Lesson]\n"."\n";
 
90
                            }
 
91
                            echo "[Core_Vendor]\n".$userdata->datafromlms."\n";
 
92
                        } else {
 
93
                            error('Sco not found');
 
94
                        }
 
95
                    }
 
96
                break;
 
97
                case 'putparam':
 
98
                    if ($status == 'Running') {
 
99
                        print_r($_POST['aicc_data']);
 
100
                        echo "error = 0\nerror_text = Successful\n";
 
101
                    }
 
102
                break;
 
103
                case 'putcomments':
 
104
                    if ($status == 'Running') {
 
105
                        print_r($_POST['aicc_data']);
 
106
                        echo "error = 0\nerror_text = Successful\n";
 
107
                    }
 
108
                break;
 
109
                case 'putinteractions':
 
110
                    if ($status == 'Running') {
 
111
                        print_r($_POST['aicc_data']);
 
112
                        echo "error = 0\nerror_text = Successful\n";
 
113
                    }
 
114
                break;
 
115
                case 'putobjectives':
 
116
                    if ($status == 'Running') {
 
117
                        print_r($_POST['aicc_data']);
 
118
                        echo "error = 0\nerror_text = Successful\n";
 
119
                    }
 
120
                break;
 
121
                case 'putpath':
 
122
                    if ($status == 'Running') {
 
123
                        print_r($_POST['aicc_data']);
 
124
                        echo "error = 0\nerror_text = Successful\n";
 
125
                    }
 
126
                break;
 
127
                case 'putperformance':
 
128
                    if ($status == 'Running') {
 
129
                        print_r($_POST['aicc_data']);
 
130
                        echo "error = 0\nerror_text = Successful\n";
 
131
                    }
 
132
                break;
 
133
                case 'exitau':
 
134
                    if ($status == 'Running') {
 
135
                        $SESSION->scorm_status = 'Terminated';                  
 
136
                        echo "error = 0\nerror_text = Successful\n";
 
137
                    }
 
138
                break;
 
139
            }
 
140
        }
 
141
    }
 
142
?>
 
 
b'\\ No newline at end of file'