function seotools_dashboard_referrers_box in Drupal SEO Tools 7
Same name and namespace in other branches
- 6 seotools.report.inc \seotools_dashboard_referrers_box()
1 call to seotools_dashboard_referrers_box()
File
- ./
seotools.report.inc, line 1035
Code
function seotools_dashboard_referrers_box($gid, $siteURL, $date_range, $enabled_modules, &$mediums_data) {
$output = '<h3 class="referrers">' . t('Referrers') . '</h3>';
$links[] = l(t('report'), 'admin/content/seotools/referrers');
$links[] = l(t('analytics'), 'https://www.google.com/analytics/reporting/referring_sources', array(
'query' => "id={$gid}",
'attributes' => array(
'target' => 'googleanalytics',
),
));
$links[] = l(t('backlinks'), 'https://www.google.com/webmasters/tools/external-links', array(
'query' => "siteUrl={$siteURL}#",
'attributes' => array(
'target' => 'googlewebmastertools',
),
));
$links[] = l(t('internal links'), 'https://www.google.com/webmasters/tools/internal-links', array(
'query' => "siteUrl={$siteURL}#",
'attributes' => array(
'target' => 'googlewebmastertools',
),
));
$output .= '<div class="dashboard-links">';
$output .= implode(' | ', $links);
$output .= '</div>';
if (!($data = seotools_cache_get('data_ga_mediums_by_date', $date_range))) {
// for help with query see: http://code.google.com/apis/analytics/docs/gdata/gdataExplorer.html
$request = array(
'#dimensions' => array(
'date',
'medium',
),
'#metrics' => array(
'visits',
),
'#sort_metric' => array(
'date',
),
'#start_date' => $date_range['start_date'],
'#end_date' => $date_range['end_date'],
);
$rows = seotools_fetch_ga_data($request, array(
'date',
'medium',
));
seotools_cache_set('data_ga_mediums_by_date', $data, $date_range);
}
$totals = array();
$day_counts = array();
$top_mediums = array_keys($mediums_data);
foreach ($rows as $key => $row) {
$date = substr($key, 0, 8);
$medium = substr($key, 8);
if ($medium == '(none)') {
$medium = 'direct';
}
if (in_array($medium, $top_mediums)) {
$day_counts[$medium][$date] = $row['visits'];
}
else {
$day_counts['other'][$date] += $row['visits'];
}
$chart_dates[$date] = date('d', strtotime($date));
}
// sort by most visits
$dc = $day_counts;
$day_counts = array();
foreach ($top_mediums as $medium) {
$day_counts[$medium] = $dc[$medium];
}
$colors = seotools_get_data_colors();
$i = 0;
$series_colors = array();
foreach ($day_counts as $medium => $series) {
$series_colors[] = $mediums_data[$medium];
}
$chart = chart_url(_seotools_reports_multiline_chart('mediums_by_day', '', $day_counts, $chart_dates, $series_colors));
$js['charts']['mediums_by_day'] = array(
'src' => $chart,
'location' => 'chart-refferrers',
'title' => '',
);
drupal_add_js(array(
'seotools' => $js,
), 'setting');
$output .= '<div class="chart-refferrers-wrapper">';
$output .= '</div>';
$output .= seotools_generate_report_top_and_trends('referrers', t('referrers'), $mode, $gid, $siteURL, $date_range, $enabled_modules);
return $output;
}