From 28ffbff352d0fa9ddb72ad73a58ac4c859a54625 Mon Sep 17 00:00:00 2001 From: csantossaenz <csantossaenz> Date: Thu, 8 Mar 2007 12:06:26 +0000 Subject: [PATCH] Fixed MDL - 8600: scorm_simple_play function changed to make it work in PostgreSQL, making the changes explained on moodle-tracker 8600 --- mod/scorm/locallib.php | 49 ++++++++++++++++++++++++++++++++++++++---- 1 file changed, 45 insertions(+), 4 deletions(-) diff --git a/mod/scorm/locallib.php b/mod/scorm/locallib.php index f5f4f52385..03fe288b7d 100755 --- a/mod/scorm/locallib.php +++ b/mod/scorm/locallib.php @@ -532,22 +532,36 @@ function scorm_view_display ($user, $scorm, $action, $cm, $boxwidth='') { $orgidentifier = $sco->organization; } } + +/* + $orgidentifier = ''; + if ($org = get_record('scorm_scoes','id',$organization)) { + if (($org->organization == '') && ($org->launch == '')) { + $orgidentifier = $org->identifier; + } else { + $orgidentifier = $org->organization; + } + }*/ + $scorm->version = strtolower(clean_param($scorm->version, PARAM_SAFEDIR)); // Just to be safe if (!file_exists($CFG->dirroot.'/mod/scorm/datamodels/'.$scorm->version.'lib.php')) { $scorm->version = 'scorm_12'; } require_once($CFG->dirroot.'/mod/scorm/datamodels/'.$scorm->version.'lib.php'); + $result = scorm_get_toc($user,$scorm,'structlist',$orgidentifier); $incomplete = $result->incomplete; echo $result->toc; print_simple_box_end(); + ?> <div class="center"> - <form id="theform" method="post" action="<?php echo $CFG->wwwroot ?>/mod/scorm/player.php?id=<?php echo $cm->id ?>"<?php echo $scorm->popup == 1?' target="newwin"':'' ?>> + <form id="theform" method="post" action="<?php echo $CFG->wwwroot ?>/mod/scorm/player.php?scoid=<?php echo $sco->id ?>&id=<?php echo $cm->id ?>"<?php echo $scorm->popup == 1?' target="newwin"':'' ?>> <?php if ($scorm->hidebrowse == 0) { print_string('mode','scorm'); + echo '<input type="hidden" name="scoid" value="$sco->id" />'."\n"; echo ': <input type="radio" id="b" name="mode" value="browse" /><label for="b">'.get_string('browse','scorm').'</label>'."\n"; echo '<input type="radio" id="n" name="mode" value="normal" checked="checked" /><label for="n">'.get_string('normal','scorm')."</label>\n"; } else { @@ -562,14 +576,41 @@ function scorm_view_display ($user, $scorm, $action, $cm, $boxwidth='') { } ?> <br /> - <input type="hidden" name="scoid" /> + <input type="hidden" name="scoid"/> <input type="hidden" name="currentorg" value="<?php echo $orgidentifier ?>" /> <input type="submit" value="<?php print_string('entercourse','scorm') ?>" /> </form> </div> <?php } - +function scorm_simple_play($scorm,$user) { + $result = false; + + $scoes = get_records_select('scorm_scoes','scorm='.$scorm->id.' AND launch<>\'\''); + echo 'EL COUNT VALE '.count($scoes); + foreach ($scoes as $sco){ + echo 'VEAMOS IDS'.$sco->id; + } + + if (count($scoes) == 1) { + echo 'ENTRA AQUI EN EL ==1'; + if ($scorm->skipview >= 1) { + $sco = current($scoes); + if (scorm_get_tracks($sco->id,$user->id) === false) { + echo 'LLAMO PLAYER LOCAL 2'; + header('Location: player.php?a='.$scorm->id.'&scoid= '.$sco->id); + $result = true; + } else if ($scorm->skipview == 2) { + echo 'LLAMO PLAYER LOCAL 3'; + header('Location: player.php?a='.$scorm->id.'&scoid= '.$sco->id); + $result = true; + } + } + } + echo 'va al result'; + return $result; +} +/* function scorm_simple_play($scorm,$user) { $result = false; if ($scoes = get_records_select('scorm_scoes','scorm='.$scorm->id.' AND launch<>""')) { @@ -588,7 +629,7 @@ function scorm_simple_play($scorm,$user) { } return $result; } - +*/ function scorm_parse($scorm) { global $CFG,$repositoryconfigfile; -- 2.39.5