function opigno_scorm_quiz_opigno_scorm_ui_commit in Opigno 7
Implements hook_opigno_scorm_ui_commit().
File
- modules/
scorm/ quiz/ opigno_scorm_quiz.module, line 160 - Module hook definitions.
Code
function opigno_scorm_quiz_opigno_scorm_ui_commit($scorm, $sco_id, $data) {
global $user;
// Store objectives and results.
if (!empty($data->cmi->objectives)) {
for ($i = 0, $len = count($data->cmi->objectives); $i < $len; $i++) {
opigno_scorm_scorm_cmi_set($user->uid, $scorm->id, "cmi.objectives.{$i}", $data->cmi->objectives[$i]);
}
}
if (!empty($data->scorm_version)) {
switch ($data->scorm_version) {
case '2004':
// Store the score.
if (!empty($data->cmi->score)) {
foreach (array(
'raw',
'min',
'max',
'scaled',
) as $key) {
if (isset($data->cmi->score->{$key})) {
opigno_scorm_scorm_cmi_set($user->uid, $scorm->id, "cmi.score.{$key}", $data->cmi->score->{$key});
}
}
}
// Store the success status.
if (!empty($data->cmi->success_status)) {
opigno_scorm_scorm_cmi_set($user->uid, $scorm->id, 'cmi.success_status', $data->cmi->success_status);
}
break;
case '1.2':
// Store the score.
if (!empty($data->cmi->core->score)) {
foreach (array(
'raw',
'min',
'max',
) as $key) {
if (isset($data->cmi->core->score->{$key})) {
opigno_scorm_scorm_cmi_set($user->uid, $scorm->id, "cmi.core.score.{$key}", $data->cmi->core->score->{$key});
}
}
}
break;
}
}
}