function student_profile_get_grade_percentages_for_student
Search API
6.x student_profile.module | student_profile_get_grade_percentages_for_student($student) |
Returns an array where we show the percentage of grades that the student has, compared to the whole. For example: 50% A's, 10% B's, and so on.
For convenience, we will also include the courses in an array so it can be displayed if desired.
1 call to student_profile_get_grade_percentages_for_student()
- student_profile_display_student_profile_page in modules/
student_profile/ student_profile.module
File
- modules/
student_profile/ student_profile.module, line 45
Code
function student_profile_get_grade_percentages_for_student($student) {
$rtn = array();
// Init some defaults...
$rtn ['grade_counts']['D']['count'] = 0;
$rtn ['grade_counts']['F']['count'] = 0;
$rtn ['grade_counts']['W']['count'] = 0;
$rtn ['grade_counts']['A']['count'] = 0;
$rtn ['grade_counts']['B']['count'] = 0;
$rtn ['grade_counts']['C']['count'] = 0;
$total_courses = count($student->list_courses_taken->array_list);
if ($total_courses == 0) {
return $rtn;
}
foreach ($student->list_courses_taken->array_list as $course) {
$grade = $course->grade;
if (!isset($rtn ['grade_counts'][$grade]['count'])) {
$rtn ['grade_counts'][$grade]['count'] = 0;
}
$rtn ['grade_counts'][$grade]['count'];
++$rtn ['grade_counts'][$grade]['courses'][] = $course;
}
foreach ($rtn ['grade_counts'] as $grade => $val) {
$count = $rtn ['grade_counts'][$grade]['count'];
$percent = round(($count / $total_courses) * 100, 1);
$rtn ['grade_counts'][$grade]['percent'] = $percent;
$html = "";
if ($count > 0) {
foreach ($val ['courses'] as $course) {
$html .= "<div class='grade-perc-course-row'>$course->subject_id $course->course_num $course->grade ($course->term_id)</div>";
}
}
$rtn ['grade_counts'][$grade]['courses_html'] = $html;
}
return $rtn;
}