function opigno_statistics_app_query_user_courses_results in Opigno Statistics App 7
Query courses results statistics for a user (cached for 1 day)
Parameters
int $uid:
Return value
array
1 call to opigno_statistics_app_query_user_courses_results()
- opigno_statistics_app_present_user_courses_results in includes/
user/ presenters.inc - Present courses results statistics for a user
File
- includes/
user/ queries.inc, line 147
Code
function opigno_statistics_app_query_user_courses_results($uid) {
$cache_key = __FUNCTION__ . ':' . $uid;
$cached_object = cache_get($cache_key);
if ($cached_object) {
$courses_results = $cached_object->data;
}
else {
$courses_results = array();
$result = db_query("\n SELECT course_name, score, course_nid, status\n FROM {opigno_statistics_user_course} uc\n WHERE uc.uid = :uid\n ", array(
':uid' => $uid,
));
while ($record = $result
->fetchAssoc()) {
$averages = opigno_statistics_app_query_course_students_results($record['course_nid']);
foreach ($averages as $average) {
if ($average['uid'] == $uid) {
$averages = $average;
break;
}
}
$record['avg_number_of_interactions'] = $averages['avg_number_of_interactions'];
$record['avg_score'] = $averages['avg_score'];
$record['number_of_interactions'] = $averages['number_of_interactions'];
$courses_results[] = $record;
}
cache_set($cache_key, $courses_results, 'cache', time() + 7200);
// 7200s = 2h cache
}
return $courses_results;
}