You are here

function statistics_title_list in Zircon Profile 8

Same name and namespace in other branches
  1. 8.0 core/modules/statistics/statistics.module \statistics_title_list()

Returns the most viewed content of all time, today, or the last-viewed node.

Parameters

string $dbfield: The database field to use, one of:

  • 'totalcount': Integer that shows the top viewed content of all time.
  • 'daycount': Integer that shows the top viewed content for today.
  • 'timestamp': Integer that shows only the last viewed node.

int $dbrows: The number of rows to be returned.

Return value

SelectQuery|FALSE A query result containing the node ID, title, user ID that owns the node, and the username for the selected node(s), or FALSE if the query could not be executed correctly.

1 call to statistics_title_list()
StatisticsPopularBlock::build in core/modules/statistics/src/Plugin/Block/StatisticsPopularBlock.php
Builds and returns the renderable array for this block plugin.

File

core/modules/statistics/statistics.module, line 103
Logs and displays content statistics for a site.

Code

function statistics_title_list($dbfield, $dbrows) {
  if (in_array($dbfield, array(
    'totalcount',
    'daycount',
    'timestamp',
  ))) {
    $query = db_select('node_field_data', 'n');
    $query
      ->addTag('node_access');
    $query
      ->join('node_counter', 's', 'n.nid = s.nid');
    $query
      ->join('users_field_data', 'u', 'n.uid = u.uid');
    return $query
      ->fields('n', array(
      'nid',
      'title',
    ))
      ->fields('u', array(
      'uid',
      'name',
    ))
      ->condition($dbfield, 0, '<>')
      ->condition('n.status', 1)
      ->condition('n.default_langcode', 1)
      ->condition('u.default_langcode', 1)
      ->orderBy($dbfield, 'DESC')
      ->range(0, $dbrows)
      ->execute();
  }
  return FALSE;
}