diff --git a/mod/scorm/datamodels/aicclib.php b/mod/scorm/datamodels/aicclib.php index e5d633e4700..f1cb198acde 100644 --- a/mod/scorm/datamodels/aicclib.php +++ b/mod/scorm/datamodels/aicclib.php @@ -330,7 +330,7 @@ function scorm_parse_aicc($scorm) { return true; } -function scorm_get_toc($user,$scorm,$liststyle,$currentorg='',$scoid='',$mode='normal',$attempt='',$play=false, $tocheader=false) { +function scorm_get_toc($user,$scorm,$toclink=TOCJSLINK,$currentorg='',$scoid='',$mode='normal',$attempt='',$play=false, $tocheader=false) { global $CFG, $DB, $PAGE, $OUTPUT; $strexpand = get_string('expcoll','scorm'); @@ -515,17 +515,19 @@ function scorm_get_toc($user,$scorm,$liststyle,$currentorg='',$scoid='',$mode='n if ($sco->id == $scoid) { $result->prerequisites = true; } - $url = $CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'¤torg='.$currentorg.$modestr.'&scoid='.$sco->id; + $thisscoidstr = '&scoid='.$sco->id; - //$link = $CFG->wwwroot.'/mod/scorm/loadSCO.php?a='.$scorm->id.$thisscoidstr.$modestr; $link = 'a='.$scorm->id.$thisscoidstr.'¤torg='.$currentorg.$modestr.'&attempt='.$attempt; - //$result->toc .= $statusicon.' '.$startbold.''.format_string($sco->title).''.$score.$endbold."\n"; - //$result->toc .= ''.$statusicon.' '.format_string($sco->title).' '.$score.''; - if ($sco->launch) { - $result->toc .= ''.$statusicon.' '.format_string($sco->title).' '.$score.''; - } - else { - $result->toc .= ''.$statusicon.' '.format_string($sco->title).''; + + if ($toclink == TOCFULLURL) { //display toc with urls for structure page + $url = $CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'¤torg='.$currentorg.$modestr.'&scoid='.$sco->id; + $result->toc .= $statusicon.' '.format_string($sco->title).''.$score."\n"; + } else { + if ($sco->launch) { + $result->toc .= ''.$statusicon.' '.format_string($sco->title).' '.$score.''; + } else { + $result->toc .= ''.$statusicon.' '.format_string($sco->title).''; + } } $tocmenus[$sco->id] = scorm_repeater('−',$level) . '>' . format_string($sco->title); } else { diff --git a/mod/scorm/datamodels/scorm_12lib.php b/mod/scorm/datamodels/scorm_12lib.php index 7944f4e55ff..a2bb0323e19 100644 --- a/mod/scorm/datamodels/scorm_12lib.php +++ b/mod/scorm/datamodels/scorm_12lib.php @@ -106,7 +106,7 @@ function scorm_eval_prerequisites($prerequisites, $usertracks) { return eval('return '.implode($stack).';'); } -function scorm_get_toc($user,$scorm,$liststyle,$currentorg='',$scoid='',$mode='normal',$attempt='',$play=false, $tocheader=false) { +function scorm_get_toc($user,$scorm,$toclink=TOCJSLINK,$currentorg='',$scoid='',$mode='normal',$attempt='',$play=false, $tocheader=false) { global $CFG, $DB, $PAGE, $OUTPUT; $strexpand = get_string('expcoll','scorm'); @@ -293,18 +293,18 @@ function scorm_get_toc($user,$scorm,$liststyle,$currentorg='',$scoid='',$mode='n if ($sco->id == $scoid) { $result->prerequisites = true; } - // $url = $CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'¤torg='.$currentorg.$modestr.'&scoid='.$sco->id; $thisscoidstr = '&scoid='.$sco->id; - //$link = $CFG->wwwroot.'/mod/scorm/loadSCO.php?a='.$scorm->id.$thisscoidstr.$modestr; $link = 'a='.$scorm->id.$thisscoidstr.'¤torg='.$currentorg.$modestr.'&attempt='.$attempt; - //$result->toc .= $statusicon.' '.$startbold.''.format_string($sco->title).''.$score.$endbold."\n"; - //$result->toc .= $startbold.''.$statusicon.' '.format_string($sco->title).' '.$score.''.$endbold."\n"; - if ($sco->launch) { - $result->toc .= ''.$statusicon.' '.format_string($sco->title).' '.$score.''; - } - else { - $result->toc .= ''.$statusicon.' '.format_string($sco->title).''; + if ($toclink == TOCFULLURL) { //display toc with urls for structure page + $url = $CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'¤torg='.$currentorg.$modestr.'&scoid='.$sco->id; + $result->toc .= $statusicon.' '.format_string($sco->title).''.$score."\n"; + } else { //display toc for inside scorm player + if ($sco->launch) { + $result->toc .= ''.$statusicon.' '.format_string($sco->title).' '.$score.''; + } else { + $result->toc .= ''.$statusicon.' '.format_string($sco->title).''; + } } $tocmenus[$sco->id] = scorm_repeater('−',$level) . '>' . format_string($sco->title); } else { diff --git a/mod/scorm/datamodels/scorm_13lib.php b/mod/scorm/datamodels/scorm_13lib.php index bf43267de00..cff809de841 100644 --- a/mod/scorm/datamodels/scorm_13lib.php +++ b/mod/scorm/datamodels/scorm_13lib.php @@ -1,6 +1,6 @@ id == $scoid) { $result->prerequisites = true; } + + if ($toclink == TOCFULLURL) { //display toc with urls for structure page $url = $CFG->wwwroot.'/mod/scorm/player.php?a='.$scorm->id.'¤torg='.$currentorg.$modestr.'&scoid='.$sco->id; - $thisscoidstr = '&scoid='.$sco->id; - //$link = $CFG->wwwroot.'/mod/scorm/loadSCO.php?a='.$scorm->id.$thisscoidstr.$modestr; - $link = 'a='.$scorm->id.$thisscoidstr.'¤torg='.$currentorg.$modestr.'&attempt='.$attempt; - //$result->toc .= $statusicon.' '.$startbold.''.format_string($sco->title).''.$score.$endbold."\n"; - //$result->toc .= '