mirror of
https://github.com/moodle/moodle.git
synced 2025-02-15 21:36:58 +01:00
Fixed some bugs - Now AICC launching seems to work.
This commit is contained in:
parent
5ecf32ebf2
commit
d475f685c2
@ -2,7 +2,7 @@
|
||||
require_once('../../config.php');
|
||||
require_once('lib.php');
|
||||
|
||||
require_login($course->id, false, $cm);
|
||||
//require_login($course->id, false, $cm);
|
||||
|
||||
if (isset($_POST['command']) && confirm_sesskey($_POST['session_id'])) {
|
||||
$command = strtolower($_POST['command']);
|
||||
@ -16,7 +16,10 @@
|
||||
if (isset($SESSION->scorm_mode)) {
|
||||
$mode = $SESSION->scorm_mode;
|
||||
}
|
||||
$status = $SESSION->scorm_status;
|
||||
$status = 'Not Initialized';
|
||||
if (isset($SESSION->scorm_status)) {
|
||||
$status = $SESSION->scorm_status;
|
||||
}
|
||||
if ($sco = get_record('scorm_scoes','id',$scoid)) {
|
||||
if (!$scorm = get_record('scorm','id',$sco->scorm)) {
|
||||
error('Invalid script call');
|
||||
@ -24,95 +27,116 @@
|
||||
} else {
|
||||
error('Invalid script call');
|
||||
}
|
||||
|
||||
if ($scorm = get_record('scorm','id',$sco->scorm)) {
|
||||
switch $command {
|
||||
case 'getparam':
|
||||
if ($status == 'Not Initialized') {
|
||||
$SESSION->scorm_status = 'Running';
|
||||
$status = 'Running';
|
||||
}
|
||||
if ($status != 'Running') {
|
||||
echo "error = 101\nerror_text = Terminated\n";
|
||||
} else {
|
||||
if ($usertrack=scorm_get_tracks($scoid,$USER->id)) {
|
||||
$userdata = $usertrack;
|
||||
} else {
|
||||
$userdata->status = '';
|
||||
$userdata->scorre_raw = '';
|
||||
switch ($command) {
|
||||
case 'getparam':
|
||||
if ($status == 'Not Initialized') {
|
||||
$SESSION->scorm_status = 'Running';
|
||||
$status = 'Running';
|
||||
}
|
||||
$userdata->student_id = $USER->username;
|
||||
$userdata->student_name = $USER->lastname .', '. $USER->firstname;
|
||||
$userdata->mode = $mode;
|
||||
|
||||
if ($sco = get_record('scorm_scoes','id',$scoid)) {
|
||||
$userdata->datafromlms = $sco->datafromlms;
|
||||
$userdata->masteryscore = $sco->masteryscore;
|
||||
$userdata->maxtimeallowed = $sco->maxtimeallowed;
|
||||
$userdata->timelimitaction = $sco->timelimitaction;
|
||||
if (!empty($sco->masteryscore)) {
|
||||
$userdata->credit = 'credit';
|
||||
if ($status != 'Running') {
|
||||
echo "error = 101\nerror_text = Terminated\n";
|
||||
} else {
|
||||
if ($usertrack=scorm_get_tracks($scoid,$USER->id)) {
|
||||
$userdata = $usertrack;
|
||||
} else {
|
||||
$userdata->credit = 'no-credit';
|
||||
}
|
||||
echo "error = 0\nerror_text = Successful\naicc_data=\n";
|
||||
echo "[Core]\n";
|
||||
echo 'Student_ID = '.$userdata->student_id."\n";
|
||||
echo 'Student_Name = '.$userdata->student_name."\n";
|
||||
echo 'Lesson_Location = '.isset($userdata->{'cmi.core.lesson_location'})?$userdata->{'cmi.core.lesson_location'}:''."\n";
|
||||
echo 'Credit = '.$userdata->credit."\n";
|
||||
echo 'Lesson_Status = '.isset($userdata->{'cmi.core.lesson_status'})?$userdata->{'cmi.core.lesson_status'}:''."\n";
|
||||
echo 'Score = '.isset($userdata->{'cmi.core.score.raw'})?$userdata->{'cmi.core.score.raw'}:''."\n";
|
||||
echo 'Time = '.isset($userdata->{'cmi.core.total_time'})?$userdata->{'cmi.core.total_time'}:'00:00:00'."\n";
|
||||
echo "[Core_Lesson]\n".isset($userdata->{'cmi.suspend_data'})?$userdata->{'cmi.suspend_data'}:''."\n";
|
||||
echo "[Core_Vendor]\n".$userdata->datafromlms."\n";
|
||||
} else {
|
||||
error('Sco not found');
|
||||
$userdata->status = '';
|
||||
$userdata->scorre_raw = '';
|
||||
}
|
||||
$userdata->student_id = $USER->username;
|
||||
$userdata->student_name = $USER->lastname .', '. $USER->firstname;
|
||||
$userdata->mode = $mode;
|
||||
|
||||
if ($sco = get_record('scorm_scoes','id',$scoid)) {
|
||||
$userdata->datafromlms = $sco->datafromlms;
|
||||
$userdata->masteryscore = $sco->masteryscore;
|
||||
$userdata->maxtimeallowed = $sco->maxtimeallowed;
|
||||
$userdata->timelimitaction = $sco->timelimitaction;
|
||||
if (!empty($sco->masteryscore)) {
|
||||
$userdata->credit = 'credit';
|
||||
} else {
|
||||
$userdata->credit = 'no-credit';
|
||||
}
|
||||
echo "error = 0\nerror_text = Successful\naicc_data=\n";
|
||||
echo "[Core]\n";
|
||||
echo 'Student_ID = '.$userdata->student_id."\n";
|
||||
echo 'Student_Name = '.$userdata->student_name."\n";
|
||||
if (isset($userdata->{'cmi.core.lesson_location'})) {
|
||||
echo 'Lesson_Location = '.$userdata->{'cmi.core.lesson_location'}."\n";
|
||||
} else {
|
||||
echo 'Lesson_Location = '."\n";
|
||||
}
|
||||
echo 'Credit = '.$userdata->credit."\n";
|
||||
if (isset($userdata->{'cmi.core.lesson_status'})) {
|
||||
echo 'Lesson_Status = '.$userdata->{'cmi.core.lesson_status'}."\n";
|
||||
} else {
|
||||
echo 'Lesson_Status = '."\n";
|
||||
}
|
||||
if (isset($userdata->{'cmi.core.score.raw'})) {
|
||||
echo 'Score = '.$userdata->{'cmi.core.score.raw'}."\n";
|
||||
} else {
|
||||
echo 'Score = '."\n";
|
||||
}
|
||||
if (isset($userdata->{'cmi.core.total_time'})) {
|
||||
echo 'Time = '.$userdata->{'cmi.core.total_time'}."\n";
|
||||
} else {
|
||||
echo 'Time = '.'00:00:00'."\n";
|
||||
}
|
||||
if (isset($userdata->{'cmi.suspend_data'})) {
|
||||
echo "[Core_Lesson]\n".$userdata->{'cmi.suspend_data'}."\n";
|
||||
} else {
|
||||
echo "[Core_Lesson]\n"."\n";
|
||||
}
|
||||
echo "[Core_Vendor]\n".$userdata->datafromlms."\n";
|
||||
} else {
|
||||
error('Sco not found');
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 'putparam':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putcomments':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putinteractions':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putobjectives':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putpath':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putperformance':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'exitau':
|
||||
if ($status == 'Running') {
|
||||
$SESSION->scorm_status = 'Terminated';
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
break;
|
||||
case 'putparam':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putcomments':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putinteractions':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putobjectives':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putpath':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'putperformance':
|
||||
if ($status == 'Running') {
|
||||
print_r($_POST['aicc_data']);
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
case 'exitau':
|
||||
if ($status == 'Running') {
|
||||
$SESSION->scorm_status = 'Terminated';
|
||||
echo "error = 0\nerror_text = Successful\n";
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
||||
?>
|
Loading…
x
Reference in New Issue
Block a user