From 6721387e7b18dd406d27e89b62f287a649c5a61b Mon Sep 17 00:00:00 2001 From: gRoussac Date: Tue, 5 Feb 2013 11:53:44 +0100 Subject: [PATCH] [-] CORE : Set default customer group to old default group when upgrading from 1.4.X --- .../php/update_customer_default_group.php | 50 +++++++++++++++++++ install-dev/upgrade/sql/1.5.4.0.sql | 2 + 2 files changed, 52 insertions(+) create mode 100644 install-dev/upgrade/php/update_customer_default_group.php diff --git a/install-dev/upgrade/php/update_customer_default_group.php b/install-dev/upgrade/php/update_customer_default_group.php new file mode 100644 index 000000000..75aeaf6a2 --- /dev/null +++ b/install-dev/upgrade/php/update_customer_default_group.php @@ -0,0 +1,50 @@ + +* @copyright 2007-2013 PrestaShop SA +* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0) +* International Registered Trademark & Property of PrestaShop SA +*/ + +public function update_customer_default_group() +{ + $filename = _PS_ROOT_DIR_.'/config/defines.inc.php'; + $filename_old = str_replace('.inc.', '.old.', $filename); + copy($filename, $filename_old); + @chmod($filename_old, 0664); + $content = file_get_contents($filename); + $pattern = "/define\('_PS_DEFAULT_CUSTOMER_GROUP_', (\d)\);/"; + preg_match($pattern, $content, $matches); + if (!defined('_PS_DEFAULT_CUSTOMER_GROUP_')) + define('_PS_DEFAULT_CUSTOMER_GROUP_', ((isset($matches[1]) AND is_numeric($matches[1]))? (int)$matches[1] : 3)); + $ps_customer_group = $this->db->getValue('SELECT value FROM `'._DB_PREFIX_.'configuration` WHERE name LIKE "PS_CUSTOMER_GROUP"', false); + $str_old = 'define(\'_PS_DEFAULT_CUSTOMER_GROUP_\', '.(int)_PS_DEFAULT_CUSTOMER_GROUP_.');'; + $str_new = 'define(\'_PS_DEFAULT_CUSTOMER_GROUP_\', '.(int)$ps_customer_group.');'; + $content = str_replace($str_old, $str_new, $content); + $result = (bool)file_put_contents($filename, $content); + if($result === true && file_exists($filename) && file_exists($filename_old)) + { + @unlink($filename_old); + @chmod($filename, 0664); + return true; + } + return false; +} \ No newline at end of file diff --git a/install-dev/upgrade/sql/1.5.4.0.sql b/install-dev/upgrade/sql/1.5.4.0.sql index a5bdbe096..481f951d2 100644 --- a/install-dev/upgrade/sql/1.5.4.0.sql +++ b/install-dev/upgrade/sql/1.5.4.0.sql @@ -1,5 +1,7 @@ SET NAMES 'utf8'; +/* PHP:update_customer_default_group(); */; + UPDATE `PREFIX_meta` SET `page` = 'supplier' WHERE `page` = 'supply'; ALTER TABLE `PREFIX_image_type` CHANGE `name` `name` VARCHAR( 64 ) NOT NULL;