From 6e0c3e1aa2835257d35cf605e8bef30bc6b99b5a Mon Sep 17 00:00:00 2001 From: Damien Metzger Date: Thu, 3 Oct 2013 12:24:35 +0200 Subject: [PATCH] // addFeatureValueImport partial fix --- classes/FeatureValue.php | 43 +++++++++++++++++----------------------- 1 file changed, 18 insertions(+), 25 deletions(-) diff --git a/classes/FeatureValue.php b/classes/FeatureValue.php index 9ad101f95..b95f8ca16 100644 --- a/classes/FeatureValue.php +++ b/classes/FeatureValue.php @@ -128,34 +128,27 @@ class FeatureValueCore extends ObjectModel return $tab['value']; } - public static function addFeatureValueImport($id_feature, $name) + public static function addFeatureValueImport($id_feature, $value) { - $rq = Db::getInstance()->executeS(' - SELECT fv.`id_feature_value` - FROM '._DB_PREFIX_.'feature_value fv - LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl - ON (fvl.`id_feature_value` = fv.`id_feature_value`) - WHERE `value` = \''.pSQL($name).'\' - AND fv.`id_feature` = '.(int)$id_feature.' - GROUP BY fv.`id_feature_value` LIMIT 1 - '); + $id_feature_value = Db::getInstance()->getValue(' + SELECT fv.`id_feature_value` + FROM '._DB_PREFIX_.'feature_value fv + LEFT JOIN '._DB_PREFIX_.'feature_value_lang fvl ON (fvl.`id_feature_value` = fv.`id_feature_value`) + WHERE `value` = \''.pSQL($value).'\' + AND fv.`id_feature` = '.(int)$id_feature.' + GROUP BY fv.`id_feature_value`'); + if ($id_feature_value) + return (int)$id_feature_value; - if (!isset($rq[0]['id_feature_value']) || !$id_feature_value = (int)$rq[0]['id_feature_value']) - { - // Feature doesn't exist, create it - $feature_value = new FeatureValue(); + // Feature doesn't exist, create it + $feature_value = new FeatureValue(); + $feature_value->id_feature = (int)$id_feature; + $feature_value->custom = 0; + foreach (Language::getLanguages() as $language) + $feature_value->value[$language['id_lang']] = $value; + $feature_value->add(); - $languages = Language::getLanguages(); - foreach ($languages as $language) - $feature_value->value[$language['id_lang']] = strval($name); - - $feature_value->id_feature = (int)$id_feature; - $feature_value->custom = 1; - $feature_value->add(); - - return (int)$feature_value->id; - } - return (int)$id_feature_value; + return (int)$feature_value->id; } public function add($autodate = true, $nullValues = false)