* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License 3.0 (AFL-3.0) */ declare(strict_types=1); namespace PrestaShop\Module\PsEditionBasic\Actions; class Uninstall { /** * @var string */ private $moduleName; public function __construct(string $moduleName) { $this->moduleName = $moduleName; } public function run(): bool { return $this->uninstallTabs(); } public function uninstallTabs(): bool { $result = true; foreach (['HOME', 'AdminPsEditionBasicHomepageController', 'AdminPsEditionBasicSettingsController'] as $tabItemClassName) { $id_tab = (int) \Tab::getIdFromClassName($tabItemClassName); $tab = new \Tab($id_tab); if (\Validate::isLoadedObject($tab) && $tab->module === $this->moduleName) { $result = $result && $tab->delete(); } } return $result; } }