[-] BO : AdminImport, not matching by ref for updating

This commit is contained in:
gRoussac committed 2013-09-30 11:50:51 +02:00
1 parent b6f13648db
commit 7d764c5ce8
1 file changed
+16 -6
+16 -6
View File
@@ -1067,13 +1067,23 @@ class AdminImportControllerCore extends AdminController
if (Tools::getValue('forceIDs') && isset($info['id']) && (int)$info['id']) if (Tools::getValue('forceIDs') && isset($info['id']) && (int)$info['id'])
$product = new Product((int)$info['id']); $product = new Product((int)$info['id']);
else elseif (Tools::getValue('match_ref') && array_key_exists('reference', $info))
{ {
if (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product')) $datas = Db::getInstance()->getRow('
$product = new Product((int)$info['id']); SELECT p.`id_product`
else FROM `'._DB_PREFIX_.'product` p
$product = new Product(); '.Shop::addSqlAssociation('product', 'p').'
WHERE p.`reference` = "'.pSQL($info['reference']).'"
');
if (isset($datas['id_product']) && $datas['id_product'])
$product = new Product((int)$datas['id_product']);
else
$product = new Product();
} }
elseif (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product'))
$product = new Product((int)$info['id']);
else
$product = new Product();
if (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product')) if (array_key_exists('id', $info) && (int)$info['id'] && Product::existsInDatabase((int)$info['id'], 'product'))
{ {
@@ -1311,7 +1321,7 @@ class AdminImportControllerCore extends AdminController
SELECT product_shop.`date_add`, p.`id_product` SELECT product_shop.`date_add`, p.`id_product`
FROM `'._DB_PREFIX_.'product` p FROM `'._DB_PREFIX_.'product` p
'.Shop::addSqlAssociation('product', 'p').' '.Shop::addSqlAssociation('product', 'p').'
WHERE p.`reference` = "'.$product->reference.'" WHERE p.`reference` = "'.pSQL($product->reference).'"
'); ');
$product->id = (int)$datas['id_product']; $product->id = (int)$datas['id_product'];
$product->date_add = pSQL($datas['date_add']); $product->date_add = pSQL($datas['date_add']);