You are here

function seotools_google_analytics_api_report_data in Drupal SEO Tools 6

File

./seotools.report.inc, line 503

Code

function seotools_google_analytics_api_report_data($request) {

  // Make sure parameters are all there with a default value.
  $params = array(
    '#dimension' => null,
    '#metrics' => null,
    '#sort_metric' => null,
    '#filter' => null,
    '#start_date' => null,
    '#end_date' => null,
    '#start_index' => 1,
    '#max_results' => 10000,
  );
  foreach ($params as $name => $value) {
    if (!isset($request[$name])) {
      $request[$name] = $value;
    }
  }
  $gapi = seotools_google_analytics_api_gapi();
  if (!$gapi) {
    return FALSE;
  }

  // TODO: Insert a check to see if we have this query cached.
  try {
    $data = seotools_google_analytics_api_gapi()
      ->requestReportData(variable_get('seotools_google_analytics_api_profile_id', 0), $request['#dimensions'], $request['#metrics'], $request['#sort_metric'], $request['#filter'], $request['#start_date'], $request['#end_date'], $request['#start_index'], $request['#max_results']);
  } catch (Exception $e) {
    drupal_set_message(t('Google Analytics API: @message', array(
      '@message' => $e
        ->getMessage(),
    )));
    return FALSE;
  }
  return $data;
}