pluginManager = $pluginManager; $this->pluginName = $pluginName; } public function __toString() { $domain = Config::getLocalConfigPath() == Config::getDefaultLocalConfigPath() ? '' : Config::getHostname(); $domainArg = !empty($domain) ? "--matomo-domain=\"$domain\" " : ''; return sprintf('./console %splugin:uninstall "%s"', $domainArg, $this->pluginName); } public function shouldIgnoreError($exception) { return true; } public function exec() { $this->pluginManager->uninstallPlugin($this->pluginName); // uninstallPlugin() loads all plugins in the filesystem, which we don't want for the rest of the updates $this->pluginManager->unloadPlugins(); $this->pluginManager->loadActivatedPlugins(); } }