// Added security check in stock available
This commit is contained in:
1 parent
cadb12cecf
commit
6dcd71399f
1 file changed
+29
-5
@@ -95,6 +95,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function getStockAvailableIdByProductId($id_product, $id_product_attribute = null, $id_shop = null)
|
public static function getStockAvailableIdByProductId($id_product, $id_product_attribute = null, $id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$query = new DbQuery();
|
$query = new DbQuery();
|
||||||
$query->select('id_stock_available');
|
$query->select('id_stock_available');
|
||||||
$query->from('stock_available');
|
$query->from('stock_available');
|
||||||
@@ -114,6 +117,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function synchronize($id_product, $order_id_shop = null)
|
public static function synchronize($id_product, $order_id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
// gets warehouse ids grouped by shops
|
// gets warehouse ids grouped by shops
|
||||||
$ids_warehouse = Warehouse::getWarehousesGroupedByShops();
|
$ids_warehouse = Warehouse::getWarehousesGroupedByShops();
|
||||||
if ($order_id_shop !== null)
|
if ($order_id_shop !== null)
|
||||||
@@ -240,6 +246,8 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function setProductDependsOnStock($id_product, $depends_on_stock = true, $id_shop = null, $id_product_attribute = 0)
|
public static function setProductDependsOnStock($id_product, $depends_on_stock = true, $id_shop = null, $id_product_attribute = 0)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$existing_id = StockAvailable::getStockAvailableIdByProductId((int)$id_product, (int)$id_product_attribute, $id_shop);
|
$existing_id = StockAvailable::getStockAvailableIdByProductId((int)$id_product, (int)$id_product_attribute, $id_shop);
|
||||||
if ($existing_id > 0)
|
if ($existing_id > 0)
|
||||||
@@ -275,6 +283,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function setProductOutOfStock($id_product, $out_of_stock = false, $id_shop = null, $id_product_attribute = 0)
|
public static function setProductOutOfStock($id_product, $out_of_stock = false, $id_shop = null, $id_product_attribute = 0)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
if ($id_shop === null)
|
if ($id_shop === null)
|
||||||
$id_shop = Context::getContext()->shop->id;
|
$id_shop = Context::getContext()->shop->id;
|
||||||
|
|
||||||
@@ -388,6 +399,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function updateQuantity($id_product, $id_product_attribute, $delta_quantity, $id_shop = null)
|
public static function updateQuantity($id_product, $id_product_attribute, $delta_quantity, $id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$id_stock_available = StockAvailable::getStockAvailableIdByProductId($id_product, $id_product_attribute, $id_shop);
|
$id_stock_available = StockAvailable::getStockAvailableIdByProductId($id_product, $id_product_attribute, $id_shop);
|
||||||
|
|
||||||
if (!$id_stock_available)
|
if (!$id_stock_available)
|
||||||
@@ -428,6 +442,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function setQuantity($id_product, $id_product_attribute, $quantity, $id_shop = null)
|
public static function setQuantity($id_product, $id_product_attribute, $quantity, $id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$context = Context::getContext();
|
$context = Context::getContext();
|
||||||
|
|
||||||
// if there is no $id_shop, gets the context one
|
// if there is no $id_shop, gets the context one
|
||||||
@@ -496,12 +513,13 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function removeProductFromStockAvailable($id_product, $id_product_attribute = null, $shop = null)
|
public static function removeProductFromStockAvailable($id_product, $id_product_attribute = null, $shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
return Db::getInstance()->execute('
|
return Db::getInstance()->execute('
|
||||||
DELETE FROM '._DB_PREFIX_.'stock_available
|
DELETE FROM '._DB_PREFIX_.'stock_available
|
||||||
WHERE id_product = '.(int)$id_product.
|
WHERE id_product = '.(int)$id_product.
|
||||||
($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : '').
|
($id_product_attribute ? ' AND id_product_attribute = '.(int)$id_product_attribute : '').
|
||||||
StockAvailable::addSqlShopRestriction(null, $shop)
|
StockAvailable::addSqlShopRestriction(null, $shop));
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -545,6 +563,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function dependsOnStock($id_product, $id_shop = null)
|
public static function dependsOnStock($id_product, $id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$query = new DbQuery();
|
$query = new DbQuery();
|
||||||
$query->select('depends_on_stock');
|
$query->select('depends_on_stock');
|
||||||
$query->from('stock_available');
|
$query->from('stock_available');
|
||||||
@@ -565,6 +586,9 @@ class StockAvailableCore extends ObjectModel
|
|||||||
*/
|
*/
|
||||||
public static function outOfStock($id_product, $id_shop = null)
|
public static function outOfStock($id_product, $id_shop = null)
|
||||||
{
|
{
|
||||||
|
if (!Validate::isUnsignedId($id_product))
|
||||||
|
return false;
|
||||||
|
|
||||||
$query = new DbQuery();
|
$query = new DbQuery();
|
||||||
$query->select('out_of_stock');
|
$query->select('out_of_stock');
|
||||||
$query->from('stock_available');
|
$query->from('stock_available');
|
||||||
|
|||||||
Reference in new issue
Block a user