* @copyright Since 2007 PrestaShop SA and Contributors * @license https://opensource.org/licenses/AFL-3.0 Academic Free License version 3.0 */ namespace PrestaShop\Module\BlockWishList\Database; use BlockWishList; use Db; use Tab; use Validate; class Uninstall { public function run() { return $this->dropTables() && $this->uninstallTabs(); } private function dropTables() { $sql[] = 'DROP TABLE IF EXISTS `' . _DB_PREFIX_ . 'wishlist`'; $sql[] = 'DROP TABLE IF EXISTS `' . _DB_PREFIX_ . 'wishlist_product`'; $sql[] = 'DROP TABLE IF EXISTS `' . _DB_PREFIX_ . 'wishlist_product_cart`'; $sql[] = 'DROP TABLE IF EXISTS `' . _DB_PREFIX_ . 'blockwishlist_statistics`'; $result = true; foreach ($sql as $query) { $result = $result && Db::getInstance()->execute($query); } return $result; } private function uninstallTabs() { $uninstallTabCompleted = true; foreach (BlockWishList::MODULE_ADMIN_CONTROLLERS as $controller) { $id_tab = (int) Tab::getIdFromClassName($controller['class_name']); $tab = new Tab($id_tab); if (Validate::isLoadedObject($tab)) { $uninstallTabCompleted = $uninstallTabCompleted && $tab->delete(); } } return $uninstallTabCompleted; } }