/** * @param Basket $basketCollection * @param array $productList */ public static function recurringOrderProduct(Basket $basketCollection, array $productList = array()) { $userId = null; if (!($orderId = $basketCollection->getOrderId())) { if (($order = $basketCollection->getOrder()) !== null) { $userId = $order->getUserId(); } } if ($userId === null) { $userId = \CSaleUser::GetUserID($basketCollection->getFUserId()); } $basketList = static::makeArrayFromBasketCollection($basketCollection); $basketProviderMap = static::createProviderBasketMap($basketList); $basketProviderList = static::redistributeToProviders($basketProviderMap); if (!empty($basketProviderList)) { foreach ($basketProviderList as $provider => $providerBasketItemList) { $result = $provider::recurringOrderProduct($userId, $providerBasketItemList, $productList); } } }