function opigno_statistics_app_query_course_number_of_interactions in Opigno Statistics App 7
Query total number of interaction for a course (cached for 1 day)
Parameters
int $course_nid:
Return value
array
1 call to opigno_statistics_app_query_course_number_of_interactions()
- opigno_statistics_app_present_course_number_of_interactions in includes/
group/ course/ presenters.inc - Present number of interaction graph for course
File
- includes/
group/ course/ queries.inc, line 219
Code
function opigno_statistics_app_query_course_number_of_interactions($course_nid) {
$cache_key = __FUNCTION__ . ':' . $course_nid;
$cached_object = cache_get($cache_key);
if ($cached_object) {
$number_of_interactions = $cached_object->data;
}
else {
$number_of_interactions = array();
$result = db_query("\n SELECT uc.username, uc.score, j1.page_views as number_of_interactions\n FROM {opigno_statistics_user_course} uc\n INNER JOIN (\n SELECT SUM(page_views) as page_views, uid\n FROM {opigno_statistics_user_group} ug\n WHERE group_nid = :course_nid\n GROUP BY uid\n ) j1 ON uc.uid = j1.uid\n WHERE course_nid = :course_nid\n ORDER BY j1.page_views\n ", array(
':course_nid' => $course_nid,
));
while ($record = $result
->fetchAssoc()) {
$number_of_interactions[] = $record;
}
cache_set($cache_key, $number_of_interactions, 'cache', time() + 7200);
// 7200s = 2h cache
}
return $number_of_interactions;
}