From bfc2b3d32ec6f2cf285263b1f241cf36c67c42f7 Mon Sep 17 00:00:00 2001 From: Arnaud Ligot Date: Mon, 13 Feb 2012 11:16:52 +0100 Subject: [PATCH] failed status was not handled correctly by Chamilo --- main/newscorm/learnpathItem.class.php | 6 +++--- main/newscorm/lp_ajax_save_item.php | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/main/newscorm/learnpathItem.class.php b/main/newscorm/learnpathItem.class.php index 25922f74e3..c4bc207123 100644 --- a/main/newscorm/learnpathItem.class.php +++ b/main/newscorm/learnpathItem.class.php @@ -1131,7 +1131,7 @@ class learnpathItem { * @return bool True if the item is done ('completed','passed','succeeded'), false otherwise */ function is_done(){ - if ($this->status_is(array('completed', 'passed', 'succeeded'))) { + if ($this->status_is(array('completed', 'passed', 'succeeded', 'failed'))) { if (self::debug > 2) { error_log('New LP - In learnpath::is_done() - Item '.$this->get_id().' is complete', 0); } return true; }else{ @@ -2161,7 +2161,7 @@ class learnpathItem { $this->last_scorm_session_time = $total_sec; } //Step 3 update db only if status != completed, passed, browsed or seriousgamemode not activated - $case_completed=array('completed','passed','browsed'); //TODO COMPLETE + $case_completed=array('completed','passed','browsed','failed'); //TODO COMPLETE if ($this->seriousgame_mode!=1 || !in_array($row['status'], $case_completed)){ $update_view_sql='UPDATE '.$item_view_table." SET total_time =$total_time".' WHERE lp_item_id="'.$this->db_id.'" AND lp_view_id="'.$this->view_id.'" AND view_count="'.$this->attempt_id.'" ;'; $result=Database::query($update_view_sql); @@ -2381,7 +2381,7 @@ class learnpathItem { } else { $my_type_lp = learnpath::get_type_static($this->lp_id); // This is a array containing values finished - $case_completed = array('completed', 'passed', 'browsed'); + $case_completed = array('completed', 'passed', 'browsed', 'failed'); //is not multiple attempts if ($this->seriousgame_mode==1 && $this->type=='sco') { diff --git a/main/newscorm/lp_ajax_save_item.php b/main/newscorm/lp_ajax_save_item.php index 599c253ec9..6a73910ade 100644 --- a/main/newscorm/lp_ajax_save_item.php +++ b/main/newscorm/lp_ajax_save_item.php @@ -140,7 +140,7 @@ function save_item($lp_id, $user_id, $view_id, $item_id, $score = -1, $max = -1, return $return; } $mystatus_in_db = $mylpi->get_status(true); - if ($mystatus_in_db != 'completed' && $mystatus_in_db != 'passed' && $mystatus_in_db != 'browsed') { + if ($mystatus_in_db != 'completed' && $mystatus_in_db != 'passed' && $mystatus_in_db != 'browsed' && $mystatus_in_db != 'failed') { $mystatus_in_memory = $mylpi->get_status(false); if ($mystatus_in_memory != $mystatus_in_db) { $mystatus = $mystatus_in_memory;