This is not easy to spot as $params may just contain one more item than $sql
would expect. However, $sql and $params should be well paired.
} else {
$params[] = $grade_category->id;
$params[] = $grade_category->id;
- $params[] = GRADE_TYPE_VALUE;
- $params[] = GRADE_TYPE_SCALE;
+ if (empty($CFG->grade_includescalesinaggregation)) {
+ $params[] = GRADE_TYPE_VALUE;
+ } else {
+ $params[] = GRADE_TYPE_VALUE;
+ $params[] = GRADE_TYPE_SCALE;
+ }
$sql = "SELECT gi.id
FROM {grade_items} gi
WHERE $gtypes