function opigno_scorm_opigno_scorm_register_cmi_data in Opigno SCORM 8
Same name and namespace in other branches
- 3.x opigno_scorm.module \opigno_scorm_opigno_scorm_register_cmi_data()
Implements hook_opigno_scorm_register_cmi_data().
File
- ./
opigno_scorm.module, line 121 - Module functionality implementation.
Code
function opigno_scorm_opigno_scorm_register_cmi_data($scorm, $scos, $scorm_version) {
$account = \Drupal::currentUser();
if (!$account
->id()) {
$learner_name = "anonymous";
}
else {
$learner_name = $account
->getAccountName();
}
switch ($scorm_version) {
case '2004':
$data = [
'cmi.location' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.location', ''),
'cmi.completion_status' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.completion_status', 'unknown'),
'cmi.exit' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.exit', ''),
'cmi.entry' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.entry', ''),
'cmi.learner_id' => $account
->id(),
'cmi.learner_name' => $learner_name,
'cmi.learner_preference._children' => "audio_level,language,delivery_speed,audio_captioning",
'cmi.learner_preference.audio_level' => 1,
'cmi.learner_preference.language' => '',
'cmi.learner_preference.delivery_speed' => 1,
'cmi.learner_preference.audio_captioning' => 0,
];
break;
case '1.2':
$data = [
'cmi.core.lesson_location' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.core.lesson_location', ''),
'cmi.core.exit' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.core.exit', ''),
'cmi.core.student_id' => $account
->id(),
'cmi.core.entry' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.core.entry', ''),
'cmi.core.student_name' => $learner_name,
'cmi.student_preference._children' => "audio,language,speed,text",
'cmi.student_preference.audio' => [],
'cmi.student_preference.language' => '',
'cmi.student_preference.speed' => [],
'cmi.student_preference.text' => [],
'cmi.core.score._children' => opigno_scorm_scorm_cmi_get($account
->id(), $scorm->id, 'cmi.core.score._children', 'raw,min,max'),
];
break;
}
return $data;
}