Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"type": "phpbb-extension",
"description": "A phpBB official extension that allows administrators to easily add Google Analytics to their forums.",
"homepage": "https://www.phpbb.com/customise/db/extension/googleanalytics/",
"version": "1.1.0",
"version": "1.2.0-dev",
"keywords": ["phpbb", "extension", "google", "analytics"],
"license": "GPL-2.0-only",
"authors": [
Expand Down Expand Up @@ -36,15 +36,15 @@
],
"require": {
"php": ">=5.4",
"composer/installers": "~1.0"
"composer/installers": "^1.0 || ^2.0"
},
"require-dev": {
"phing/phing": "~2.4"
},
"extra": {
"display-name": "Google Analytics",
"soft-require": {
"phpbb/phpbb": ">=3.2.0,<4.0.0@dev"
"phpbb/phpbb": ">=3.2.0"
},
"version-check": {
"host": "www.phpbb.com",
Expand Down
30 changes: 6 additions & 24 deletions event/listener.php
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public static function getSubscribedEvents()
{
return [
'core.page_header' => 'load_google_analytics',
'core.acp_board_config_edit_add' => 'add_googleanalytics_configs',
'core.acp_board_config_edit_add'=> 'add_googleanalytics_configs',
'core.validate_config_variable' => 'validate_googleanalytics_id',
'core.page_footer_after' => 'append_agreement',
];
Expand All @@ -77,10 +77,9 @@ public function load_google_analytics()
{
$this->template->assign_vars([
'GOOGLEANALYTICS_ID' => $this->config['googleanalytics_id'],
'GOOGLEANALYTICS_TAG' => $this->config['googleanalytics_tag'],
'GOOGLEANALYTICS_USER_ID' => $this->user->data['user_id'],
'S_ANONYMIZE_IP' => $this->config['ga_anonymize_ip'],
'S_COOKIE_SECURE' => $this->config['cookie_secure'],
'GOOGLEANALYTICS_USER_ID' => (int) $this->user->data['user_id'],
'S_ANONYMIZE_IP' => (bool) $this->config['ga_anonymize_ip'],
'S_COOKIE_SECURE' => (bool) $this->config['cookie_secure'],
]);
}

Expand Down Expand Up @@ -117,17 +116,6 @@ public function add_googleanalytics_configs($event)
'type' => 'radio:yes_no',
'explain' => true,
],
'googleanalytics_tag' => [
'lang' => 'ACP_GOOGLEANALYTICS_TAG',
'validate' => 'int',
'type' => 'select',
'function' => 'build_select',
'params' => [[
0 => 'ACP_GA_ANALYTICS_TAG',
1 => 'ACP_GA_GTAGS_TAG',
], '{CONFIG_VALUE}'],
'explain' => true,
],
];

// Add the new config vars after warnings_expire_days in the display_vars config array
Expand All @@ -148,7 +136,7 @@ public function add_googleanalytics_configs($event)
*/
public function validate_googleanalytics_id($event)
{
// Check if the validate test is for google_analytics
// Check if the validation test is for googleanalytics_id
if ($event['config_definition']['validate'] !== 'googleanalytics_id' || empty($event['cfg_array']['googleanalytics_id']))
{
return;
Expand All @@ -159,17 +147,11 @@ public function validate_googleanalytics_id($event)
$error = $event['error'];

// Add error message if the input is not a valid Google Analytics ID
if (!preg_match('/^UA-\d{4,9}-\d{1,4}$|^G-[A-Z0-9]{10}$/', $input))
if (!preg_match('/^G-[A-Z0-9]{10}$/', $input))
{
$error[] = $this->language->lang('ACP_GOOGLEANALYTICS_ID_INVALID', $input);
}

// Add error message if GTAG is not selected for use with a Measurement ID
if ((int) $event['cfg_array']['googleanalytics_tag'] === 0 && preg_match('/^G-[A-Z0-9]{10}$/', $input))
{
$error[] = $this->language->lang('ACP_GOOGLEANALYTICS_TAG_INVALID', $input);
}

// Update error event data
$event['error'] = $error;
}
Expand Down
3 changes: 1 addition & 2 deletions ext.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ class ext extends base
*/
public function is_enableable()
{
return phpbb_version_compare(PHPBB_VERSION, '3.2.0', '>=')
&& phpbb_version_compare(PHPBB_VERSION, '4.0.0-dev', '<');
return phpbb_version_compare(PHPBB_VERSION, '3.2.0', '>=');
}
}
9 changes: 2 additions & 7 deletions language/ar/googleanalytics_acp.php
Original file line number Diff line number Diff line change
Expand Up @@ -41,13 +41,8 @@
$lang = array_merge($lang, array(
'ACP_GOOGLEANALYTICS' => 'Google Analytics',
'ACP_GOOGLEANALYTICS_ID' => 'Google Analytics ID',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'أكتب كود Google Analytics ID الخاص بك، مثل: <br /><br /><samp>UA-000000-00</samp> or Measurement ID <samp>G-XXXXXXXXXX</samp>.إحصائيات قوقل يمكنها تتبع أعضاء منتداك المسجلين عبر الأجهزة والجلسات المتعددة، حتى يكون عدد الأعضاء أكثر دقة. لتفعيل هذه الوظيفة المحَسِّنة يجب أن يكون رقم تتبع المستخدم ID مضبوط في حسابك إحصائيات قوقل. <a href="https://support.google.com/analytics/answer/3123666">اضغط هنا للمعلومات أكثر <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” كود Google Analytics ID الذي أدخلته غير صالح.<br />يجب أن يكون على الشكل “UA-000000-00” or “G-XXXXXXXXXX”.',
'ACP_GOOGLEANALYTICS_TAG_INVALID' => '“Global Site Tag (gtag.js)” must be the selected Google Analytics Script Tag when using a Measurement ID.',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'أكتب كود Google Analytics ID الخاص بك، مثل: <br><br><samp>G-XXXXXXXXXX</samp>.إحصائيات قوقل يمكنها تتبع أعضاء منتداك المسجلين عبر الأجهزة والجلسات المتعددة، حتى يكون عدد الأعضاء أكثر دقة. لتفعيل هذه الوظيفة المحَسِّنة يجب أن يكون رقم تتبع المستخدم ID مضبوط في حسابك إحصائيات قوقل. <a href="https://support.google.com/analytics/answer/9213390" target="_blank">اضغط هنا للمعلومات أكثر <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” كود Google Analytics ID الذي أدخلته غير صالح.<br>يجب أن يكون على الشكل “G-XXXXXXXXXX”.',
'ACP_GA_ANONYMIZE_IP' => 'Turn on IP Anonymization',
'ACP_GA_ANONYMIZE_IP_EXPLAIN' => 'Enable this option if you want the data collected by Google Analytics to be compliant with the EU‘s General Data Protection Regulation (GDPR). Note that enabling this option may slightly reduce the accuracy of geographic reporting.',
'ACP_GOOGLEANALYTICS_TAG' => 'Google Analytics Script Tag',
'ACP_GOOGLEANALYTICS_TAG_EXPLAIN' => 'Choose your preferred Google Analytics code snippet. Global site tag (gtag.js) is the current snippet recommended by Google. Google Analytics tag (analytics.js) is the legacy code snippet. <a href="https://developers.google.com/analytics/devguides/collection/gtagjs/migration">Click for more information <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GA_ANALYTICS_TAG' => 'Google Analytics Tag (analytics.js)',
'ACP_GA_GTAGS_TAG' => 'Global Site Tag (gtag.js)',
));
9 changes: 2 additions & 7 deletions language/cs/googleanalytics_acp.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,8 @@
$lang = array_merge($lang, array(
'ACP_GOOGLEANALYTICS' => 'Google Analytics',
'ACP_GOOGLEANALYTICS_ID' => 'Google Analytics ID',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Zadejte Vaše ID ve službě Google Analytics, např.: <samp>UA-000000-00</samp> or Measurement ID <samp>G-XXXXXXXXXX</samp>.<br /><br />Google Analytics dokáže sledovat přihlášené uživatele napříč zařízeními pro přesnější informace o návštěvnících. Pro povolení této rozšířené funkcionality musíte povolit funkci User ID ve svém účtu Google Analytics. <a href="https://support.google.com/analytics/answer/3123666">Klikněte pro více informací <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” není platné ID klienta ve službě Google Analytics.<br />Mělo by být ve tvaru “UA-000000-00” or “G-XXXXXXXXXX”.',
'ACP_GOOGLEANALYTICS_TAG_INVALID' => '“Global Site Tag (gtag.js)” must be the selected Google Analytics Script Tag when using a Measurement ID.',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Zadejte Vaše ID ve službě Google Analytics, např.: <samp>G-XXXXXXXXXX</samp>.<br><br>Google Analytics dokáže sledovat přihlášené uživatele napříč zařízeními pro přesnější informace o návštěvnících. Pro povolení této rozšířené funkcionality musíte povolit funkci User ID ve svém účtu Google Analytics. <a href="https://support.google.com/analytics/answer/9213390" target="_blank">Klikněte pro více informací <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” není platné ID klienta ve službě Google Analytics.<br>Mělo by být ve tvaru “G-XXXXXXXXXX”.',
'ACP_GA_ANONYMIZE_IP' => 'Turn on IP Anonymization',
'ACP_GA_ANONYMIZE_IP_EXPLAIN' => 'Enable this option if you want the data collected by Google Analytics to be compliant with the EU‘s General Data Protection Regulation (GDPR). Note that enabling this option may slightly reduce the accuracy of geographic reporting.',
'ACP_GOOGLEANALYTICS_TAG' => 'Google Analytics Script Tag',
'ACP_GOOGLEANALYTICS_TAG_EXPLAIN' => 'Vyberte preferovaný kód Google Analytics. Global Site Tag (gtag.js) je aktuální kód doporučený společností Google. Google Analytics Tag (analytics.js) je starý kód. <a href="https://developers.google.com/analytics/devguides/collection/gtagjs/migration">Klikněte pro více informací <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GA_ANALYTICS_TAG' => 'Google Analytics Tag (analytics.js)',
'ACP_GA_GTAGS_TAG' => 'Global Site Tag (gtag.js)',
));
9 changes: 2 additions & 7 deletions language/da/googleanalytics_acp.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,13 +42,8 @@
$lang = array_merge($lang, array(
'ACP_GOOGLEANALYTICS' => 'Google Analytics',
'ACP_GOOGLEANALYTICS_ID' => 'Google Analytics ID',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Indtast din Google Analytics ID kode, f.eks.: <samp>UA-000000-00</samp> or Measurement ID <samp>G-XXXXXXXXXX</samp>.<br /><br />Google Analytics kan spore dine registrerede brugere på tværs af flere enheder og sessioner, for et mere præcist bruger tal i dine rapportere. For at aktivere denne forbedrede funktionalitet skal User ID sporing være konfigureret i din Google Analytics konto. <a href="https://support.google.com/analytics/answer/3123666">Klik for yderligere information <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” er ikke en gyldig Google Analytics ID kode.<br />Det skal være i formen: “UA-000000-00” or “G-XXXXXXXXXX”.',
'ACP_GOOGLEANALYTICS_TAG_INVALID' => '“Global Site Tag (gtag.js)” must be the selected Google Analytics Script Tag when using a Measurement ID.',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Indtast din Google Analytics ID kode, f.eks.: <samp>G-XXXXXXXXXX</samp>.<br><br>Google Analytics kan spore dine registrerede brugere på tværs af flere enheder og sessioner, for et mere præcist bruger tal i dine rapportere. For at aktivere denne forbedrede funktionalitet skal User ID sporing være konfigureret i din Google Analytics konto. <a href="https://support.google.com/analytics/answer/9213390" target="_blank">Klik for yderligere information <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” er ikke en gyldig Google Analytics ID kode.<br>Det skal være i formen: “G-XXXXXXXXXX”.',
'ACP_GA_ANONYMIZE_IP' => 'Turn on IP Anonymization',
'ACP_GA_ANONYMIZE_IP_EXPLAIN' => 'Enable this option if you want the data collected by Google Analytics to be compliant with the EU‘s General Data Protection Regulation (GDPR). Note that enabling this option may slightly reduce the accuracy of geographic reporting.',
'ACP_GOOGLEANALYTICS_TAG' => 'Google Analytics Script Tag',
'ACP_GOOGLEANALYTICS_TAG_EXPLAIN' => 'Vælg din foretrukne Google Analytics-kode. Global Site Tag (gtag.js) er den aktuelle kode, der er anbefalet af Google. Google Analytics Tag (analytics.js) er den gamle kode. <a href="https://developers.google.com/analytics/devguides/collection/gtagjs/migration">Klik for yderligere information <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GA_ANALYTICS_TAG' => 'Google Analytics Tag (analytics.js)',
'ACP_GA_GTAGS_TAG' => 'Global Site Tag (gtag.js)',
));
9 changes: 2 additions & 7 deletions language/de/googleanalytics_acp.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,8 @@
$lang = array_merge($lang, array(
'ACP_GOOGLEANALYTICS' => 'Google Analytics',
'ACP_GOOGLEANALYTICS_ID' => 'Google Analytics-ID',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Gib deine Google Analytics-ID ein, z.B.: <samp>UA-000000-00</samp> or Measurement ID <samp>G-XXXXXXXXXX</samp>.<br /><br />Google Analytics kann deine registrierten Benutzer für eine genauere Benutzerzählung über mehrere Geräte und Sitzungen hinweg verfolgen. Um diese verbesserte User ID-Funktion nutzen zu können, muss sie in deinem Google Analytics-Account aktiviert sein. <a href="https://support.google.com/analytics/answer/3123666">Klicke hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” ist keine valide Google Analytics-ID.<br />Sie sollte die folgende Form haben: “UA-000000-00” or “G-XXXXXXXXXX”.',
'ACP_GOOGLEANALYTICS_TAG_INVALID' => '“Global Site Tag (gtag.js)” must be the selected Google Analytics Script Tag when using a Measurement ID.',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Gib deine Google Analytics-ID ein, z.B.: <samp>G-XXXXXXXXXX</samp>.<br><br>Google Analytics kann deine registrierten Benutzer für eine genauere Benutzerzählung über mehrere Geräte und Sitzungen hinweg verfolgen. Um diese verbesserte User ID-Funktion nutzen zu können, muss sie in deinem Google Analytics-Account aktiviert sein. <a href="https://support.google.com/analytics/answer/9213390" target="_blank">Klicke hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” ist keine valide Google Analytics-ID.<br>Sie sollte die folgende Form haben: “G-XXXXXXXXXX”.',
'ACP_GA_ANONYMIZE_IP' => 'Turn on IP Anonymization',
'ACP_GA_ANONYMIZE_IP_EXPLAIN' => 'Enable this option if you want the data collected by Google Analytics to be compliant with the EU‘s General Data Protection Regulation (GDPR). Note that enabling this option may slightly reduce the accuracy of geographic reporting.',
'ACP_GOOGLEANALYTICS_TAG' => 'Google Analytics Script Tag',
'ACP_GOOGLEANALYTICS_TAG_EXPLAIN' => 'Wählen Sie Ihren bevorzugten Google Analytics-Code. Global Site Tag (gtag.js) ist der aktuelle von Google empfohlene Code. Google Analytics Tag (analytics.js) ist das alte Code. <a href="https://developers.google.com/analytics/devguides/collection/gtagjs/migration">Klicken Sie hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GA_ANALYTICS_TAG' => 'Google Analytics Tag (analytics.js)',
'ACP_GA_GTAGS_TAG' => 'Global Site Tag (gtag.js)',
));
9 changes: 2 additions & 7 deletions language/de_x_sie/googleanalytics_acp.php
Original file line number Diff line number Diff line change
Expand Up @@ -40,13 +40,8 @@
$lang = array_merge($lang, array(
'ACP_GOOGLEANALYTICS' => 'Google Analytics',
'ACP_GOOGLEANALYTICS_ID' => 'Google Analytics-ID',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Geben Sie Ihre Google Analytics-ID ein, z.B.: <samp>UA-000000-00</samp> or Measurement ID <samp>G-XXXXXXXXXX</samp>.<br /><br />Google Analytics kann Ihre registrierten Benutzer für eine genauere Benutzerzählung über mehrere Geräte und Sitzungen hinweg verfolgen. Um diese verbesserte User ID-Funktion nutzen zu können, muss sie in Ihrem Google Analytics-Account aktiviert sein. <a href="https://support.google.com/analytics/answer/3123666">Klicken Sie hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” ist keine valide Google Analytics-ID.<br />Sie sollte die folgende Form haben: “UA-000000-00” or “G-XXXXXXXXXX”.',
'ACP_GOOGLEANALYTICS_TAG_INVALID' => '“Global Site Tag (gtag.js)” must be the selected Google Analytics Script Tag when using a Measurement ID.',
'ACP_GOOGLEANALYTICS_ID_EXPLAIN' => 'Geben Sie Ihre Google Analytics-ID ein, z.B.: <samp>G-XXXXXXXXXX</samp>.<br><br>Google Analytics kann Ihre registrierten Benutzer für eine genauere Benutzerzählung über mehrere Geräte und Sitzungen hinweg verfolgen. Um diese verbesserte User ID-Funktion nutzen zu können, muss sie in Ihrem Google Analytics-Account aktiviert sein. <a href="https://support.google.com/analytics/answer/9213390" target="_blank">Klicken Sie hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GOOGLEANALYTICS_ID_INVALID' => '“%s” ist keine valide Google Analytics-ID.<br>Sie sollte die folgende Form haben: “G-XXXXXXXXXX”.',
'ACP_GA_ANONYMIZE_IP' => 'Turn on IP Anonymization',
'ACP_GA_ANONYMIZE_IP_EXPLAIN' => 'Enable this option if you want the data collected by Google Analytics to be compliant with the EU‘s General Data Protection Regulation (GDPR). Note that enabling this option may slightly reduce the accuracy of geographic reporting.',
'ACP_GOOGLEANALYTICS_TAG' => 'Google Analytics Script Tag',
'ACP_GOOGLEANALYTICS_TAG_EXPLAIN' => 'Wählen Sie Ihren bevorzugten Google Analytics-Code. Global Site Tag (gtag.js) ist der aktuelle von Google empfohlene Code. Google Analytics Tag (analytics.js) ist das alte Code. <a href="https://developers.google.com/analytics/devguides/collection/gtagjs/migration">Klicken Sie hier für mehr Informationen <i class="icon fa-external-link fa-fw" aria-hidden="true"></i></a>.',
'ACP_GA_ANALYTICS_TAG' => 'Google Analytics Tag (analytics.js)',
'ACP_GA_GTAGS_TAG' => 'Global Site Tag (gtag.js)',
));
Loading
Loading