[svn r12629] Added cmi.score.scaled setting (not functional, added in prevision for SCORM 1.3)

skala
Yannick Warnier 19 years ago
parent d1e769abf8
commit eec74575d5
  1. 59
      main/newscorm/scorm_api.php

@ -329,6 +329,16 @@ function LMSGetValue(param) {
case 'cmi.core.score' : case 'cmi.core.score' :
result=score; result=score;
break; break;
case 'cmi.score.scaled' : //1.3
if(score < -1 || score >1)
{
result=score/max;
}
else
{
result=score;
}
break;
case 'cmi.core.credit' : case 'cmi.core.credit' :
result='no-credit'; result='no-credit';
break; break;
@ -371,26 +381,34 @@ function LMSSetValue(param, val) {
logit_scorm("LMSSetValue\n\t('"+param+"','"+val+"')",0); logit_scorm("LMSSetValue\n\t('"+param+"','"+val+"')",0);
G_LastError = G_NoError ; G_LastError = G_NoError ;
G_LastErrorMessage = 'No error'; G_LastErrorMessage = 'No error';
return_value = "true"; return_value = 'false';
switch(param) { switch(param) {
case 'cmi.core.score.raw' : score= val ; break; case 'cmi.core.score.raw' : score= val; return_value='true'; break;
case 'cmi.core.score.max' : max = val; break; case 'cmi.core.score.max' : max = val;return_value='true';break;
case 'cmi.core.score.min' : min = val; break; case 'cmi.core.score.min' : min = val;return_value='true';break;
case 'cmi.core.lesson_location' : lesson_location = val;break; case 'cmi.core.lesson_location' : lesson_location = val;return_value='true';break;
case 'cmi.core.lesson_status' : case 'cmi.core.lesson_status' :
saved_lesson_status = lesson_status; saved_lesson_status = lesson_status;
lesson_status = val; lesson_status = val;
<?php if($oLP->mode != 'fullscreen'){ ?> return_value='true';
//var update = update_toc(lesson_status,lms_item_id); break;
<?php } ?> case 'cmi.completion_status' : lesson_status = val;return_value='true';break; //1.3
case 'cmi.core.session_time' : session_time = val;return_value='true';break;
case 'cmi.score.scaled' : //1.3
if(val<=1 && val>=-1)
{
score = val ;
return_value='true';
}
else
{
return_value='false';
}
break; break;
case 'cmi.completion_status' : lesson_status = val; break; //1.3 case 'cmi.success_status' : success_status = val;return_value='true';break; //1.3
case 'cmi.core.session_time' : session_time = val; break; case 'cmi.suspend_data' : suspend_data = val;return_value='true';break;
case 'cmi.score.scaled' : score = val ; break; //1.3 case 'cmi.core.exit' : lms_item_core_exit = val;return_value='true';break;
case 'cmi.success_status' : success_status = val; break; //1.3 case 'cmi.core.entry' : G_LastError = G_ElementIsReadOnly; break;
case 'cmi.suspend_data' : suspend_data = val; break;
case 'cmi.core.exit' : lms_item_core_exit = val; break;
case 'cmi.core.entry' : return_value = "false"; G_LastError = G_ElementIsReadOnly; break;
default: default:
var myres = new Array(); var myres = new Array();
if(myres = param.match(/cmi.interactions.(\d+).(id|time|type|correct_responses|weighting|student_response|result|latency)(.*)/)){ if(myres = param.match(/cmi.interactions.(\d+).(id|time|type|correct_responses|weighting|student_response|result|latency)(.*)/)){
@ -408,46 +426,51 @@ function LMSSetValue(param, val) {
case 'id': case 'id':
interactions[elem_id][0] = val; interactions[elem_id][0] = val;
logit_scorm("Interaction "+elem_id+"'s id updated",2); logit_scorm("Interaction "+elem_id+"'s id updated",2);
return_value='true';
break; break;
case 'time': case 'time':
interactions[elem_id][2] = val; interactions[elem_id][2] = val;
logit_scorm("Interaction "+elem_id+"'s time updated",2); logit_scorm("Interaction "+elem_id+"'s time updated",2);
return_value='true';
break; break;
case 'type': case 'type':
interactions[elem_id][1] = val; interactions[elem_id][1] = val;
logit_scorm("Interaction "+elem_id+"'s type updated",2); logit_scorm("Interaction "+elem_id+"'s type updated",2);
return_value='true';
break; break;
case 'correct_responses': case 'correct_responses':
//do nothing yet //do nothing yet
interactions[elem_id][4].push(val); interactions[elem_id][4].push(val);
logit_scorm("Interaction "+elem_id+"'s correct_responses not updated",2); logit_scorm("Interaction "+elem_id+"'s correct_responses not updated",2);
return_value='true';
break; break;
case 'weighting': case 'weighting':
interactions[elem_id][3] = val; interactions[elem_id][3] = val;
logit_scorm("Interaction "+elem_id+"'s weighting updated",2); logit_scorm("Interaction "+elem_id+"'s weighting updated",2);
return_value='true';
break; break;
case 'student_response': case 'student_response':
interactions[elem_id][5] = val; interactions[elem_id][5] = val;
logit_scorm("Interaction "+elem_id+"'s student_response updated",2); logit_scorm("Interaction "+elem_id+"'s student_response updated",2);
return_value='true';
break; break;
case 'result': case 'result':
interactions[elem_id][6] = val; interactions[elem_id][6] = val;
logit_scorm("Interaction "+elem_id+"'s result updated",2); logit_scorm("Interaction "+elem_id+"'s result updated",2);
return_value='true';
break; break;
case 'latency': case 'latency':
interactions[elem_id][7] = val; interactions[elem_id][7] = val;
logit_scorm("Interaction "+elem_id+"'s latency updated",2); logit_scorm("Interaction "+elem_id+"'s latency updated",2);
return_value='true';
break; break;
} }
}else{ }else{
return_value = "false";
G_lastError = G_NotImplementedError; G_lastError = G_NotImplementedError;
G_lastErrorString = 'Not implemented yet'; G_lastErrorString = 'Not implemented yet';
} }
break; break;
} }
//var update = update_toc();
//var update_progress = update_progress_bar();
<?php <?php
if ($oLP->force_commit == 1){ if ($oLP->force_commit == 1){
echo " var mycommit = LMSCommit('force');"; echo " var mycommit = LMSCommit('force');";

Loading…
Cancel
Save