|
@@ -314,6 +314,7 @@ if (!empty($courseAndSessions['courses']) && $allow) {
|
|
|
$result = [];
|
|
|
$result20 = 0;
|
|
|
$result80 = 0;
|
|
|
+ $countCoursesPassedNoDependency = 0;
|
|
|
|
|
|
foreach ($mainCategoryList as $category) {
|
|
|
$userFinished = Category::userFinishedCourse(
|
|
@@ -328,6 +329,7 @@ if (!empty($courseAndSessions['courses']) && $allow) {
|
|
|
$result20 += 10;
|
|
|
}
|
|
|
} else {
|
|
|
+ $countCoursesPassedNoDependency++;
|
|
|
if ($result80 < 80) {
|
|
|
$result80 += 10;
|
|
|
}
|
|
@@ -349,27 +351,27 @@ if (!empty($courseAndSessions['courses']) && $allow) {
|
|
|
if (!empty($category)) {
|
|
|
$minToValidate = $category->getMinimumToValidate();
|
|
|
$dependencies = $category->getCourseListDependency();
|
|
|
- $countDependenciesPast = 0;
|
|
|
+ $countDependenciesPassed = 0;
|
|
|
foreach ($dependencies as $courseId) {
|
|
|
$courseInfo = api_get_course_info_by_id($courseId);
|
|
|
$courseCode = $courseInfo['code'];
|
|
|
$categories = Category::load(null, null, $courseCode);
|
|
|
$subCategory = !empty($categories[0]) ? $categories[0] : null;
|
|
|
if (!empty($subCategory)) {
|
|
|
- $score = Category::getCurrentScore(
|
|
|
+ $score = Category::userFinishedCourse(
|
|
|
$userId,
|
|
|
$subCategory,
|
|
|
true
|
|
|
);
|
|
|
if ($score) {
|
|
|
- $countDependenciesPast++;
|
|
|
+ $countDependenciesPassed++;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
|
|
|
$userFinished =
|
|
|
- $countDependenciesPast == count($dependencies) &&
|
|
|
- (count($subscribedCourses) - count($dependencies) >= $minToValidate)
|
|
|
+ $countDependenciesPassed == count($dependencies) &&
|
|
|
+ $countCoursesPassedNoDependency >= $minToValidate
|
|
|
;
|
|
|
|
|
|
if ($userFinished) {
|