diff --git a/main/lp/learnpathItem.class.php b/main/lp/learnpathItem.class.php index 80915d9db3..ce0063f3b1 100755 --- a/main/lp/learnpathItem.class.php +++ b/main/lp/learnpathItem.class.php @@ -1511,62 +1511,22 @@ class learnpathItem c_id = $course_id AND iid = '".$this->db_item_view_id."' AND view_count = '".$this->get_attempt_id()."'"; - - if ($debug > 2) { - error_log( - 'learnpathItem::get_status() - Checking DB: '.$sql, - 0 - ); - } - $res = Database::query($sql); if (Database::num_rows($res) == 1) { $row = Database::fetch_array($res); if ($update_local) { - if ($debug > 2) { - error_log( - 'learnpathItem::set_status() :'.$row['status'], - 0 - ); - } $this->set_status($row['status']); } - if ($debug > 2) { - error_log( - 'learnpathItem::get_status() - Returning db value '.$row['status'], - 0 - ); - } return $row['status']; } } } else { - if ($debug > 2) { - error_log( - 'learnpathItem::get_status() - in get_status: using attrib', - 0 - ); - } if (!empty($this->status)) { - if ($debug > 2) { - error_log( - 'learnpathItem::get_status() - Returning attrib: '.$this->status, - 0 - ); - } - return $this->status; } } - if ($debug > 2) { - error_log( - 'learnpathItem::get_status() - Returning default '.$this->possible_status[0], - 0 - ); - } - return $this->possible_status[0]; } @@ -1602,12 +1562,12 @@ class learnpathItem if (!isset($time)) { if ($origin == 'js') { return '00 : 00: 00'; - } else { - return '00 '.$h.' 00 \' 00"'; } - } else { - return api_format_time($time, $origin); + + return '00 '.$h.' 00 \' 00"'; } + + return api_format_time($time, $origin); } /** @@ -2370,13 +2330,6 @@ class learnpathItem } else { // Nothing found there either. Now return the // value of the corresponding resource completion status. - if ($debug) { - error_log( - 'New LP - Didnt find any group, returning value for '.$prereqs_string, - 0 - ); - } - if (isset($refs_list[$prereqs_string]) && isset($items[$refs_list[$prereqs_string]]) ) { @@ -2394,26 +2347,12 @@ class learnpathItem $itemToCheck->get_title() ); $this->prereq_alert = $explanation; - if ($debug) { - error_log( - 'New LP - Prerequisite '.$prereqs_string.' not complete', - 0 - ); - } - } else { - if ($debug) { - error_log( - 'New LP - Prerequisite '.$prereqs_string.' complete', - 0 - ); - } } // For one and first attempt. if ($this->prevent_reinit == 1) { // 2. If is completed we check the results in the DB of the quiz. if ($returnstatus) { - //AND origin_lp_item_id = '.$user_id.' $sql = 'SELECT exe_result, exe_weighting FROM '.Database::get_main_table(TABLE_STATISTIC_TRACK_E_EXERCISES).' WHERE @@ -2432,14 +2371,6 @@ class learnpathItem $minScore = $myItemToCheck->getPrerequisiteMinScore(); $maxScore = $myItemToCheck->getPrerequisiteMaxScore(); - /*if (empty($minScore)) { - // Try with mastery_score - $masteryScoreAsMin = $myItemToCheck->get_mastery_score(); - if (!empty($masteryScoreAsMin)) { - $minScore = $masteryScoreAsMin; - } - }*/ - if (isset($minScore) && isset($minScore)) { // Taking min/max prerequisites values see BT#5776 if ($quiz['exe_result'] >= $minScore && @@ -2535,6 +2466,18 @@ class learnpathItem } } + if ($returnstatus === false) { + // Check results from another sessions. + $checkOtherSessions = api_get_configuration_value('validate_lp_prerequisite_from_other_session'); + if ($checkOtherSessions) { + $returnstatus = $this->getStatusFromOtherSessions( + $user_id, + $prereqs_string, + $refs_list + ); + } + } + return $returnstatus; } elseif ($itemToCheck->type === 'student_publication') { require_once api_get_path(SYS_CODE_PATH).'work/work.lib.php'; @@ -2545,12 +2488,6 @@ class learnpathItem } else { $returnstatus = false; $this->prereq_alert = get_lang('LearnpathPrereqNotCompleted'); - if (self::DEBUG > 1) { - error_log( - 'Student pub, prereq'.$prereqs_string.' not completed', - 0 - ); - } } return $returnstatus; @@ -2574,19 +2511,6 @@ class learnpathItem $itemToCheck->get_title() ); $this->prereq_alert = $explanation; - if (self::DEBUG > 1) { - error_log( - 'New LP - Prerequisite '.$prereqs_string.' not complete', - 0 - ); - } - } else { - if (self::DEBUG > 1) { - error_log( - 'New LP - Prerequisite '.$prereqs_string.' complete', - 0 - ); - } } $lp_item_view = Database::get_course_table(TABLE_LP_ITEM_VIEW); @@ -2619,17 +2543,6 @@ class learnpathItem if (!$returnstatus && empty($this->prereq_alert)) { $this->prereq_alert = get_lang('LearnpathPrereqNotCompleted'); } - if (!$returnstatus) { - if (self::DEBUG > 1) { - error_log( - 'New LP - Prerequisite '.$prereqs_string.' not complete' - ); - } - } else { - if (self::DEBUG > 1) { - error_log('New LP - Prerequisite '.$prereqs_string.' complete'); - } - } } if ($checkOtherSessions && $returnstatus === false) { @@ -2639,21 +2552,9 @@ class learnpathItem $refs_list ); } - - return $returnstatus; - } else { - return $returnstatus; } - } - } else { - if (self::DEBUG > 1) { - error_log( - 'New LP - Could not find '.$prereqs_string.' in '.print_r( - $refs_list, - true - ), - 0 - ); + + return $returnstatus; } } }