Helpers

We moved these functions to static class  WDP_Functions  (but legacy class WDP_Frontend can be used too).

adp_functions()->getGiftedCartProducts() just returns array of free items (added by our plugin)  as [product_id_1=>qty_1, product_id_2=>qty_2,..]

adp_functions()->getActiveRulesForProduct($productId, $qty = 1, $useEmptyCart = false) adds  passed product to existing cart (or empty cart)  and returns array of applied rules.

adp_functions()->calculateProduct($theProd, $qty, $useEmptyCart = true) allows you to calculate an object \ADP\BaseVersion\Includes\Product\ProcessedProductSimple or an object \ADP\BaseVersion\Includes\Product\ProcessedVariableProduct. And in the pro version it calculates an object \ADP\ProVersion\Includes\Product\ProcessedVariableProduct.

It sounds a bit confusing, but you can use this way to get list of products which should be added to pre-build cart to  get discounts.