Rev 6489 | Rev 7288 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed
<%'====================================================='| |'| Files and Folders |'| Core implementation |'| |'=====================================================%><%'------------ Variable Definition -------------Dim rsTempDim rsQryDim sLinkDim sSizeDim sCompSizeDim sIconDim parComparePvIdDim parCompareDim sDiffStateIconDim sStyleDim sCompVerTextDim sVerText'------------ Constants Declaration -----------Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Updated'>"Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Added'>"Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Removed'>"'------------ Variable Init -------------------parComparePvId = Request("compare_pv_id")parCompare = Request("compare")'----------------------------------------------If Request("btn") = "Compare" ThenparCompare = "true"End If'----------------------------------------------%><script type="text/javascript" charset="utf-8">function openTableAll(){$('#fileList tr').each(function(idx, item){$(item).removeClass('display-none');$(item).removeClass('tag-isHidden');});updateTableIcons();}function closeTableAll(){$('#fileList tr').each(function(idx, item){var tr = $(item);if (tr.hasClass('tag-isDir')) {tr.addClass('tag-isHidden');}var txt = tr.data('path') || '';if ( txt.indexOf("/") >= 0) {tr.addClass('display-none');};});updateTableIcons();}function updateTableIcons(){$("#fileList tr.tag-isDir").each(function(i, item) {var isHidden = $(item).hasClass('tag-isHidden');updateImages(item, isHidden);});}function updateImages(el, isHidden) {var images = $(el).find('img');if ( isHidden ) {$(images.get(0)).addClass('display-none');$(images.get(1)).removeClass('display-none');} else {$(images.get(1)).addClass('display-none');$(images.get(0)).removeClass('display-none');}}function tableToggleAll(el) {var mode = $('#fileList').hasClass('tag-ALL');if (mode) {closeTableAll();} else {openTableAll();};updateImages(el, !mode);$('#fileList').toggleClass('tag-ALL');}$( document ).ready(function() {// Open / Close directory elements$('#fileList tr:not(:first-child) td:first-child').click(function() {// Calculate the text name of the parent directoryvar tr = $(this.closest('tr'));var dir = tr.data('path') || '';if ( ! tr.hasClass('tag-isDir') ) {dir=dir.replace(/\/[^\/]*$/,'');}// Scan table:// Looking for directory element// Then show/hide elementsvar isHidden = false;var found = false;$('#fileList tr').each(function(idx, item){var tr = $(item);var txt = tr.data('path') || '';if ( !found ) {if ( txt.indexOf(dir) == 0 ){isHidden = tr.hasClass('tag-isHidden');tr.toggleClass('tag-isHidden');found = true;dir += '/';}} else {if ( txt.indexOf(dir) < 0 ) return false;if ( isHidden ) {tr.removeClass('display-none');} else {tr.addClass('display-none');};if ( tr.hasClass('tag-isDir') ) {if ( isHidden ) {tr.removeClass('tag-isHidden');} else {tr.addClass('tag-isHidden');};}}});updateTableIcons();});});</script><%'--------------------------------------------------------------------------------------------------------------------------------------Sub DisplayMessage ()If (pkgInfoHash.Item ("dlocked") = "Y") ThenIf (InStr(pkgInfoHash.Item ("release_notes_info"),"MSG:") > 0) ThenSelect Case CStr( pkgInfoHash.Item ("release_notes_info") )Case enum_RELEASE_NOTES_GENERATINGCall DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )Case enum_RELEASE_NOTES_NOT_FOUND_IN_ARCHIVECall DisplayInfo ( "NOT_FOUND_IN_PKG_ARCHIVE_FILE_GENERATE", "400" )Case enum_RELEASE_NOTES_FAILEDCall DisplayInfo ( "FAILED_GENERATING_RELEASE_NOTES", "400" )Case enum_RELEASE_NOTES_NO_PREVIOUS_VERSIONCall DisplayInfo ( "NO_PREVIOUS_VERSION_RELEASE_NOTES", "400" )Case enum_RELEASE_NOTES_PLACEHOLDER_PACKAGECall DisplayInfo ( "RELEASE_NOTES_PLACEHOLDER_PACKAGE", "400" )End SelectElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) ThenCall DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )End IfEnd IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub DisplayComparePvIdCombo()Dim rsQry, isOfficialsVerText = pkgInfoHash.Item("pkg_version")sCompVerText = ""' Define version to compareIf parComparePvId = "" ThenIf NOT IsNull( pkgInfoHash.Item("last_pv_id") ) ThenparComparePvId = pkgInfoHash.Item("last_pv_id")ElseparComparePvId = 0End IfEnd IfOraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "PKG_ID", pkgInfoHash.Item("pkg_id"), ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "V_EXT", EmptyToNull(pkgInfoHash.Item("v_ext")), ORAPARM_INPUT, ORATYPE_VARCHAR2Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))Response.write "<option value=''></option>"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))If rsQry("dlocked") = "Y" ThenisOfficial = "R "ElseisOfficial = " "End IfIf rsQry("selected") <> "" ThensCompVerText = rsQry("pkg_version")End IfResponse.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"rsQry.MoveNextWEnd' Clean uprsQry.Close()Set rsQry = nothingOraDatabase.Parameters.Remove "COMPARE_PV_ID"OraDatabase.Parameters.Remove "PKG_ID"OraDatabase.Parameters.Remove "V_EXT"End Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub GetDiffStateIcon( nDiffState, outIcon, outStyle )Select Case CInt( nDiffState )Case enumDB_NUM_DIFF_UPDATEDoutIcon = LIMG_UPDATEDoutStyle = "body_rowbold"Case enumDB_NUM_DIFF_REMOVEDoutIcon = LIMG_REMOVEDoutStyle = "body_rowthru"Case enumDB_NUM_DIFF_NEWoutIcon = LIMG_ADDEDoutStyle = "body_rowbold"Case ElseoutIcon = ""outStyle = "body_rowg"End SelectEnd Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub DisplayDiffSummary( orsQry )Dim dDiffSummarySet dDiffSummary = CreateObject("Scripting.Dictionary")dDiffSummary.Item ("UPDATED") = 0dDiffSummary.Item ("REMOVED") = 0dDiffSummary.Item ("ADDED") = 0While ((NOT orsQry.BOF) AND (NOT orsQry.EOF))Select Case CInt( orsQry("diff_state") )Case enumDB_NUM_DIFF_UPDATEDdDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1Case enumDB_NUM_DIFF_REMOVEDdDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1Case enumDB_NUM_DIFF_NEWdDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1End SelectorsQry.MoveNextWEnd' Reset cursororsQry.MoveFirst()' Display SummaryResponse.write dDiffSummary.Item ("UPDATED") &" -<img src='images/i_updated.gif' width='11' height='11' hspace='3'>Updated, "Response.write dDiffSummary.Item ("ADDED") &" -<img src='images/i_added.gif' width='11' height='11' hspace='3'>Added, "Response.write dDiffSummary.Item ("REMOVED") &" -<img src='images/i_removed.gif' width='11' height='11' hspace='3'>Removed"End Sub'--------------------------------------------------------------------------------------------------------------------------------------%><!-- DETAILS -------------------------------------------------><%' -- Open Database connectionIf parCompare <> "" ThenOraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "COMPARE_PV_ID"ElseOraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBERSet 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 %><form name="formname" method="get" action="<%=ScriptName%>" onSubmit="ProgressBar.style.visibility='visible';"><br><span class="body_colb">Files and Folders</span><br><%If rsQry.Recordcount > 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td nowrap class="body_txt">Show differences since version<select name="compare_pv_id" class="form_item"><%Call DisplayComparePvIdCombo()%></select><input name="btn" type="submit" class="form_btn" value="Compare"><%If parCompare <> "" Then%> <a class="form_btn" href="<%=scriptName%>?pv_id=<%=parPv_id%>&rtag_id=<%=parRtag_id%>">Show <%=sVerText%></a><a class="form_btn" href="<%=scriptName%>?pv_id=<%=parComparePvId%>&rtag_id=<%=parRtag_id%>">Show <%=sCompVerText%></a><%End If%></td><td nowrap class="body_txt" align="right"><%If parCompare <> "" Then%><%Call DisplayDiffSummary( rsQry ) %><%End If%></td></tr></table><hr size="1" noshade color="#999999"><%End If%><%End If%><!-- MODULE COMPONENTS ++++++++++++++++++++++++++++++++++++++ --><!-- ==================================================== --><!-- =================== COMPARE ======================= --><!-- ==================================================== --><%If parCompare <> "" Then%><%If rsQry.Recordcount > 0 Then%><table id="fileList" width="100%" border="0" cellspacing="1" cellpadding="3"><tr class="form_field_hdr"><td width="1" rowspan="2"></td><td width="60%" rowspan="2">Name</td><td width="20%" colspan="2" align="center"><%=sVerText%></td><td width="20%" colspan="2" align="center"><%=sCompVerText%></td></tr><tr class="form_field_hdr"><td align="right">Byte Size</td><td align="right">CKSUM</td><td align="right">Byte Size</td><td align="right">CKSUM</td></tr><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))Dim sizeStyle : sizeStyle = ""Dim sumStyle : sumStyle = ""Dim diffState : diffState = rsQry("diff_state")Dim sSum, sCompSum, filePathsSum = rsQry("crc_cksum")sCompSum = rsQry("comp_crc_cksum")sSize = rsQry("byte_size")sCompSize = rsQry("comp_byte_size")Call GetDiffStateIcon( diffState, sDiffStateIcon, sStyle )filePath = rsQry("file_path")If IsNull(filePath) Then filePath = ""' Find if this is file or folderIf Len(filePath) > 0 AND Right(filePath,1) <> "/" ThensSize = ""sCompSize = ""sIcon = "<img src='images/rex_images/_folderopen.gif' border='0' hspace='3' align='absmiddle'>"ElsesSize = rsQry("byte_size")sCompSize = rsQry("comp_byte_size")sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"If diffState > 1 OR (sSum <> sCompSum) ThensumStyle = "err_dtl"End IfIf diffState > 1 OR (sSize <> sCompSize) ThensizeStyle = "err_dtl"End IfEnd If%><tr class="form_item_grey"><td nowrap ><%=sDiffStateIcon%></td><td nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td><td nowrap class="<%=sizeStyle%>" align="right"><%=sSize%></td><td nowrap class="<%=sumStyle%>" align="right"><%=sSum%></td><td nowrap class="<%=sizeStyle%>" align="right"><%=sCompSize%></td><td nowrap class="<%=sumStyle%>" align="right"><%=sCompSum%></td></tr><%rsQry.MoveNextWEndrsQry.Close()Set rsQry = nothing%></table><br><%End If%><%Else%><!-- ==================================================== --><!-- =================== NORMAL FILES =================== --><!-- ==================================================== --><%If rsQry.Recordcount < 1 Then' No files found ...Call DisplayMessage ()Else%><table id="fileList" width="100%" border="0" cellspacing="1" cellpadding="3" class='StdGrey'><thead><tr><th width="1%" onclick="tableToggleAll(this)"><img class='' src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle' title='Expand All'><img class='display-none' src='images/rex_images/_folderopen.gif' border='0' hspace='3' align='absmiddle' title='Close all'></th><th width="25%" >Name</th><th width="25%" align="right">Byte Size</th><th width="25%" align="right">CKSUM</th><th width="25%" align="right">MODCRC</th></tr></thead><%Dim dClass, nextClass, altClassDim isHidden , bFirstDim fileNameDim curDir, hiddenBaseDim knownDirs : knownDirs = Array ("lcov", "doc", "utfResults" )Dim itemDim trAttrdClass = ""isHidden = FALSEcurDir = ""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 areaIf isHidden ThenIf InStr(filePath, hiddenBase) <> 1 ThenisHidden = FALSEEnd IfEnd 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 foldercurDir = filePathsSize = ""dClass = "tag-isDir"If NOT isHidden ThenFor Each item in knownDirsIf filePath = item ThenisHidden = TRUEhiddenBase = filePath & "/"bFirst = TRUEExit ForEnd IfNextEnd IfIf isHidden ThennextClass = "display-none"altClass = ""ElsealtClass = "display-none"nextClass = ""End IfsIcon = "<img class='"&nextClass&"' src='images/rex_images/_folderopen.gif' border='0' hspace='3' align='absmiddle'>"sIcon = sIcon + "<img class='"&altClass&"' src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"Else' Is a FiledClass = ""sSize = rsQry("byte_size")sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"End IfIf bFirst ThenbFirst = FALSEdClass = dClass & " tag-isHidden"ElseIf isHidden ThendClass = dClass & " display-none tag-isHidden"End IfEnd If%><tr class="<%=dClass%>" <%=trAttr%>><td nowrap ><%=sIcon%></td><td nowrap><a target="_blank" href="<%=sLink%>" class="body_txt_gray_link"><%=filePath & fileName%></a></td><td nowrap align="right"><%=sSize%></td><td nowrap align="right"><%=rsQry("crc_cksum")%></td><td nowrap align="right"><%=rsQry("crc_modcrc")%></td></tr><%rsQry.MoveNextWEndrsQry.Close()Set rsQry = nothing%></table><br><%End If%><!-- ==================================================== --><%End If%><!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ --><%If pkgCompare Then %><input type="hidden" name="compare" value="<%=parCompare%>"><input type="hidden" name="pv_id" value="<%=parPv_Id%>"><input type="hidden" name="rtag_id" value="<%=parRtag_Id%>"></form><%End If%>