statistics_title_list

statistics_title_list($dbfield, $dbrows)

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.

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)
      // @todo This should be actually filtering on the desired node status
      //   field language and just fall back to the default language.
      ->condition('n.default_langcode', 1)
      ->condition('u.default_langcode', 1)
      ->orderBy($dbfield, 'DESC')
      ->range(0, $dbrows)
      ->execute();
  }
  return FALSE;
}
doc_Drupal
2016-10-29 09:44:28
Comments
Leave a Comment

Please login to continue.