Skip to content

Commit 0b1bb54

Browse files
committed
Fix incorrect upgrade message when Matomo is too new for plugin fixes #23945
1 parent 3943a17 commit 0b1bb54

5 files changed

Lines changed: 13 additions & 3 deletions

File tree

core/Plugin/Dependency.php

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,11 +49,16 @@ public function getMissingDependencies($requires)
4949
$missingVersions = $this->getMissingVersions($currentVersion, $requiredVersion);
5050

5151
if (!empty($missingVersions)) {
52+
$allUpperBounds = count(array_filter($missingVersions, function ($v) {
53+
return (bool) preg_match('/^</', $v);
54+
})) === count($missingVersions);
55+
5256
$missingRequirements[] = array(
5357
'requirement' => $name,
5458
'actualVersion' => $currentVersion,
5559
'requiredVersion' => $requiredVersion,
5660
'causedBy' => implode(', ', $missingVersions),
61+
'tooNew' => $allUpperBounds,
5762
);
5863
}
5964
}

plugins/CorePluginsAdmin/PluginInstaller.php

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -200,8 +200,9 @@ private function makeSureThereAreNoMissingRequirements($metadata)
200200
$params = array(ucfirst($dep['requirement']), $dep['requiredVersion'], $metadata->name);
201201
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsPleaseInstallNotice', $params);
202202
} else {
203-
$params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
204-
$message .= Piwik::translate('CorePluginsAdmin_MissingRequirementsNotice', $params);
203+
$params = array(ucfirst($dep['requirement']), $dep['actualVersion'], $dep['requiredVersion']);
204+
$key = !empty($dep['tooNew']) ? 'CorePluginsAdmin_MissingRequirementsNoticeTooNew' : 'CorePluginsAdmin_MissingRequirementsNotice';
205+
$message .= Piwik::translate($key, $params);
205206
}
206207
}
207208

plugins/CorePluginsAdmin/lang/en.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
"OncePluginIsInstalledYouMayActivateHere": "Once a plugin is installed, you may activate it or deactivate it here.",
3232
"MenuPlatform": "Platform",
3333
"MissingRequirementsNotice": "Please update %1$s %2$s to a newer version, %1$s %3$s is required.",
34+
"MissingRequirementsNoticeTooNew": "This plugin is not yet compatible with your Matomo version (%1$s %2$s). Supported versions: %3$s. Please downgrade Matomo or wait for a plugin update.",
3435
"MissingRequirementsPleaseInstallNotice": "Please install %1$s %2$s as it is required by %3$s.",
3536
"NoZipFileSelected": "Please select a ZIP file.",
3637
"FileExceedsUploadLimit": "The selected file exceeds the upload limit of your server.",

plugins/Marketplace/Marketplace.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ public function getClientSideTranslationKeys(&$translationKeys)
7171
$translationKeys[] = 'CorePluginsAdmin_Deactivate';
7272
$translationKeys[] = 'CorePluginsAdmin_Marketplace';
7373
$translationKeys[] = 'CorePluginsAdmin_MissingRequirementsNotice';
74+
$translationKeys[] = 'CorePluginsAdmin_MissingRequirementsNoticeTooNew';
7475
$translationKeys[] = 'CorePluginsAdmin_PluginsExtendPiwik';
7576
$translationKeys[] = 'CorePluginsAdmin_Status';
7677
$translationKeys[] = 'CorePluginsAdmin_Theme';

plugins/Marketplace/vue/src/MissingReqsNotice/MissingReqsNotice.vue

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
class="alert alert-danger"
1313
>
1414
{{ translate(
15-
'CorePluginsAdmin_MissingRequirementsNotice',
15+
req.tooNew
16+
? 'CorePluginsAdmin_MissingRequirementsNoticeTooNew'
17+
: 'CorePluginsAdmin_MissingRequirementsNotice',
1618
requirement(req.requirement),
1719
req.actualVersion,
1820
req.requiredVersion,

0 commit comments

Comments
 (0)