mirror of
https://github.com/moodle/moodle.git
synced 2025-04-21 00:12:56 +02:00
Merge branch 'MDL-51567-master' of git://github.com/jleyva/moodle
This commit is contained in:
commit
6be0240df5
@ -550,15 +550,29 @@ class mod_scorm_external extends external_api {
|
||||
$params['attempt'] = scorm_get_last_attempt($scorm->id, $user->id);
|
||||
}
|
||||
|
||||
if ($scormtracks = scorm_get_tracks($sco->id, $user->id, $params['attempt'])) {
|
||||
foreach ($scormtracks as $element => $value) {
|
||||
$tracks[] = array(
|
||||
'element' => $element,
|
||||
'value' => $value,
|
||||
);
|
||||
$attempted = false;
|
||||
if ($scormtracks = scorm_get_tracks($sco->id, $params['userid'], $params['attempt'])) {
|
||||
// Check if attempted.
|
||||
if ($scormtracks->status != '') {
|
||||
$attempted = true;
|
||||
foreach ($scormtracks as $element => $value) {
|
||||
$tracks[] = array(
|
||||
'element' => $element,
|
||||
'value' => $value,
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!$attempted) {
|
||||
$warnings[] = array(
|
||||
'item' => 'attempt',
|
||||
'itemid' => $params['attempt'],
|
||||
'warningcode' => 'notattempted',
|
||||
'message' => get_string('notattempted', 'scorm')
|
||||
);
|
||||
}
|
||||
|
||||
$result = array();
|
||||
$result['data']['attempt'] = $params['attempt'];
|
||||
$result['data']['tracks'] = $tracks;
|
||||
|
@ -476,6 +476,7 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
// 7 default elements + 2 custom ones.
|
||||
$this->assertCount(9, $result['data']['tracks']);
|
||||
$this->assertEquals(1, $result['data']['attempt']);
|
||||
$this->assertCount(0, $result['warnings']);
|
||||
// Find our tracking data.
|
||||
$found = 0;
|
||||
foreach ($result['data']['tracks'] as $userdata) {
|
||||
@ -488,6 +489,14 @@ class mod_scorm_external_testcase extends externallib_advanced_testcase {
|
||||
}
|
||||
$this->assertEquals(2, $found);
|
||||
|
||||
// Try invalid attempt.
|
||||
$result = mod_scorm_external::get_scorm_sco_tracks($sco->id, $student->id, 10);
|
||||
$result = external_api::clean_returnvalue(mod_scorm_external::get_scorm_sco_tracks_returns(), $result);
|
||||
$this->assertCount(0, $result['data']['tracks']);
|
||||
$this->assertEquals(10, $result['data']['attempt']);
|
||||
$this->assertCount(1, $result['warnings']);
|
||||
$this->assertEquals('notattempted', $result['warnings'][0]['warningcode']);
|
||||
|
||||
// Capabilities check.
|
||||
try {
|
||||
mod_scorm_external::get_scorm_sco_tracks($sco->id, $otherstudent->id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user