From 65ef8c705335536de1309f2a4326dbd3cd90e475 Mon Sep 17 00:00:00 2001 From: gRoussac Date: Tue, 26 Mar 2013 10:36:23 +0100 Subject: [PATCH] [-] INSTALLER : Last fix of bug #PSCFV-8168 loyalty ADD id_shop to layered_product_attribute --- .../upgrade/php/p1540_add_missing_columns.php | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/install-dev/upgrade/php/p1540_add_missing_columns.php b/install-dev/upgrade/php/p1540_add_missing_columns.php index e08e85c49..4d7775b0a 100644 --- a/install-dev/upgrade/php/p1540_add_missing_columns.php +++ b/install-dev/upgrade/php/p1540_add_missing_columns.php @@ -27,7 +27,7 @@ function p1540_add_missing_columns() { $errors = array(); - $id_module = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name="loyalty"'); + $id_module = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name LIKE "loyalty"'); if ($id_module) { $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'loyalty`'); @@ -35,9 +35,22 @@ function p1540_add_missing_columns() $list_fields[$k] = $field['Field']; if (in_array('id_discount', $list_fields)) - if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'loyalty` CHANGE `id_discount` `id_cart_rule` INT( 10 ) UNSIGNED NULL DEFAULT NULL ')) - $errors[] = Db::getInstance()->getMsgError();; + if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'loyalty` CHANGE `id_discount` `id_cart_rule` INT( 10 ) UNSIGNED NULL DEFAULT NULL')) + $errors[] = Db::getInstance()->getMsgError(); } + + $id_module = Db::getInstance()->getValue('SELECT id_module FROM `'._DB_PREFIX_.'module` WHERE name LIKE "blocklayered"'); + if ($id_module) + { + $list_fields = Db::getInstance()->executeS('SHOW FIELDS FROM `'._DB_PREFIX_.'layered_product_attribute`'); + foreach ($list_fields as $k => $field) + $list_fields[$k] = $field['Field']; + + if (!in_array('id_shop', $list_fields)) + if (!Db::getInstance()->execute('ALTER TABLE `'._DB_PREFIX_.'layered_product_attribute` ADD `id_shop` INT( 10 ) UNSIGNED NOT NULL DEFAULT "1" AFTER `id_attribute_group` ')) + $errors[] = Db::getInstance()->getMsgError(); + } + if (count($errors)) return array('error' => 1, 'msg' => implode(',', $errors)) ; } \ No newline at end of file