PluginProbe ʕ •ᴥ•ʔ
Matomo Analytics – Powerful, Privacy-First Insights for WordPress / trunk
Matomo Analytics – Powerful, Privacy-First Insights for WordPress vtrunk
5.11.1 5.11.0 5.10.2 5.10.1 trunk 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.3.2 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.1.0 4.1.1 4.1.2 4.1.3 4.10.0 4.11.0 4.12.0 4.13.0 4.13.2 4.13.3 4.13.4 4.13.5 4.14.0 4.14.1 4.14.2 4.15.0 4.15.1 4.15.2 4.15.3 4.2.0 4.3.0 4.3.1 4.4.1 4.4.2 4.5.0 4.6.0 5.0.1 5.0.2 5.0.3 5.0.4 5.0.5 5.0.6 5.0.7 5.0.8 5.1.0 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.10.0 5.2.0 5.2.1 5.2.2 5.3.0 5.3.1 5.3.2 5.3.3 5.6.0 5.6.1 5.7.0 5.7.1 5.8.0 5.8.1 5.8.2
matomo / app / core / Updater / Migration / Plugin / Uninstall.php
matomo / app / core / Updater / Migration / Plugin Last commit date
Activate.php 1 year ago Deactivate.php 1 year ago Factory.php 2 years ago Uninstall.php 1 year ago
Uninstall.php
50 lines
1 <?php
2
3 /**
4 * Matomo - free/libre analytics platform
5 *
6 * @link https://matomo.org
7 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
8 */
9 namespace Piwik\Updater\Migration\Plugin;
10
11 use Piwik\Config;
12 use Piwik\Plugin;
13 use Piwik\Updater\Migration;
14 /**
15 * Uninstalls the given plugin during the update
16 */
17 class Uninstall extends Migration
18 {
19 /**
20 * @var string
21 */
22 private $pluginName;
23 /**
24 * @var Plugin\Manager
25 */
26 private $pluginManager;
27 public function __construct(Plugin\Manager $pluginManager, $pluginName)
28 {
29 $this->pluginManager = $pluginManager;
30 $this->pluginName = $pluginName;
31 }
32 public function __toString()
33 {
34 $domain = Config::getLocalConfigPath() == Config::getDefaultLocalConfigPath() ? '' : Config::getHostname();
35 $domainArg = !empty($domain) ? "--matomo-domain=\"{$domain}\" " : '';
36 return sprintf('./console %splugin:uninstall "%s"', $domainArg, $this->pluginName);
37 }
38 public function shouldIgnoreError($exception)
39 {
40 return \true;
41 }
42 public function exec()
43 {
44 $this->pluginManager->uninstallPlugin($this->pluginName);
45 // uninstallPlugin() loads all plugins in the filesystem, which we don't want for the rest of the updates
46 $this->pluginManager->unloadPlugins();
47 $this->pluginManager->loadActivatedPlugins();
48 }
49 }
50