[-] INSTALLER : Fix bug #PSCFV-8750 do not activate disabled module during upgrade

This commit is contained in:
gRoussac
2013-05-02 15:41:21 +02:00
parent fb3291a08f
commit a1ce0fda13
2 changed files with 12 additions and 9 deletions
@@ -66,18 +66,21 @@ function deactivate_custom_modules()
$uninstallMe = array("undefined-modules");
if (is_array($arrNonNative))
foreach($arrNonNative as $aModule)
$uninstallMe[] = $aModule['name'];
foreach($arrNonNative as $k => $aModule)
$uninstallMe[(int)$aModule['id_module']] = $aModule['name'];
if (!is_array($uninstallMe))
$uninstallMe = array($uninstallMe);
foreach ($uninstallMe as $k=>$v)
foreach ($uninstallMe as $k => $v)
$uninstallMe[$k] = '"'.pSQL($v).'"';
return Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'module`
SET `active`= 0
WHERE `name` IN ('.implode(',',$uninstallMe).')');
}
$return = Db::getInstance()->execute('
UPDATE `'._DB_PREFIX_.'module` SET `active` = 0 WHERE `name` IN ('.implode(',', $uninstallMe).')');
if (count(Db::getInstance()->executeS('SHOW TABLES LIKE \''._DB_PREFIX_.'module_shop\''))> 0)
foreach($uninstallMe as $k => $uninstall)
$return &= Db::getInstance()->execute('DELETE FROM `'._DB_PREFIX_.'module_shop` WHERE `id_module` = '.(int)$k);
return $return;
}
+1 -1
View File
@@ -264,7 +264,7 @@ CREATE TABLE `PREFIX_module_shop` (
PRIMARY KEY (`id_module` , `id_shop`),
KEY `id_shop` (`id_shop`)
) ENGINE=ENGINE_TYPE DEFAULT CHARSET=utf8;
INSERT INTO `PREFIX_module_shop` (`id_module`, `id_shop`) (SELECT `id_module`, 1 FROM `PREFIX_module`);
INSERT INTO `PREFIX_module_shop` (`id_module`, `id_shop`) (SELECT `id_module`, 1 FROM `PREFIX_module` WHERE active = 1);
ALTER TABLE `PREFIX_module_currency` ADD `id_shop` INT(11) UNSIGNED NOT NULL DEFAULT '1' AFTER `id_module`;
ALTER TABLE `PREFIX_module_currency` DROP PRIMARY KEY;