<?php
echo 'start';
function recuperation_info_product_et_decrementation($reference, $qty, $isDeclinaison){ /* Fonction de récupèration et décrementation produit */
$product_infos = array();
$tables = array('product_attribute');
if($isDeclinaison === false) {
array_unshift($tables, 'product');
}
foreach($tables as $table) {
$query = 'SELECT * FROM `'._DB_PREFIX_.$table.'` WHERE `reference` = "'.$reference.'";';
$result = Db::getInstance()->executeS($query);
if($result !== false) {
$product_infos = $result[0];
decremente_stock($product_infos['id_product'], $qty, $reference, $table);
//break;
}
}
return $product_infos;
}
/* fonction qui retourne l'IdProduct et l'IdProductAttribute du produit commandé */
function recuperation_idProduct_idProductAttribute($reference){
$product_infos = array();
$query = 'SELECT * FROM `'._DB_PREFIX_.'product` WHERE `reference` = "'.pSQL($reference).'";';
$result = Db::getInstance()->executeS($query);
$product_infos['id_product'] = $result[0]['id_product'];
$query = 'SELECT * FROM `'._DB_PREFIX_.'product_attribute` WHERE `reference` = "'.pSQL($reference).'";';
$result = Db::getInstance()->executeS($query);
$product_infos['id_product_attribute'] = $result[0]['id_product_attribute'];
return $product_infos;
}
function decremente_stock($id_product, $qty, $reference, $table) {
global $version_sup_egale_1531;
switch ($GLOBALS['versionPourSwitch']){
case '1.5.4.0': // [-] Core: Hook actionUpdateQuantity was not called for product without attributes which depends on the physical stock
$query = ' UPDATE `'._DB_PREFIX_.'stock_available`
SET quantity = (quantity - "'.$qty.'")
WHERE id_product = "'.$id_product.'"
AND `reference` = "'.$reference.'";';
Db::getInstance()->execute($query);
$query2 = ' UPDATE `'._DB_PREFIX_.'stock`
SET physical_quantity = (physical_quantity - "'.$qty.'")
WHERE id_product = "'.$id_product.'"
AND `reference` = "'.$reference.'";';
Db::getInstance()->execute($query2);
break;
default:
if($version_sup_egale_1531) {
$query = ' UPDATE `'._DB_PREFIX_.'stock_available`
SET quantity = (quantity - "'.$qty.'")
WHERE id_product = "'.$id_product.'"
AND `reference` = "'.$reference.'";';
}
else {
$query = ' UPDATE `'._DB_PREFIX_.$table.'`
SET quantity = (quantity - "'.$qty.'")
WHERE id_product = "'.$id_product.'"
AND `reference` = "'.$reference.'";';
}
Db::getInstance()->execute($query);
break;
}
}
echo 'done';
- Output for git.master, git.master_jit, rfc.property-hooks
- startdone
This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.
Active branches
Archived branches
Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page
preferences:
35.76 ms | 401 KiB | 8 Q