changed all the POST with option/required_param functions
[moodle.git] / mod / scorm / api.php
1 <?php
3     require_once("../../config.php");
4     require_once("lib.php");
6     $id = optional_param('id', '', PARAM_INT);       // Course Module ID, or
7     $a = optional_param('a', '', PARAM_INT);         // scorm ID
8     $scoid = required_param('scoid', '', PARAM_INT);  // sco ID
9     $mode = optional_param('mode', '', PARAM_ALPHA); // navigation mode
11     if (!empty($id)) {
12         if (! $cm = get_record("course_modules", "id", $id)) {
13             error("Course Module ID was incorrect");
14         }
15         if (! $course = get_record("course", "id", $cm->course)) {
16             error("Course is misconfigured");
17         }
18         if (! $scorm = get_record("scorm", "id", $cm->instance)) {
19             error("Course module is incorrect");
20         }
21     } else if (!empty($a)) {
22         if (! $scorm = get_record("scorm", "id", $a)) {
23             error("Course module is incorrect");
24         }
25         if (! $course = get_record("course", "id", $scorm->course)) {
26             error("Course is misconfigured");
27         }
28         if (! $cm = get_coursemodule_from_instance("scorm", $scorm->id, $course->id)) {
29             error("Course Module ID was incorrect");
30         }
31     } else {
32         error('A required parameter is missing');
33     }
35     require_login($course->id, false, $cm);
36     
37     if ($usertrack=scorm_get_tracks($scoid,$USER->id)) {
38         $userdata = $usertrack;
39     } else {
40         $userdata->status = '';
41         $userdata->scorre_raw = '';
42     }
43     $userdata->student_id = $USER->username;
44     $userdata->student_name = $USER->lastname .', '. $USER->firstname;
45     $userdata->mode = 'normal';
46     if (isset($mode)) {
47         $userdata->mode = $mode;
48     }
49     if ($userdata->mode == 'normal') {
50         $userdata->credit = 'credit';
51     } else {
52         $userdata->credit = 'no-credit';
53     }    
54     if ($sco = get_record('scorm_scoes','id',$scoid)) {
55         $userdata->datafromlms = $sco->datafromlms;
56         $userdata->masteryscore = $sco->masteryscore;
57         $userdata->maxtimeallowed = $sco->maxtimeallowed;
58         $userdata->timelimitaction = $sco->timelimitaction;
59     } else {
60         error('Sco not found');
61     }
63     switch ($scorm->version) {
64         case 'SCORM_1.2':
65             include_once ('datamodels/scorm1_2.js.php');
66         break;
67         case 'SCORM_1.3':
68             include_once ('datamodels/scorm1_3.js.php');
69         break;
70         case 'AICC':
71             include_once ('datamodels/aicc.js.php');
72         break;
73         default:
74             include_once ('datamodels/scorm1_2.js.php');
75         break;
76     }
77 ?>
79 var errorCode = "0";
81 function underscore(str) {
82     return str.replace(/\./g,"__");
83 }