function opigno_lrs_stats_dashboard_top_ten_viewed_pages in Opigno TinCan API 7
Retrieve top ten viewed pages from tincan statements
Output example: array( array('title' => 'Course 3', 'href' => 'http://opigno.com/course3', 'view_count' => 67, 'user_view_count' => 12), array('title' => 'Course 2', 'href' => 'http://opigno.com/course2', 'view_count' => 34, 'user_view_count' => 2) array('title' => 'Course 4', 'href' => 'http://opigno.com/course4', 'view_count' => 22, 'user_view_count' => 4) )
Return value
array
1 call to opigno_lrs_stats_dashboard_top_ten_viewed_pages()
- opigno_lrs_stats_dashboard_page in modules/
opigno_tincan_api_stats/ includes/ dashboard/ dashboard.pages.inc - Display general statistics page
File
- modules/
opigno_tincan_api_stats/ includes/ dashboard/ model.inc, line 164 - Dashboard model functions
Code
function opigno_lrs_stats_dashboard_top_ten_viewed_pages() {
$viewed_pages = array();
$statements_per_page = opigno_lrs_stats_aggregate_viewed_statements_by_page(opigno_lrs_stats_all_viewed_statements());
foreach ($statements_per_page as $page_statements) {
$user_statements = array();
foreach ($page_statements as $statement) {
$user_statements[$statement->actor->name] = TRUE;
}
$viewed_pages[] = array(
'title' => $page_statements[0]->object->definition->name->{'en-US'},
'href' => $page_statements[0]->object->id,
'view_count' => count($page_statements),
'user_view_count' => count($user_statements),
);
}
usort($viewed_pages, function ($viewed_page_a, $viewed_page_b) {
return $viewed_page_a['view_count'] < $viewed_page_b['view_count'];
});
$top_ten_viewed_pages = array_slice($viewed_pages, 0, 10);
return $top_ten_viewed_pages;
}