#IF(#LineItemContainer.HasDownloadProducts AND (#PaidOn OR #Shop.AllowDownloadOfUnpaidProducts))
#IF(#FormError)
#ELSE
{YourDownloadFiles}:
#LOOP(#LineItemContainer.LineItems)
#IF(#IsLineItemDownloadProduct)#LOCAL("LineItemID", #ID)
#Product.NameOrAlias #IF(#VariationString)(#LocalizedVariationString)#ENDIF
#LOOP(#Product.DownloadProductMaps)
#LOCAL("Count", #UNDEF)#IF(#DEFINED(#MaxDownloadCountString))#SET("Count", #GET("MaxDownloadCounts.".#ID))#ENDIF
#IF((#DEFINED(#Count) AND #Count == 0) OR (#DEFINED(#MaxDownloadTime) AND #COMPARE("DateTime", #EndDownloadTime, #Now) < 0))
#FileName
#ELSE
{DownloadFile}: #FileName
#ENDIF
#IF(#FileSize)
(#LOCAL("Size",#CALCULATE(#FileSize/1024))#Size[float:2]#ENDLOCAL MByte)#ENDIF
#IF(#DEFINED(#Count))
{MaxNoOfDownloads}: #IF(#DEFINED(#Count))#Count#ELSE#SPACE[0]0#ENDIF
#ENDIF
#ENDLOCAL
#ENDLOOP
#IF(#MaxDownloadTime)
{ActivatedUntil}: #LOCAL("DownloadTime", #ADD_DURATION(#EndDownloadTime, "-1"))#DownloadTime[date]#ENDLOCAL
#ENDIF
#ENDLOCAL
#ELSIF(#IsLineItemProductBundle)
#LOOP(#BundledProductContainer.LineItems)
#IF(#IsLineItemDownloadProduct)#LOCAL("LineItemID", #ID)
#Product.NameOrAlias #IF(#VariationString)(#LocalizedVariationString)#ENDIF
#LOOP(#Product.DownloadProductMaps)
#LOCAL("Count", #UNDEF)#IF(#DEFINED(#MaxDownloadCountString))#SET("Count", #GET("MaxDownloadCounts.".#ID))#ENDIF
#IF((#DEFINED(#Count) AND #Count == 0) OR (#DEFINED(#MaxDownloadTime) AND #COMPARE("DateTime", #EndDownloadTime, #Now) < 0)))
#FileName
#ELSE
{DownloadFile}: #FileName
#ENDIF
#IF(#FileSize)
(#LOCAL("Size",#CALCULATE(#FileSize/1024))#Size[float:2]#ENDLOCAL MByte)#ENDIF
#IF(#DEFINED(#Count))
{MaxNoOfDownloads}: #IF(#DEFINED(#Count))#Count#ELSE#SPACE[0]0#ENDIF
#ENDIF
#ENDLOCAL
#ENDLOOP
#IF(#MaxDownloadTime)
{ActivatedUntil}: #LOCAL("DownloadTime", #ADD_DURATION(#EndDownloadTime, "-1"))#DownloadTime[date]#ENDLOCAL
#ENDIF
#ENDLOCAL#ENDIF
#ENDLOOP
#ENDIF
#ENDLOOP
#ENDIF