diff --git a/install-dev/upgrade/php/update_customer_default_group.php b/install-dev/upgrade/php/update_customer_default_group.php index 9ce468a41..253667c3d 100644 --- a/install-dev/upgrade/php/update_customer_default_group.php +++ b/install-dev/upgrade/php/update_customer_default_group.php @@ -29,16 +29,19 @@ 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); + 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 = DB::getInstance()->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); + define('_PS_DEFAULT_CUSTOMER_GROUP_', ((isset($matches[1]) AND is_numeric($matches[1]))? $matches[1] : 3)); + $ps_customer_group = DB::getInstance()->getValue('SELECT value FROM `'._DB_PREFIX_.'configuration` WHERE name LIKE "PS_CUSTOMER_GROUP"', false); + if ($ps_customer_group) + { + $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); + } $carriers = Db::getInstance()->executeS(' SELECT `id_carrier` @@ -50,21 +53,22 @@ function update_customer_default_group() FROM `'._DB_PREFIX_.'configuration` WHERE `name` IN (\'PS_UNIDENTIFIED_GROUP\', \'PS_GUEST_GROUP\')'); - $result = false; + $result = true; if (count($carriers) && is_array($carriers) && count($groups) && is_array($groups)) foreach ($carriers as $carrier) foreach ($groups as $group) - Db::getInstance()->execute(' + $result &= (bool)Db::getInstance()->execute(' INSERT IGNORE INTO `'._DB_PREFIX_.'carrier_group` VALUES ('.(int)$carrier['id_carrier'].', '.(int)$group['id_group'].')'); - if(file_exists($filename) && is_writable($filename)) - $result &= (bool)@file_put_contents($filename, $content); - if($result === true && file_exists($filename) && file_exists($filename_old)) + if($result && file_exists($filename) && is_writable($filename)) { - @unlink($filename_old); - @chmod($filename, 0664); - return true; + $result &= (bool)file_put_contents($filename, $content); + if($result && file_exists($filename_old)) + { + $result &= (bool)unlink($filename_old); + chmod($filename, 0664); + } } - return false; + return $result; } \ No newline at end of file