Skip to content

Commit 9fd0e09

Browse files
committed
Merge branch '5.x-dev' into PG-4455-add-duplicate-event
2 parents 3dd7290 + 10ddd92 commit 9fd0e09

File tree

132 files changed

+1178
-303
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

132 files changed

+1178
-303
lines changed

.ddev/commands/host/matomo_init_tests

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,7 @@ ddev matomo:console config:set \
1010
'database_tests.username="db"' \
1111
'database_tests.password="db"' \
1212
'tests.http_host="matomo.ddev.site"' \
13-
'tests.request_uri="/"' \
14-
'tests.port=80'
13+
'tests.request_uri="/"'
1514

1615
echo "Copy UI tests config file ..."
1716
echo "@see https://developer.matomo.org/guides/tests-ui#configuring-ui-tests"

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@
5858
"mustangostang/spyc": "^0.6.0",
5959
"pear/pear_exception": "~1.0.0",
6060
"php-di/php-di": "^6.0.0",
61-
"phpmailer/phpmailer": "^6.1",
61+
"phpmailer/phpmailer": "^7.0",
6262
"psr/log": "~1.0",
6363
"symfony/console": "~5.4.0",
6464
"symfony/event-dispatcher": "~5.4.0",

composer.lock

Lines changed: 19 additions & 19 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

core/DataTable/Row.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ public function renameColumn($oldName, $newName)
188188
/**
189189
* Returns a column by name.
190190
*
191-
* @param string $name The column name.
191+
* @param string|int $name The column name.
192192
* @return mixed|false The column value or false if it doesn't exist.
193193
*/
194194
public function getColumn($name)

core/Mail/Transport.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ public function send(Mail $mail)
4949
$phpMailer->XMailer = ' ';
5050
// avoid triggering automated (vacation) responses
5151
$phpMailer->addCustomHeader('Auto-Submitted', 'yes');
52-
$phpMailer->setLanguage(StaticContainer::get('Piwik\Translation\Translator')->getCurrentLanguage());
52+
PHPMailer::setLanguage(StaticContainer::get('Piwik\Translation\Translator')->getCurrentLanguage());
5353
$this->initSmtpTransport($phpMailer);
5454

5555
if ($mail->isSmtpDebugEnabled()) {

core/Policy/CnilPolicy.php

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,16 @@ public static function getTitle(): string
2121
return Piwik::translate('General_ComplianceCNILTitle');
2222
}
2323

24+
public static function getUnknownSettings(): array
25+
{
26+
return [
27+
[
28+
'title' => Piwik::translate('General_ComplianceCNILUnknownSettingOptOutTitle'),
29+
'note' => Piwik::translate('General_ComplianceCNILUnknownSettingOptOutNotes'),
30+
],
31+
];
32+
}
33+
2434
protected static function getMinimumRequiredPlugins(): array
2535
{
2636
return [

core/Policy/CompliancePolicy.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ abstract class CompliancePolicy implements SystemSettingInterface, MeasurableSet
2929
abstract public static function getName(): string;
3030
abstract public static function getDescription(): string;
3131
abstract public static function getTitle(): string;
32+
/**
33+
* @return array<array<string>> of [['title' => (string) 'TITLE', 'note' => (string) 'NOTE']]
34+
*/
35+
abstract public static function getUnknownSettings(): array;
3236

3337
/**
3438
* @return array<string> of plugin names that are required for this policy to function

core/Policy/PolicyManager.php

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -95,4 +95,18 @@ public static function isPolicyActive(string $policyClass, ?int $idSite = null):
9595
}
9696
return $policyClass::isActive($idSite);
9797
}
98+
99+
/**
100+
* @param class-string<CompliancePolicy> $policyClass
101+
* @return array<array<string>> of [['title' => (string) 'TITLE', 'note' => (string) 'NOTE']]
102+
* @throws \Exception when $policyClass is not a valid policy
103+
*/
104+
public static function getAllUnknownSettings(string $policyClass): array
105+
{
106+
if (!is_a($policyClass, CompliancePolicy::class, true)) {
107+
throw new Exception('Invalid compliance policy.');
108+
}
109+
110+
return $policyClass::getUnknownSettings();
111+
}
98112
}

lang/de.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,8 @@
103103
"ComparisonCardTooltip2": "Die Besucheranzahl ist um %1$s verschieden verglichen mit %2$s über %3$s.",
104104
"ComparisonRatioTooltip": "Dies ist eine Änderung um %1$s verglichen mit dem Segment '%2$s' im Zeitraum %3$s.",
105105
"Comparisons": "Vergleiche",
106+
"ComplianceCNILDescription": "Diese Tabelle gibt einen Hinweis darauf, ob bestimmte Einstellungen mit den CNIL-Richtlinien übereinstimmen. Sie garantiert jedoch keine vollständige Rechtskonformität. Um gemäß den CNIL-Vorschriften für eine Ausnahmeregelung hinsichtlich der Einwilligung in Frage zu kommen, müssen alle erforderlichen Konfigurationen implementiert sein. Wenn eine Einstellung als „nicht konform” angezeigt wird, sind die Ausnahmeregelungen nicht erfüllt und es muss die Einwilligung der Nutzer eingeholt werden. Wenn eine Einstellung als „unbekannt” angezeigt wird, kann Matomo nicht feststellen, ob diese Anforderung implementiert wurde. In solchen Fällen müssen diese Maßnahmen manuell überprüft werden.",
107+
"ComplianceCNILTitle": "Bedingungen für die Befreiung von der Einwilligungspflicht bei der Analyse von Website-Daten durch die CN",
106108
"ComputedMetricAverage": "Mtlw. %1$s pro %2$s",
107109
"ComputedMetricAverageDocumentation": "Mittelwert von \"%1$s\" pro \"%2$s\".",
108110
"ComputedMetricAverageShortDocumentation": "Mittelwert von \"%1$s\".",

lang/en.json

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,8 @@
105105
"Comparisons": "Comparisons",
106106
"ComplianceCNILTitle": "CNIL website analytics consent exemption conditions",
107107
"ComplianceCNILDescription": "This table provides an indication of whether certain settings align with CNIL guidance. It does not guarantee full legal compliance. To qualify for the consent exemption under CNIL rules, all required configurations must be implemented. If any setting is shown as “Non-Compliant,” the exemption conditions are not met, and consent must be obtained from users. If any setting is shown as “Unknown” Matomo cannot determine whether this requirement has been implemented. In such cases, these measures must be manually verified.",
108+
"ComplianceCNILUnknownSettingOptOutTitle": "Opt out",
109+
"ComplianceCNILUnknownSettingOptOutNotes": "Opt out must be manually set up and configured",
108110
"ComputedMetricAverage": "Avg. %1$s per %2$s",
109111
"ComputedMetricAverageDocumentation": "Average value of \"%1$s\" per \"%2$s\".",
110112
"ComputedMetricAverageShortDocumentation": "Average value of \"%1$s\".",

0 commit comments

Comments
 (0)