function statistics_ranking in Drupal 9
Same name and namespace in other branches
- 8 core/modules/statistics/statistics.module \statistics_ranking()
- 7 modules/statistics/statistics.module \statistics_ranking()
Implements hook_ranking().
File
- core/
modules/ statistics/ statistics.module, line 91 - Logs and displays content statistics for a site.
Code
function statistics_ranking() {
if (\Drupal::config('statistics.settings')
->get('count_content_views')) {
return [
'views' => [
'title' => t('Number of views'),
'join' => [
'type' => 'LEFT',
'table' => 'node_counter',
'alias' => 'node_counter',
'on' => 'node_counter.nid = i.sid',
],
// Inverse law that maps the highest view count on the site to 1 and 0
// to 0. Note that the ROUND here is necessary for PostgreSQL and SQLite
// in order to ensure that the :statistics_scale argument is treated as
// a numeric type, because the PostgreSQL PDO driver sometimes puts
// values in as strings instead of numbers in complex expressions like
// this.
'score' => '2.0 - 2.0 / (1.0 + node_counter.totalcount * (ROUND(:statistics_scale, 4)))',
'arguments' => [
':statistics_scale' => \Drupal::state()
->get('statistics.node_counter_scale', 0),
],
],
];
}
}