3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?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 5.0.0 - 7.1.0
startdone
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /in/R5pi6 on line 13
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_OBJECT_OPERATOR in /in/R5pi6 on line 13
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/R5pi6 on line 13
Process exited with code 255.