Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/matomo-org/matomo.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/CorePluginsAdmin/CorePluginsAdmin.php')
-rw-r--r--plugins/CorePluginsAdmin/CorePluginsAdmin.php30
1 files changed, 29 insertions, 1 deletions
diff --git a/plugins/CorePluginsAdmin/CorePluginsAdmin.php b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
index 77e059ac42..3a08314a58 100644
--- a/plugins/CorePluginsAdmin/CorePluginsAdmin.php
+++ b/plugins/CorePluginsAdmin/CorePluginsAdmin.php
@@ -13,6 +13,9 @@ use Piwik\Piwik;
use Piwik\Plugin;
use Piwik\Plugins\CoreHome\SystemSummary;
use Piwik\Plugins\CorePluginsAdmin\Model\TagManagerTeaser;
+use Piwik\Changes\Model as ChangesModel;
+use Piwik\Db;
+use Piwik\Plugin\Manager as PluginManager;
class CorePluginsAdmin extends Plugin
{
@@ -26,10 +29,35 @@ class CorePluginsAdmin extends Plugin
'AssetManager.getStylesheetFiles' => 'getStylesheetFiles',
'System.addSystemSummaryItems' => 'addSystemSummaryItems',
'Translate.getClientSideTranslationKeys' => 'getClientSideTranslationKeys',
- 'PluginManager.pluginActivated' => 'onPluginActivated'
+ 'PluginManager.pluginActivated' => 'onPluginActivated',
+ 'PluginManager.pluginInstalled' => 'addPluginChanges',
+ 'Updater.componentUpdated' => 'addPluginChanges',
+ 'PluginManager.pluginUninstalled' => 'removePluginChanges'
);
}
+ /**
+ * Add any changes from newly installed or updated plugins to the changes table
+ *
+ * @param string $pluginName The name of the plugin that was updated or installed
+ */
+ public function addPluginChanges(string $pluginName)
+ {
+ $changes = new ChangesModel(Db::get(), PluginManager::getInstance());
+ $changes->addChanges($pluginName);
+ }
+
+ /**
+ * Remove any changes from a plugin that has been uninstalled
+ *
+ * @param string $pluginName The name of the plugin that was uninstalled
+ */
+ public function removePluginChanges(string $pluginName)
+ {
+ $changes = new ChangesModel(Db::get(), PluginManager::getInstance());
+ $changes->removeChanges($pluginName);
+ }
+
public function onPluginActivated($pluginName)
{
if ($pluginName === 'TagManager') {