// Fix deprecated warning on product attribute create
This commit is contained in:
+14
-6
@@ -106,12 +106,12 @@ class CombinationCore extends ObjectModel
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setWsProductOptionValues($values)
|
public function setAttributes($ids_attribute)
|
||||||
{
|
{
|
||||||
if ($this->deleteAssociations())
|
if ($this->deleteAssociations())
|
||||||
{
|
{
|
||||||
$sqlValues = array();
|
$sqlValues = array();
|
||||||
foreach ($values as $value)
|
foreach ($ids_attribute as $value)
|
||||||
$sqlValues[] = '('.(int)$value['id'].', '.(int)$this->id.')';
|
$sqlValues[] = '('.(int)$value['id'].', '.(int)$this->id.')';
|
||||||
$result = Db::getInstance()->execute('
|
$result = Db::getInstance()->execute('
|
||||||
INSERT INTO `'._DB_PREFIX_.'product_attribute_combination` (`id_attribute`, `id_product_attribute`)
|
INSERT INTO `'._DB_PREFIX_.'product_attribute_combination` (`id_attribute`, `id_product_attribute`)
|
||||||
@@ -122,6 +122,11 @@ class CombinationCore extends ObjectModel
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setWsProductOptionValues($values)
|
||||||
|
{
|
||||||
|
return $this->setAttributes($values);
|
||||||
|
}
|
||||||
|
|
||||||
public function getWsProductOptionValues()
|
public function getWsProductOptionValues()
|
||||||
{
|
{
|
||||||
$result = Db::getInstance()->executeS('SELECT id_attribute AS id from `'._DB_PREFIX_.'product_attribute_combination` WHERE id_product_attribute = '.(int)$this->id);
|
$result = Db::getInstance()->executeS('SELECT id_attribute AS id from `'._DB_PREFIX_.'product_attribute_combination` WHERE id_product_attribute = '.(int)$this->id);
|
||||||
@@ -137,14 +142,14 @@ class CombinationCore extends ObjectModel
|
|||||||
');
|
');
|
||||||
}
|
}
|
||||||
|
|
||||||
public function setWsImages($values)
|
public function setImages($ids_image)
|
||||||
{
|
{
|
||||||
if (Db::getInstance()->execute('
|
if (Db::getInstance()->execute('
|
||||||
DELETE FROM `'._DB_PREFIX_.'product_attribute_image`
|
DELETE FROM `'._DB_PREFIX_.'product_attribute_image`
|
||||||
WHERE `id_product_attribute` = '.(int)($this->id)) === false)
|
WHERE `id_product_attribute` = '.(int)($this->id)) === false)
|
||||||
return false;
|
return false;
|
||||||
$sqlValues = array();
|
$sqlValues = array();
|
||||||
foreach ($values as $value)
|
foreach ($ids_image as $value)
|
||||||
$sqlValues[] = '('.(int)$this->id.', '.(int)$value['id'].')';
|
$sqlValues[] = '('.(int)$this->id.', '.(int)$value['id'].')';
|
||||||
Db::getInstance()->execute('
|
Db::getInstance()->execute('
|
||||||
INSERT INTO `'._DB_PREFIX_.'product_attribute_image` (`id_product_attribute`, `id_image`)
|
INSERT INTO `'._DB_PREFIX_.'product_attribute_image` (`id_product_attribute`, `id_image`)
|
||||||
@@ -153,6 +158,11 @@ class CombinationCore extends ObjectModel
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function setWsImages($values)
|
||||||
|
{
|
||||||
|
return $this->setImages($values);
|
||||||
|
}
|
||||||
|
|
||||||
public function getAttributesName($id_lang)
|
public function getAttributesName($id_lang)
|
||||||
{
|
{
|
||||||
return Db::getInstance()->executeS('SELECT al.*
|
return Db::getInstance()->executeS('SELECT al.*
|
||||||
@@ -183,5 +193,3 @@ class CombinationCore extends ObjectModel
|
|||||||
return parent::isCurrentlyUsed('product_attribute');
|
return parent::isCurrentlyUsed('product_attribute');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
+57
-113
@@ -1006,30 +1006,8 @@ class ProductCore extends ObjectModel
|
|||||||
return false;
|
return false;
|
||||||
|
|
||||||
StockAvailable::setQuantity($this->id, $id_product_attribute, $quantity);
|
StockAvailable::setQuantity($this->id, $id_product_attribute, $quantity);
|
||||||
|
|
||||||
//Try to set the default supplier reference
|
//Try to set the default supplier reference
|
||||||
if ($this->id_supplier > 0 && $supplier_reference != null)
|
$this->addSupplierReference($supplier_reference, $id_product_attribute);
|
||||||
{
|
|
||||||
$id_product_supplier = ProductSupplier::getIdByProductAndSupplier($this->id, $id_product_attribute, $this->id_supplier);
|
|
||||||
|
|
||||||
if (empty($id_product_supplier))
|
|
||||||
{
|
|
||||||
//create new record
|
|
||||||
$product_supplier_entity = new ProductSupplier();
|
|
||||||
$product_supplier_entity->id_product = $this->id;
|
|
||||||
$product_supplier_entity->id_product_attribute = $id_product_attribute;
|
|
||||||
$product_supplier_entity->id_supplier = $this->id_supplier;
|
|
||||||
$product_supplier_entity->product_supplier_reference = pSQL($supplier_reference);
|
|
||||||
$product_supplier_entity->save();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$product_supplier = new ProductSupplier($id_product_supplier);
|
|
||||||
$product_supplier->product_supplier_reference = pSql($supplier_reference);
|
|
||||||
$product_supplier->update();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $id_product_attribute;
|
return $id_product_attribute;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1057,36 +1035,30 @@ class ProductCore extends ObjectModel
|
|||||||
$price = str_replace(',', '.', $price);
|
$price = str_replace(',', '.', $price);
|
||||||
$weight = str_replace(',', '.', $weight);
|
$weight = str_replace(',', '.', $weight);
|
||||||
|
|
||||||
Db::getInstance()->AutoExecute(_DB_PREFIX_.'product_attribute', array(
|
$combination = new Combination();
|
||||||
'id_product' => (int)$this->id,
|
$combination->id_product = (int)$this->id;
|
||||||
'price' => (float)$price,
|
$combination->price = (float)$price;
|
||||||
'ecotax' => (float)$ecotax,
|
$combination->ecotax = (float)$ecotax;
|
||||||
'quantity' => 0,
|
$combination->quantity = 0;
|
||||||
'weight' => ($weight ? (float)$weight : 0),
|
$combination->weight = (float)$weight;
|
||||||
'unit_price_impact' => ($unit_impact ? (float)$unit_impact : 0),
|
$combination->unit_price_impact = (float)$unit_impact;
|
||||||
'reference' => pSQL($reference),
|
$combination->reference = pSQL($reference);
|
||||||
'location' => pSQL($location),
|
$combination->location = pSQL($location);
|
||||||
'ean13' => pSQL($ean13),
|
$combination->ean13 = pSQL($ean13);
|
||||||
'upc' => pSQL($upc),
|
$combination->upc = pSQL($upc);
|
||||||
'default_on' => (int)$default,
|
$combination->default_on = (int)$default;
|
||||||
'minimal_quantity' => (int)$minimal_quantity,
|
$combination->minimal_quantity = (int)$minimal_quantity;
|
||||||
), 'INSERT');
|
$combination->add();
|
||||||
|
|
||||||
$id_product_attribute = Db::getInstance()->Insert_ID();
|
if (!$combination->id)
|
||||||
|
return false;
|
||||||
|
|
||||||
Product::updateDefaultAttribute($this->id);
|
Product::updateDefaultAttribute($this->id);
|
||||||
if (!$id_product_attribute)
|
|
||||||
return false;
|
|
||||||
|
|
||||||
if (empty($id_images))
|
if (!empty($id_images))
|
||||||
return (int)$id_product_attribute;
|
$combination->setImages($id_images);
|
||||||
$query = 'INSERT INTO `'._DB_PREFIX_.'product_attribute_image` (`id_product_attribute`, `id_image`) VALUES ';
|
|
||||||
foreach ($id_images as $id_image)
|
return (int)$combination->id;
|
||||||
$query .= '('.(int)$id_product_attribute.', '.(int)$id_image.'), ';
|
|
||||||
$query = trim($query, ', ');
|
|
||||||
if (!Db::getInstance()->execute($query))
|
|
||||||
return false;
|
|
||||||
return (int)$id_product_attribute;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1096,10 +1068,11 @@ class ProductCore extends ObjectModel
|
|||||||
public function addCombinationEntity($wholesale_price, $price, $weight, $unit_impact, $ecotax, $quantity,
|
public function addCombinationEntity($wholesale_price, $price, $weight, $unit_impact, $ecotax, $quantity,
|
||||||
$id_images, $reference, $supplier_reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity = 1)
|
$id_images, $reference, $supplier_reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity = 1)
|
||||||
{
|
{
|
||||||
$id_product_attribute = $this->addProductAttribute(
|
$id_product_attribute = $this->addAttribute(
|
||||||
$price, $weight, $unit_impact, $ecotax, $quantity, $id_images,
|
$price, $weight, $unit_impact, $ecotax, 0, $id_images,
|
||||||
$reference, $supplier_reference, $ean13, $default, $location, $upc, $minimal_quantity
|
$reference, $ean13, $default, $location, $upc, $minimal_quantity);
|
||||||
);
|
|
||||||
|
$this->addSupplierReference($supplier_reference, $id_product_attribute);
|
||||||
|
|
||||||
$result = Db::getInstance()->execute(
|
$result = Db::getInstance()->execute(
|
||||||
'UPDATE `'._DB_PREFIX_.'product_attribute`
|
'UPDATE `'._DB_PREFIX_.'product_attribute`
|
||||||
@@ -1203,7 +1176,12 @@ class ProductCore extends ObjectModel
|
|||||||
$id_product_attribute, $wholesale_price, $price, $weight, $unit, $ecotax,
|
$id_product_attribute, $wholesale_price, $price, $weight, $unit, $ecotax,
|
||||||
$id_images, $reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity, $available_date
|
$id_images, $reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity, $available_date
|
||||||
);
|
);
|
||||||
|
$this->addSupplierReference($supplier_reference, $id_product_attribute);
|
||||||
|
return $return;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function addSupplierReference($supplier_reference, $id_product_attribute = null, $id_currency = null)
|
||||||
|
{
|
||||||
//Try to set the default supplier reference
|
//Try to set the default supplier reference
|
||||||
if ($this->id_supplier > 0 && $supplier_reference != null)
|
if ($this->id_supplier > 0 && $supplier_reference != null)
|
||||||
{
|
{
|
||||||
@@ -1213,16 +1191,17 @@ class ProductCore extends ObjectModel
|
|||||||
{
|
{
|
||||||
//create new record
|
//create new record
|
||||||
$product_supplier_entity = new ProductSupplier();
|
$product_supplier_entity = new ProductSupplier();
|
||||||
$product_supplier_entity->id_product = $this->id;
|
$product_supplier_entity->id_product = (int)$this->id;
|
||||||
$product_supplier_entity->id_product_attribute = $id_product_attribute;
|
$product_supplier_entity->id_product_attribute = (int)$id_product_attribute;
|
||||||
$product_supplier_entity->id_supplier = $this->id_supplier;
|
$product_supplier_entity->id_supplier = (int)$this->id_supplier;
|
||||||
$product_supplier_entity->product_supplier_reference = pSQL($supplier_reference);
|
$product_supplier_entity->product_supplier_reference = pSQL($supplier_reference);
|
||||||
|
$product_supplier_entity->id_currency = (int)$id_currency;
|
||||||
$product_supplier_entity->save();
|
$product_supplier_entity->save();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
$product_supplier = new ProductSupplier($id_product_supplier);
|
$product_supplier = new ProductSupplier((int)$id_product_supplier);
|
||||||
$product_supplier->product_supplier_reference = pSql($supplier_reference);
|
$product_supplier->product_supplier_reference = pSQL($supplier_reference);
|
||||||
$product_supplier->update();
|
$product_supplier->update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1248,57 +1227,33 @@ class ProductCore extends ObjectModel
|
|||||||
public function updateAttribute($id_product_attribute, $wholesale_price, $price, $weight, $unit, $ecotax,
|
public function updateAttribute($id_product_attribute, $wholesale_price, $price, $weight, $unit, $ecotax,
|
||||||
$id_images, $reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity, $available_date)
|
$id_images, $reference, $ean13, $default, $location = null, $upc = null, $minimal_quantity, $available_date)
|
||||||
{
|
{
|
||||||
Db::getInstance()->execute('
|
|
||||||
DELETE FROM `'._DB_PREFIX_.'product_attribute_combination`
|
|
||||||
WHERE `id_product_attribute` = '.(int)$id_product_attribute);
|
|
||||||
|
|
||||||
$price = str_replace(',', '.', $price);
|
$price = str_replace(',', '.', $price);
|
||||||
$weight = str_replace(',', '.', $weight);
|
$weight = str_replace(',', '.', $weight);
|
||||||
$data = array(
|
|
||||||
'wholesale_price' => (float)$wholesale_price,
|
|
||||||
'price' => (float)$price,
|
|
||||||
'ecotax' => (float)$ecotax,
|
|
||||||
'weight' => ($weight ? (float)$weight : 0),
|
|
||||||
'unit_price_impact' => ($unit ? (float)$unit : 0),
|
|
||||||
'reference' => pSQL($reference),
|
|
||||||
'location' => pSQL($location),
|
|
||||||
'ean13' => pSQL($ean13),
|
|
||||||
'upc' => pSQL($upc),
|
|
||||||
'default_on' => (int)$default,
|
|
||||||
'minimal_quantity' => (int)$minimal_quantity,
|
|
||||||
'available_date' => pSQL($available_date)
|
|
||||||
);
|
|
||||||
|
|
||||||
$res1 = Db::getInstance()->AutoExecute(
|
$combination = new Combination((int)$id_product_attribute);
|
||||||
_DB_PREFIX_.'product_attribute',
|
$combination->price = (float)$price;
|
||||||
$data,
|
$combination->wholesale_price = (float)$wholesale_price;
|
||||||
'UPDATE',
|
$combination->ecotax = (float)$ecotax;
|
||||||
'`id_product_attribute` = '.(int)$id_product_attribute
|
$combination->weight = (float)$weight;
|
||||||
);
|
$combination->unit_price_impact = (float)$unit;
|
||||||
|
$combination->reference = pSQL($reference);
|
||||||
|
$combination->location = pSQL($location);
|
||||||
|
$combination->ean13 = pSQL($ean13);
|
||||||
|
$combination->upc = pSQL($upc);
|
||||||
|
$combination->default_on = (int)$default;
|
||||||
|
$combination->minimal_quantity = (int)$minimal_quantity;
|
||||||
|
$combination->available_date = pSQL($available_date);
|
||||||
|
$combination->save();
|
||||||
|
|
||||||
$res2 = Db::getInstance()->execute(
|
if (!empty($id_images))
|
||||||
'DELETE FROM `'._DB_PREFIX_.'product_attribute_image`
|
$combination->setImages($id_images);
|
||||||
WHERE `id_product_attribute` = '.(int)$id_product_attribute
|
|
||||||
);
|
|
||||||
|
|
||||||
if (!$res1 || !$res2)
|
Hook::exec('actionProductAttributeUpdate', array('id_product_attribute' => $id_product_attribute));
|
||||||
return false;
|
|
||||||
|
|
||||||
//if ($quantity)
|
|
||||||
Hook::exec('actionProductAttributeUpdate', array('id_product_attribute' => $id_product_attribute));
|
|
||||||
|
|
||||||
Product::updateDefaultAttribute($this->id);
|
Product::updateDefaultAttribute($this->id);
|
||||||
|
|
||||||
if (empty($id_images))
|
return true;
|
||||||
return true;
|
|
||||||
|
|
||||||
$query = 'INSERT INTO `'._DB_PREFIX_.'product_attribute_image` (`id_product_attribute`, `id_image`) VALUES ';
|
|
||||||
|
|
||||||
foreach ($id_images as $id_image)
|
|
||||||
$query .= '('.(int)$id_product_attribute.', '.(int)$id_image.'), ';
|
|
||||||
$query = trim($query, ', ');
|
|
||||||
|
|
||||||
return Db::getInstance()->execute($query);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -1482,20 +1437,9 @@ class ProductCore extends ObjectModel
|
|||||||
die(Tools::displayError());
|
die(Tools::displayError());
|
||||||
if (!count($attributes))
|
if (!count($attributes))
|
||||||
return false;
|
return false;
|
||||||
$attributes_list = '';
|
|
||||||
foreach ($attributes as $id_attribute)
|
|
||||||
$attributes_list .= '('.(int)$id_product_attribute.','.(int)$id_attribute.'),';
|
|
||||||
$attributes_list = rtrim($attributes_list, ',');
|
|
||||||
|
|
||||||
if (!Validate::isValuesList($attributes_list))
|
$combination = new Combination((int)$id_product_attribute);
|
||||||
die(Tools::displayError());
|
return $combination->setAttributes($attributes);
|
||||||
|
|
||||||
$result = Db::getInstance()->execute(
|
|
||||||
'INSERT INTO `'._DB_PREFIX_.'product_attribute_combination` (`id_product_attribute`, `id_attribute`)
|
|
||||||
VALUES '.$attributes_list
|
|
||||||
);
|
|
||||||
|
|
||||||
return $result;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function addAttributeCombinationMultiple($id_attributes, $combinations)
|
public function addAttributeCombinationMultiple($id_attributes, $combinations)
|
||||||
|
|||||||
@@ -738,9 +738,10 @@ class WebserviceRequestCore
|
|||||||
{
|
{
|
||||||
$sql = 'SELECT 1
|
$sql = 'SELECT 1
|
||||||
FROM '._DB_PREFIX_.'webservice_account wsa LEFT JOIN '._DB_PREFIX_.'webservice_account_shop wsas ON (wsa.id_webservice_account = wsas.id_webservice_account)
|
FROM '._DB_PREFIX_.'webservice_account wsa LEFT JOIN '._DB_PREFIX_.'webservice_account_shop wsas ON (wsa.id_webservice_account = wsas.id_webservice_account)
|
||||||
WHERE wsa.key = \''.$key.'\'';
|
WHERE wsa.key = \''.pSQL($key).'\'';
|
||||||
|
|
||||||
foreach (self::$shopIDs as $id_shop)
|
foreach (self::$shopIDs as $id_shop)
|
||||||
$OR[] = ' wsas.id_shop = '.$id_shop.' ';
|
$OR[] = ' wsas.id_shop = '.(int)$id_shop.' ';
|
||||||
$sql .= ' AND ('.implode('OR', $OR).') ';
|
$sql .= ' AND ('.implode('OR', $OR).') ';
|
||||||
if (!Db::getInstance()->getValue($sql))
|
if (!Db::getInstance()->getValue($sql))
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -636,7 +636,8 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
}
|
}
|
||||||
if (!count($this->_errors))
|
if (!count($this->_errors))
|
||||||
{
|
{
|
||||||
$product->addAttributeCombinaison($id_product_attribute, Tools::getValue('attribute_combinaison_list'));
|
$combination = new Combination((int)$id_product_attribute);
|
||||||
|
$combination->setAttributes(Tools::getValue('attribute_combinaison_list'));
|
||||||
$product->checkDefaultAttributes();
|
$product->checkDefaultAttributes();
|
||||||
}
|
}
|
||||||
if (!count($this->_errors))
|
if (!count($this->_errors))
|
||||||
@@ -2324,52 +2325,26 @@ class AdminProductsControllerCore extends AdminController
|
|||||||
$existing_id = (int)ProductSupplier::getIdByProductAndSupplier($product->id, $attribute['id_product_attribute'], $supplier->id_supplier);
|
$existing_id = (int)ProductSupplier::getIdByProductAndSupplier($product->id, $attribute['id_product_attribute'], $supplier->id_supplier);
|
||||||
if ($existing_id <= 0)
|
if ($existing_id <= 0)
|
||||||
{
|
{
|
||||||
//create new record
|
$product->addSupplierReference($reference, (int)$attribute['id_product_attribute'], (int)$id_currency);
|
||||||
$product_supplier_entity = new ProductSupplier();
|
if ($product->id_supplier == $supplier->id_supplier)
|
||||||
$product_supplier_entity->id_product = $product->id;
|
|
||||||
$product_supplier_entity->id_product_attribute = $attribute['id_product_attribute'];
|
|
||||||
$product_supplier_entity->id_supplier = (int)$supplier->id_supplier;
|
|
||||||
$product_supplier_entity->product_supplier_reference = $reference;
|
|
||||||
$product_supplier_entity->id_currency = $id_currency;
|
|
||||||
$product_supplier_entity->product_supplier_price_te = $price;
|
|
||||||
$product_supplier_entity->save();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
//update existing record
|
|
||||||
$product_supplier_entity = new ProductSupplier($existing_id);
|
|
||||||
|
|
||||||
if (($product_supplier_entity->product_supplier_reference != $reference)
|
|
||||||
||
|
|
||||||
($product_supplier_entity->product_supplier_price_te != $price)
|
|
||||||
||
|
|
||||||
($product_supplier_entity->id_currency != $id_currency))
|
|
||||||
{
|
{
|
||||||
$product_supplier_entity->product_supplier_reference = $reference;
|
if ((int)$attribute['id_product_attribute'] > 0)
|
||||||
$product_supplier_entity->id_currency = $id_currency;
|
{
|
||||||
$product_supplier_entity->product_supplier_price_te = $price;
|
Db::getInstance()->execute('
|
||||||
$product_supplier_entity->update();
|
UPDATE '._DB_PREFIX_.'product_attribute
|
||||||
}
|
SET supplier_reference = "'.pSQL($reference).'",
|
||||||
}
|
wholesale_price = '.(float)Tools::convertPrice($price, $id_currency).'
|
||||||
|
WHERE id_product = '.(int)$product->id.'
|
||||||
if ($product->id_supplier == $supplier->id_supplier)
|
AND id_product_attribute = '.(int)$attribute['id_product_attribute'].'
|
||||||
{
|
LIMIT 1
|
||||||
if ((int)$attribute['id_product_attribute'] > 0)
|
');
|
||||||
{
|
}
|
||||||
Db::getInstance()->execute('
|
else
|
||||||
UPDATE '._DB_PREFIX_.'product_attribute
|
{
|
||||||
SET supplier_reference = "'.$reference.'",
|
$product->wholesale_price = Tools::convertPrice($price, $id_currency); //converted in the default currency
|
||||||
wholesale_price = '.(float)Tools::convertPrice($price, $id_currency).'
|
$product->supplier_reference = $reference;
|
||||||
WHERE id_product = '.(int)$product->id.'
|
$update_product = true;
|
||||||
AND id_product_attribute = '.(int)$attribute['id_product_attribute'].'
|
}
|
||||||
LIMIT 1
|
|
||||||
');
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
$product->wholesale_price = Tools::convertPrice($price, $id_currency); //converted in the default currency
|
|
||||||
$product->supplier_reference = $reference;
|
|
||||||
$update_product = true;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user