<% '===================================================== '| | '| Files and Folders | '| Core implementation | '| | '===================================================== %> <% '------------ Variable Definition ------------- Dim rsTemp Dim rsQry Dim sLink Dim sSize Dim sCompSize Dim sIcon Dim parComparePvId Dim parCompare Dim sDiffStateIcon Dim sStyle Dim sCompVerText Dim sVerText '------------ Constants Declaration ----------- Const LIMG_UPDATED = "" Const LIMG_ADDED = "" Const LIMG_REMOVED = "" Const LIMG_UNCHANGED = "" '------------ Variable Init ------------------- parComparePvId = Request("compare_pv_id") parCompare = Request("compare") '---------------------------------------------- If Request("btn") = "Compare" Then parCompare = "true" End If '---------------------------------------------- %> <% '-------------------------------------------------------------------------------------------------------------------------------------- Sub DisplayMessage () If (pkgInfoHash.Item ("dlocked") = "Y") Then If (InStr(pkgInfoHash.Item ("release_notes_info"),"MSG:") > 0) Then Select Case CStr( pkgInfoHash.Item ("release_notes_info") ) Case enum_RELEASE_NOTES_GENERATING Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" ) Case enum_RELEASE_NOTES_NOT_FOUND_IN_ARCHIVE Call DisplayInfo ( "NOT_FOUND_IN_PKG_ARCHIVE_FILE_GENERATE", "400" ) Case enum_RELEASE_NOTES_FAILED Call DisplayInfo ( "FAILED_GENERATING_RELEASE_NOTES", "400" ) Case enum_RELEASE_NOTES_NO_PREVIOUS_VERSION Call DisplayInfo ( "NO_PREVIOUS_VERSION_RELEASE_NOTES", "400" ) Case enum_RELEASE_NOTES_PLACEHOLDER_PACKAGE Call DisplayInfo ( "RELEASE_NOTES_PLACEHOLDER_PACKAGE", "400" ) End Select ElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) Then Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" ) End If End If End Sub '-------------------------------------------------------------------------------------------------------------------------------------- Sub DisplayComparePvIdCombo() Dim rsQry, isOfficial sVerText = pkgInfoHash.Item("pkg_version") sCompVerText = "" ' Define version to compare If parComparePvId = "" Then If NOT IsNull( pkgInfoHash.Item("last_pv_id") ) Then parComparePvId = pkgInfoHash.Item("last_pv_id") Else parComparePvId = 0 End If End If OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "PKG_ID", pkgInfoHash.Item("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "V_EXT", EmptyToNull(pkgInfoHash.Item("v_ext")), ORAPARM_INPUT, ORATYPE_VARCHAR2 Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0)) Response.write "" While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) If rsQry("dlocked") = "Y" Then isOfficial = "R " Else isOfficial = "    " End If If rsQry("selected") <> "" Then sCompVerText = rsQry("pkg_version") End If Response.write "" rsQry.MoveNext WEnd ' Clean up rsQry.Close() Set rsQry = nothing OraDatabase.Parameters.Remove "COMPARE_PV_ID" OraDatabase.Parameters.Remove "PKG_ID" OraDatabase.Parameters.Remove "V_EXT" End Sub '-------------------------------------------------------------------------------------------------------------------------------------- Sub GetDiffStateIcon( nDiffState, outIcon, outStyle, outRowStyle ) Select Case CInt( nDiffState ) Case enumDB_NUM_DIFF_UPDATED outIcon = LIMG_UPDATED outStyle = "body_rowbold" outRowStyle = "ftUpdated" Case enumDB_NUM_DIFF_REMOVED outIcon = LIMG_REMOVED outStyle = "body_rowthru" outRowStyle = "ftRemoved" Case enumDB_NUM_DIFF_NEW outIcon = LIMG_ADDED outStyle = "body_rowbold" outRowStyle = "ftAdded" Case Else outIcon = "" outStyle = "body_rowg" outRowStyle = "ftSame" End Select End Sub '-------------------------------------------------------------------------------------------------------------------------------------- Sub DisplayDiffSummary( orsQry ) Dim dDiffSummary Set dDiffSummary = CreateObject("Scripting.Dictionary") dDiffSummary.Item ("UPDATED") = 0 dDiffSummary.Item ("REMOVED") = 0 dDiffSummary.Item ("ADDED") = 0 dDiffSummary.Item ("SAME") = 0 While ((NOT orsQry.BOF) AND (NOT orsQry.EOF)) Select Case CInt( orsQry("diff_state") ) Case enumDB_NUM_DIFF_UPDATED dDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1 Case enumDB_NUM_DIFF_REMOVED dDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1 Case enumDB_NUM_DIFF_NEW dDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1 Case Else dDiffSummary.Item ("SAME") = CInt( dDiffSummary.Item ("SAME") ) + 1 End Select orsQry.MoveNext WEnd ' Reset cursor orsQry.MoveFirst() ' Display Summary Response.write dDiffSummary.Item ("UPDATED") &" - "& LIMG_UPDATED & "Updated, " Response.write dDiffSummary.Item ("ADDED") &" - "& LIMG_ADDED & "Added, " Response.write dDiffSummary.Item ("REMOVED") &" - "& LIMG_REMOVED & "Removed, " Response.write dDiffSummary.Item ("SAME") &" - "& LIMG_UNCHANGED & "Unchanged" End Sub '-------------------------------------------------------------------------------------------------------------------------------------- %> <% ' -- Open Database connection If parCompare <> "" Then OraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBER OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBER Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0)) OraDatabase.Parameters.Remove "PV_ID" OraDatabase.Parameters.Remove "COMPARE_PV_ID" Else OraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBER Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponents.sql"), cint(0)) OraDatabase.Parameters.Remove "PV_ID" End If ' ' If not called from a history tab then we display a dialog to allow comparison ' with another version %> <%If pkgCompare Then %>

<%If rsQry.Recordcount > 0 Then%>
Files and Folders
Show differences since version <%If parCompare <> "" Then%> Show <%=sVerText%> Show <%=sCompVerText%>
Hide / Show <%=LIMG_UPDATED%>Updated <%=LIMG_ADDED%>Added <%=LIMG_REMOVED%>Removed <%=LIMG_UNCHANGED%>Unchanged
<%End If%>
<%If parCompare <> "" Then%>
Summary <%Call DisplayDiffSummary( rsQry ) %>
<%End If%>

<%Else%> Files and Folders

No files recorded <%End If%> <%End If%> <%If parCompare <> "" Then%> <%If rsQry.Recordcount > 0 Then%> <% While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) Dim sizeStyle : sizeStyle = "" Dim sumStyle : sumStyle = "" Dim diffState : diffState = rsQry("diff_state") Dim sSum, sCompSum, filePath Dim sRowClass sSum = rsQry("crc_cksum") sCompSum = rsQry("comp_crc_cksum") sSize = rsQry("byte_size") sCompSize = rsQry("comp_byte_size") Call GetDiffStateIcon( diffState, sDiffStateIcon, sStyle, sRowClass ) filePath = rsQry("file_path") If IsNull(filePath) Then filePath = "" ' Find if this is file or folder If Len(filePath) > 0 AND Right(filePath,1) <> "/" Then sSize = "" sCompSize = "" sIcon = "" Else sSize = rsQry("byte_size") sCompSize = rsQry("comp_byte_size") sIcon = "" If diffState > 1 OR (sSum <> sCompSum) Then sumStyle = "err_dtl" End If If diffState > 1 OR (sSize <> sCompSize) Then sizeStyle = "err_dtl" End If End If %> <% rsQry.MoveNext WEnd rsQry.Close() Set rsQry = nothing %>
Name <%=sVerText%> <%=sCompVerText%>
Byte Size CKSUM Byte Size CKSUM
<%=sDiffStateIcon%> <%=sIcon & rsQry("name")%> <%=sSize%> <%=sSum%> <%=sCompSize%> <%=sCompSum%>

<%End If%> <%Else%> <%If rsQry.Recordcount < 1 Then ' No files found ... Call DisplayMessage () Else %> <% Dim dClass, nextClass, altClass Dim isHidden , bFirst Dim fileName Dim curDir, hiddenBase Dim knownDirs : knownDirs = Array ("lcov", "doc", "utfResults" ) Dim item Dim trAttr dClass = "" isHidden = FALSE curDir = "" While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) sLink = dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& Replace( rsQry("file_path") & rsQry("file_name"), "\", "/" ) filePath = rsQry("file_path") If IsNull(filePath) Then filePath = "" fileName = rsQry("file_name") trAttr = "data-path=""" & filePath & fileName & """" ' Determine if item is 'still' in hidden area If isHidden Then If InStr(filePath, hiddenBase) <> 1 Then isHidden = FALSE End If End If ' Find if this is file or folder ' Note: Symlinks will have zero size and no sum ' If Len(filePath) > 0 AND Right(filePath,1) <> "/" Then ' Is a folder curDir = filePath sSize = "" dClass = "tag-isDir" If NOT isHidden Then For Each item in knownDirs If filePath = item Then isHidden = TRUE hiddenBase = filePath & "/" bFirst = TRUE Exit For End If Next End If If isHidden Then nextClass = "display-none" altClass = "" Else altClass = "display-none" nextClass = "" End If sIcon = "" sIcon = sIcon + "" Else ' Is a File dClass = "" sSize = rsQry("byte_size") sIcon = "" End If If bFirst Then bFirst = FALSE dClass = dClass & " tag-isHidden" Else If isHidden Then dClass = dClass & " display-none tag-isHidden" End If End If %> > <% rsQry.MoveNext WEnd rsQry.Close() Set rsQry = nothing %>
Name Byte Size CKSUM MODCRC
<%=sIcon%> <%=filePath & fileName%> <%=sSize%> <%=rsQry("crc_cksum")%> <%=rsQry("crc_modcrc")%>

<%End If%> <%End If%> <%If pkgCompare Then %>
<%End If%>