|
@@ -2451,7 +2451,7 @@ class learnpathItem
|
|
|
|
|
|
$itemToCheck = $items[$refs_list[$prereqs_string]];
|
|
|
|
|
|
- if ($itemToCheck->type == 'quiz') {
|
|
|
+ if ($itemToCheck->type === 'quiz') {
|
|
|
|
|
|
$status = $itemToCheck->get_status(true);
|
|
|
$returnstatus = $status == $this->possible_status[2] || $status == $this->possible_status[3];
|
|
@@ -2495,10 +2495,18 @@ class learnpathItem
|
|
|
LIMIT 0, 1';
|
|
|
$rs_quiz = Database::query($sql);
|
|
|
if ($quiz = Database::fetch_array($rs_quiz)) {
|
|
|
- $minScore = $items[$refs_list[$this->get_id(
|
|
|
- )]]->getPrerequisiteMinScore();
|
|
|
- $maxScore = $items[$refs_list[$this->get_id(
|
|
|
- )]]->getPrerequisiteMaxScore();
|
|
|
+
|
|
|
+ $myItemToCheck = $items[$refs_list[$this->get_id()]];
|
|
|
+ $minScore = $myItemToCheck->getPrerequisiteMinScore();
|
|
|
+ $maxScore = $myItemToCheck->getPrerequisiteMaxScore();
|
|
|
+
|
|
|
+ if (empty($minScore)) {
|
|
|
+
|
|
|
+ $masteryScoreAsMin = $myItemToCheck->get_mastery_score();
|
|
|
+ if (!empty($masteryScoreAsMin)) {
|
|
|
+ $minScore = $masteryScoreAsMin;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (isset($minScore) && isset($minScore)) {
|
|
|
|
|
@@ -2544,19 +2552,29 @@ class learnpathItem
|
|
|
exe_exo_id = '.$items[$refs_list[$prereqs_string]]->path.' AND
|
|
|
exe_user_id = '.$user_id.' AND
|
|
|
orig_lp_id = '.$this->lp_id.' AND
|
|
|
- orig_lp_item_id = '.$prereqs_string.' ';
|
|
|
+ orig_lp_item_id = '.$prereqs_string;
|
|
|
|
|
|
$rs_quiz = Database::query($sql);
|
|
|
if (Database::num_rows($rs_quiz) > 0) {
|
|
|
while ($quiz = Database::fetch_array($rs_quiz)) {
|
|
|
- $minScore = $items[$refs_list[$this->get_id(
|
|
|
- )]]->getPrerequisiteMinScore();
|
|
|
- $maxScore = $items[$refs_list[$this->get_id(
|
|
|
- )]]->getPrerequisiteMaxScore();
|
|
|
+
|
|
|
+ $myItemToCheck = $items[$refs_list[$this->get_id()]];
|
|
|
+ $minScore = $myItemToCheck->getPrerequisiteMinScore();
|
|
|
+ $maxScore = $myItemToCheck->getPrerequisiteMaxScore();
|
|
|
+
|
|
|
+ if (empty($minScore)) {
|
|
|
+
|
|
|
+ $masteryScoreAsMin = $myItemToCheck->get_mastery_score();
|
|
|
+ if (!empty($masteryScoreAsMin)) {
|
|
|
+ $minScore = $masteryScoreAsMin;
|
|
|
+ }
|
|
|
+ }
|
|
|
|
|
|
if (isset($minScore) && isset($minScore)) {
|
|
|
|
|
|
- if ($quiz['exe_result'] >= $minScore && $quiz['exe_result'] <= $maxScore) {
|
|
|
+ if ($quiz['exe_result'] >= $minScore &&
|
|
|
+ $quiz['exe_result'] <= $maxScore
|
|
|
+ ) {
|
|
|
$returnstatus = true;
|
|
|
break;
|
|
|
} else {
|
|
@@ -2574,9 +2592,7 @@ class learnpathItem
|
|
|
$returnstatus = true;
|
|
|
break;
|
|
|
} else {
|
|
|
- $this->prereq_alert = get_lang(
|
|
|
- 'LearnpathPrereqNotCompleted'
|
|
|
- );
|
|
|
+ $this->prereq_alert = get_lang('LearnpathPrereqNotCompleted');
|
|
|
$returnstatus = false;
|
|
|
}
|
|
|
}
|