%@LANGUAGE="VBSCRIPT"%>
<%
'=====================================================
'| |
'| MESSAGE |
'| |
'=====================================================
%>
<%
Option explicit
' Good idea to set when using redirect
Response.Expires = 0 ' always load the page, dont store
%>
<%
'------------ Variable Definition -------------
Dim parMsg, reqParam, ERRlog, ERRlogFULL, AdditionalParams
Dim MSG, msgFile, i, parArr, parJustemplate, parLinksON
'------------ Constants Declaration -----------
'------------ Variable Init -------------------
parMsg = QStrPar("msg") ' message template
reqParam = Session("reqParam") ' parameters passed for processing
ERRlog = Session("ERRlog") ' pkgs with errors + error type
ERRlogFULL = Session("ERRlogFULL") ' full list of submitted packages
AdditionalParams = Session("AdditionalParams") ' additional parameters populating message template
parJustemplate = QStrPar("justemplate")
parLinksON = QStrPar("linksON")
'----------------------------------------------
%>
<%
Function Format_ERRlog( SSerrLog, SSerrFull )
' SSerrLog = "|pkgn,pkgv,errtype||pkgn,pkgv,errtype||pkgn,pkgv,errtype|"
' SSerrFull = "|pkgn,pkgv||pkgn,pkgv|" contains all submitted items
Dim errDetSTR, errlistARR, fullARR, pkgpair, pkgdetailsARR, errDetARR, errItem, errTypesUsed
Dim item, i, tempARR, tmpStr, errcolumnsARR, columnDrawn, mypkgname, mypkgversion
Set errTypesUsed = CreateObject("Scripting.Dictionary")
errlistARR = SplitPipes( SSerrLog ) 'split |pkgn,pkgv,errtype||pkgn,pkgv,errtype|
fullARR = SplitPipes( SSerrFull ) 'split |pkgpair1||pkgpair2|
errDetSTR = ""
errDetSTR = errDetSTR & "
"
'==== Error Column Names ================
For Each item In errlistARR
tempARR = Split (item, ",") 'split pkgn,pkgv,errtype
If NOT errTypesUsed.Exists (tempARR(2)) Then errTypesUsed.ADD Cstr(tempARR(2)),""
Next
errcolumnsARR = errTypesUsed.Keys
Set errTypesUsed = nothing
' draw error columns
errDetSTR = errDetSTR & "
"
For Each item In errcolumnsARR
errDetSTR = errDetSTR & "
"& Error_Details ( item ) &"
"
Next
errDetSTR = errDetSTR & "
"
'==== Error Details =====================
For Each pkgpair In fullARR
pkgdetailsARR = Split(pkgpair, ",") 'split pkg_name,pkg_version
errItem = Filter(errlistARR, pkgdetailsARR(0) &",", True)
errItem = Join(errItem, ",")
mypkgname = pkgdetailsARR(0)
mypkgversion = pkgdetailsARR(1)
If errItem <> "" Then
'error FOUND for pkg_name
errDetARR = Split(errItem, ",") 'split pkgn,pkgv,errtype
errDetSTR = errDetSTR &_
"
"&_
"
"& mypkgname &"
"&_
"
"& mypkgversion &"
"
'run through all error types if multiple pkgs found
columnDrawn = FALSE
For Each item In errcolumnsARR
For i = 0 To UBound(errDetARR) Step 3
If item = errDetARR(i+2) Then
If (parLinksON <> "") AND (item = 4) Then
errDetSTR = errDetSTR & "