// now get the codes from our configuration
// and also from our line items (that already exist)
// and merge them both into a flat list
$extensionCodes = $cartExtension->getCodes(); $cartCodes = $original->getLineItems()->filterType(PromotionProcessor::LINE_ITEM_TYPE)->getReferenceIds(); $allCodes = array_unique(array_merge(array_values($cartCodes), $extensionCodes));
// check if max allowed redemption of promotion have been reached or not
// if max redemption has been reached promotion will not be added
$allPromotions = $this->getEligiblePromotionsWithDiscounts($allPromotions, $context->getCustomer());