diff --git a/event/listener.php b/event/listener.php
index 8110a8a..661c8ae 100644
--- a/event/listener.php
+++ b/event/listener.php
@@ -64,6 +64,7 @@ public static function getSubscribedEvents()
'core.acp_board_config_edit_add'=> 'add_googleanalytics_configs',
'core.validate_config_variable' => 'validate_googleanalytics_id',
'core.page_footer_after' => 'append_agreement',
+ 'phpbb.consentmanager.collect_registrations' => 'register_analytics',
];
}
@@ -175,4 +176,26 @@ public function append_agreement()
$this->template->append_var('AGREEMENT_TEXT', $this->language->lang('PHPBB_ANALYTICS_PRIVACY_POLICY', $this->config['sitename']));
}
+
+ /**
+ * Register Google Analytics with Consent Manager when available.
+ *
+ * @param \phpbb\event\data|array $event The event object or event data
+ * @return void
+ */
+ public function register_analytics($event)
+ {
+ if (!$this->config['googleanalytics_id'])
+ {
+ return;
+ }
+
+ $this->language->add_lang('common', 'phpbb/googleanalytics');
+
+ $event['consent_manager']->register('phpbb.googleanalytics', [
+ 'label' => $this->language->lang('GOOGLEANALYTICS_LABEL'),
+ 'category' => 'analytics',
+ 'description' => $this->language->lang('GOOGLEANALYTICS_DESCRIPTION'),
+ ]);
+ }
}
diff --git a/language/en/common.php b/language/en/common.php
new file mode 100644
index 0000000..4c8d8c9
--- /dev/null
+++ b/language/en/common.php
@@ -0,0 +1,27 @@
+
+* @license GNU General Public License, version 2 (GPL-2.0)
+*
+*/
+
+/**
+* DO NOT CHANGE
+*/
+if (!defined('IN_PHPBB'))
+{
+ exit;
+}
+
+if (empty($lang) || !is_array($lang))
+{
+ $lang = array();
+}
+
+$lang = array_merge($lang, array(
+ 'GOOGLEANALYTICS_LABEL' => 'Google Analytics',
+ 'GOOGLEANALYTICS_DESCRIPTION' => 'Tracks the pages you visit, the time spent on each page, and general usage patterns.'
+));
diff --git a/styles/all/template/event/overall_header_stylesheets_after.html b/styles/all/template/event/overall_header_stylesheets_after.html
index 95c63c2..0991b00 100644
--- a/styles/all/template/event/overall_header_stylesheets_after.html
+++ b/styles/all/template/event/overall_header_stylesheets_after.html
@@ -1,7 +1,7 @@
{% if GOOGLEANALYTICS_ID %}
-
-
+