Skip to content
Extraits de code Groupes Projets
Valider 45f3ec35 rédigé par Thomas Steur's avatar Thomas Steur Validation de Matthieu Aubry
Parcourir les fichiers

Premium Plugin Installer shows false error message after install (#11516)

* fix #11512 Premium Plugin Installer shows false error message after install

* better handling when a plugin was installed
parent 3413b42c
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -502,7 +502,7 @@ class Manager ...@@ -502,7 +502,7 @@ class Manager
Piwik::postEvent('PluginManager.pluginActivated', array($pluginName)); Piwik::postEvent('PluginManager.pluginActivated', array($pluginName));
} }
protected function isPluginInFilesystem($pluginName) public function isPluginInFilesystem($pluginName)
{ {
$existingPlugins = $this->readPluginsDirectory(); $existingPlugins = $this->readPluginsDirectory();
$isPluginInFilesystem = array_search($pluginName, $existingPlugins) !== false; $isPluginInFilesystem = array_search($pluginName, $existingPlugins) !== false;
......
...@@ -318,17 +318,27 @@ class Controller extends \Piwik\Plugin\ControllerAdmin ...@@ -318,17 +318,27 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
for ($i = 0; $i <= 10; $i++) { for ($i = 0; $i <= 10; $i++) {
foreach ($paidPlugins as $index => $paidPlugin) { foreach ($paidPlugins as $index => $paidPlugin) {
if (empty($paidPlugin)) {
continue;
}
$pluginName = $paidPlugin['name']; $pluginName = $paidPlugin['name'];
if ($this->pluginManager->isPluginActivated($pluginName)) { if ($this->pluginManager->isPluginActivated($pluginName)) {
unset($paidPlugins[$index]); // we do not use unset since it might skip a plugin afterwards when removing index
$paidPlugins[$index] = null;
continue;
}
if (!$this->pluginManager->isPluginInFilesystem($pluginName)) {
$paidPlugins[$index] = null;
continue; continue;
} }
if (empty($paidPlugin['require']) if (empty($paidPlugin['require'])
|| !$dependency->hasDependencyToDisabledPlugin($paidPlugin['require'])) { || !$dependency->hasDependencyToDisabledPlugin($paidPlugin['require'])) {
unset($paidPlugins[$index]); $paidPlugins[$index] = null;
try { try {
$this->pluginManager->activatePlugin($pluginName); $this->pluginManager->activatePlugin($pluginName);
...@@ -341,6 +351,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin ...@@ -341,6 +351,8 @@ class Controller extends \Piwik\Plugin\ControllerAdmin
} }
} }
} }
$paidPlugins = array_filter($paidPlugins);
} }
if ($hasErrors) { if ($hasErrors) {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter