You are here

public function GoogleAnalyticsCounterMessageManager::getTopTwentyResults in Google Analytics Counter 8.3

Get the the top twenty results for pageviews and pageview_totals.

Parameters

string $table: The table from which the results are selected.

Return value

mixed

Overrides GoogleAnalyticsCounterMessageManagerInterface::getTopTwentyResults

File

src/GoogleAnalyticsCounterMessageManager.php, line 174

Class

GoogleAnalyticsCounterMessageManager
Defines the Google Analytics Counter message manager.

Namespace

Drupal\google_analytics_counter

Code

public function getTopTwentyResults($table) {
  $query = $this->connection
    ->select($table, 't');
  $query
    ->range(0, 20);
  $rows = [];
  switch ($table) {
    case 'google_analytics_counter':
      $query
        ->fields('t', [
        'pagepath',
        'pageviews',
      ]);
      $query
        ->orderBy('pageviews', 'DESC');
      $result = $query
        ->execute()
        ->fetchAll();
      $rows = [];
      foreach ($result as $value) {
        $rows[] = [
          $value->pagepath,
          $value->pageviews,
        ];
      }
      break;
    case 'google_analytics_counter_storage':
      $query
        ->fields('t', [
        'nid',
        'pageview_total',
      ]);
      $query
        ->orderBy('pageview_total', 'DESC');
      $result = $query
        ->execute()
        ->fetchAll();
      foreach ($result as $value) {
        $rows[] = [
          $value->nid,
          $value->pageview_total,
        ];
      }
      break;
    default:
      break;
  }
  return $rows;
}