From 33cf55bf96bc607f5356ce26f40c316e6e0c64b1 Mon Sep 17 00:00:00 2001 From: csantossaenz Date: Tue, 8 May 2007 07:38:11 +0000 Subject: [PATCH] Changed Ojective Rollup Process --- mod/scorm/datamodels/sequencinglib.php | 28 ++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/mod/scorm/datamodels/sequencinglib.php b/mod/scorm/datamodels/sequencinglib.php index f25584f19a7e4..f4efdb7acac2a 100755 --- a/mod/scorm/datamodels/sequencinglib.php +++ b/mod/scorm/datamodels/sequencinglib.php @@ -551,7 +551,12 @@ function scorm_seq_measure_rollup($sco,$userid){ } function scorm_seq_objective_rollup($sco,$userid){ + + scorm_seq_objective_rollup_measure($sco,$userid); + scorm_seq_objective_rollup_rules($sco,$userid); + scorm_seq_objective_rollup_default($sco,$userid); +/* if($targetobjective->satisfiedbymeasure){ scorm_seq_objective_rollup_measure($sco,$userid); } @@ -577,6 +582,7 @@ function scorm_seq_objective_rollup($sco,$userid){ } } +*/ } function scorm_seq_objective_rollup_measure($sco,$userid){ @@ -634,6 +640,28 @@ function scorm_seq_objective_rollup_measure($sco,$userid){ } +function scorm_seq_objective_rollup_default($sco,$userid){ + if (!(scorm_seq_rollup_rule_check($sco,$userid,'incomplete')) && !(scorm_seq_rollup_rule_check($sco,$userid,'completed'))){ + + $rolluprules = get_record('scorm_seq_rolluprule','scoid',$sco->id,'userid',$userid); + foreach($rolluprules as $rolluprule){ + $rollupruleconds = get_records('scorm_seq_rolluprulecond','rollupruleid',$rolluprule->id); + foreach($rollupruleconds as $rolluprulecond){ + + switch ($rolluprulecond->cond!='satisfied' && $rolluprulecond->cond!='completed' && $rolluprulecond->cond!='attempted'){ + + scorm_seq_set('objectivesatisfiedstatus',$sco->id,$userid, false); + + break; + } + } + + + } + } + +} + function scorm_seq_objective_rollup_rules($sco,$userid){ $targetobjective = null;