
| Current Path : /var/www/html_old/12park.002/web/modules/googleanalyticsmaster/ |
Linux ift1.ift-informatik.de 5.4.0-216-generic #236-Ubuntu SMP Fri Apr 11 19:53:21 UTC 2025 x86_64 |
| Current File : /var/www/html_old/12park.002/web/modules/googleanalyticsmaster/googleanalyticsmaster.module |
<?php
/**
* @file
* Google Analytics tracking code implementation.
*/
use Drupal\Core\Routing\RouteMatchInterface;
/**
* Implements hook_help().
*/
function googleanalyticsmaster_help($process_name, RouteMatchInterface $route_match) {
switch ($process_name) {
case 'help.page.googleanalyticsmaster':
$output_help = '<h3>' . t('About') . '</h3>';
$output_help .= '<p>' . t('Google Analytics Master is intended to be simple module to generate statistics that allows administrators to enable and insert Google Analytics tracking into a drupal head.') . '</p>';
$output_help .= '<p>' . t('Google Analytics Master uses the new google analytics api based on analytics.js.') . '</p>';
$output_help .= '<h3>' . t('Options') . '</h3>';
$output_help .= '<p>' . t('Just insert your web element tracking id in Google Analytics Master settings page.') . '</p>';
$output_help .= '<h3>' . t('Configuration') . '</h3>';
$output_help .= '<p>' . t('All settings are available via module settings page, link below.') . '</p>';
$output_help .= '<p>' . t('Get your tracking id <a href="@googleanalyticsmaster_url">Google Analytics Website</a>.', ['@googleanalyticsmaster_url' => 'https://www.google.com/analytics/']) . '</p>';
$output_help .= '<h3>' . t('More') . '</h3>';
$output_help .= '<p>' . t('Future versions may include google tag manager and the display of statistics via google user and analytics api.') . '</p>';
return $output_help;
}
}
/**
* Implements page_attachments().
*/
function googleanalyticsmaster_page_attachments(&$page) {
// Get module settings.
$settings = \Drupal::config('googleanalyticsmaster.settings');
$tracking_id = $settings->get('googleanalyticsmaster.tracking_id');
$tracking_id_admin = $settings->get('googleanalyticsmaster.tracking_id_admin');
// Set spacer.
$tracking_spacer = "'";
// Check if tracking_id_admin is enabled.
if ($tracking_id_admin != 0) {
// Build analytics script for web element body in both front and back.
$web_element_body = '(function(i,s,o,g,r,a,m){i[' . $tracking_spacer . 'GoogleAnalyticsObject' . $tracking_spacer . ']=r;i[r]=i[r]||function(){';
$web_element_body .= '(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),';
$web_element_body .= 'm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)';
$web_element_body .= '})(window,document,' . $tracking_spacer . 'script' . $tracking_spacer . ',' . $tracking_spacer . 'https://www.google-analytics.com/analytics.js' . $tracking_spacer . ',' . $tracking_spacer . 'ga' . $tracking_spacer . ');';
$web_element_body .= 'ga(' . $tracking_spacer . 'create' . $tracking_spacer . ', ' . $tracking_spacer . $tracking_id . $tracking_spacer . ', ' . $tracking_spacer . 'auto' . $tracking_spacer . ');';
$web_element_body .= 'ga(' . $tracking_spacer . 'send' . $tracking_spacer . ', ' . $tracking_spacer . 'pageview' . $tracking_spacer . ');';
$page['#attached']['html_head'][] = [
[
'#tag' => 'script',
'#value' => $web_element_body,
'#weight' => '15',
],
'googleanalyticsmaster_web_element_body',
];
}
else {
// Get the admin route.
$admin_context = \Drupal::service('router.admin_context');
if (!$admin_context->isAdminRoute()) {
// Build analytics script for web element body in both front and back.
$web_element_body = '(function(i,s,o,g,r,a,m){i[' . $tracking_spacer . 'GoogleAnalyticsObject' . $tracking_spacer . ']=r;i[r]=i[r]||function(){';
$web_element_body .= '(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),';
$web_element_body .= 'm=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)';
$web_element_body .= '})(window,document,' . $tracking_spacer . 'script' . $tracking_spacer . ',' . $tracking_spacer . 'https://www.google-analytics.com/analytics.js' . $tracking_spacer . ',' . $tracking_spacer . 'ga' . $tracking_spacer . ');';
$web_element_body .= 'ga(' . $tracking_spacer . 'create' . $tracking_spacer . ', ' . $tracking_spacer . $tracking_id . $tracking_spacer . ', ' . $tracking_spacer . 'auto' . $tracking_spacer . ');';
$web_element_body .= 'ga(' . $tracking_spacer . 'send' . $tracking_spacer . ', ' . $tracking_spacer . 'pageview' . $tracking_spacer . ');';
$page['#attached']['html_head'][] = [
[
'#tag' => 'script',
'#value' => $web_element_body,
'#weight' => '15',
],
'googleanalyticsmaster_web_element_body',
];
}
}
}