From 61fa36b227844f60f1eb66310e301555e1643476 Mon Sep 17 00:00:00 2001 From: Art4 Date: Tue, 4 Feb 2025 08:03:32 +0000 Subject: [PATCH] Add install, uninstall and reload in AddonHelper --- src/Core/Addon/AddonHelper.php | 21 +++++++++++++++++++++ src/Core/Addon/AddonProxy.php | 30 ++++++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) diff --git a/src/Core/Addon/AddonHelper.php b/src/Core/Addon/AddonHelper.php index 98a999c23f..1dd8dc93f5 100644 --- a/src/Core/Addon/AddonHelper.php +++ b/src/Core/Addon/AddonHelper.php @@ -23,6 +23,27 @@ interface AddonHelper */ public function getAvailableAddons(): array; + /** + * Installs an addon. + * + * @param string $addonId name of the addon + * + * @return bool true on success or false on failure + */ + public function installAdodn(string $addonId): bool; + + /** + * Uninstalls an addon. + * + * @param string $addonId name of the addon + */ + public function uninstallAddon(string $addonId): void; + + /** + * Reload (uninstall and install) all updated addons. + */ + public function reloadAddons(): void; + /** * Checks if the provided addon is enabled */ diff --git a/src/Core/Addon/AddonProxy.php b/src/Core/Addon/AddonProxy.php index aaa6a23689..dead7cbb3e 100644 --- a/src/Core/Addon/AddonProxy.php +++ b/src/Core/Addon/AddonProxy.php @@ -30,6 +30,36 @@ final class AddonProxy implements AddonHelper return Addon::getAvailableList(); } + /** + * Installs an addon. + * + * @param string $addonId name of the addon + * + * @return bool true on success or false on failure + */ + public function installAdodn(string $addonId): bool + { + return Addon::install($addonId); + } + + /** + * Uninstalls an addon. + * + * @param string $addonId name of the addon + */ + public function uninstallAddon(string $addonId): void + { + Addon::uninstall($addonId); + } + + /** + * Reload (uninstall and install) all updated addons. + */ + public function reloadAddons(): void + { + Addon::reload(); + } + /** * Checks if the provided addon is enabled */ -- 2.39.5