Blame | Last modification | View Log | RSS feed
<%'====================================================='| |'| Files and Folders |'| Core implementation |'| |'=====================================================%><%'------------ Variable Definition -------------Dim rsTempDim rsQryDim isProductDim sLinkDim sSizeDim sIconDim parComparePvIdDim parCompareDim parOsTypeDim sDiffStateIconDim sStyleDim dAvailableOsTypes'------------ 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")parOsType = Request("os_type")'----------------------------------------------If Request("btn") = "Compare" ThenparCompare = "true"End IfSet dAvailableOsTypes = CreateObject("Scripting.Dictionary")'----------------------------------------------%><%'--------------------------------------------------------------------------------------------------------------------------------------'--------------------------------------------------------------------------------------------------------------------------------------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" )End SelectElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) ThenCall DisplayInfo ( "GENERATE_FILES_AND_FOLDERS", "400" )End IfEnd IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub GetProductOsTypes ( outAvailableOsTypes, outOsType )Dim rsQry' --- Get all available product os types from captured components ---OraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductBuildOsTypes.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))outAvailableOsTypes.Item (CStr(rsQry("os_id"))) = CStr(rsQry("os_id"))If outOsType = "" ThenoutOsType = CStr(rsQry("os_id"))End IfrsQry.MoveNextWEndrsQry.Close()Set rsQry = nothingEnd Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub DisplayOsTypeCombo ( )Dim sOsType, aOsTypeParts, selected' -- Render combo box ---If dAvailableOsTypes.Count > 0 ThenFor Each sOsType In aPRODUCT_OS_BUILD_TYPESaOsTypeParts = Split( sOsType, "|")If dAvailableOsTypes.Exists ( CStr(aOsTypeParts(1)) ) Then' Define selected itemselected = ""If parOsType = "" ThenparOsType = aOsTypeParts(1)selected = "selected"ElseIf CStr(parOsType) = CStr(aOsTypeParts(1)) Thenselected = "selected"End IfEnd IfResponse.write "<option value='"& aOsTypeParts(1) &"' "& selected &">"& aOsTypeParts(0) &"</option>"End IfNextEnd IfEnd Sub'--------------------------------------------------------------------------------------------------------------------------------------Sub DisplayComparePvIdCombo()Dim rsQry, isOfficial' 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_NUMBERIf IsNull(pkgInfoHash.Item("v_ext")) OR (pkgInfoHash.Item("v_ext") = "") ThenOraDatabase.Parameters.Add "V_EXT", NULL, ORAPARM_INPUT, ORATYPE_VARCHAR2ElseOraDatabase.Parameters.Add "V_EXT", pkgInfoHash.Item("v_ext"), ORAPARM_INPUT, ORATYPE_VARCHAR2End IfSet 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 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 -------------------------------------------------><%' --- Decide if pv_id is ERG Product ---isProduct = FALSEif NOT IsEmpty(parOsType) ThenIf NOT IsNull( pkgInfoHash.Item("base_view_id") ) OR ( pkgInfoHash.Item("base_view_id") <> "") ThenIf CInt(pkgInfoHash.Item("base_view_id")) = enumBASE_VIEW_PRODUCTS ThenisProduct = TRUEEnd IfElse' Try to be smart and decide if it is ERG product by nameIf InStr( pkgInfoHash.Item("pkg_name"), "ERG", 0) = 1 ThenisProduct = TRUEEnd IfEnd IfEnd If%><%' -- Open Database connectionIf isProduct ThenCall GetProductOsTypes ( dAvailableOsTypes, parOsType )If parCompare <> "" ThenOraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", parOsType, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponentDiff.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "COMPARE_PV_ID"OraDatabase.Parameters.Remove "OS_ID"ElseOraDatabase.Parameters.Add "PV_ID", parPv_id, ORAPARM_INPUT, ORATYPE_NUMBEROraDatabase.Parameters.Add "OS_ID", parOsType, ORAPARM_INPUT, ORATYPE_NUMBERSet rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponents.sql"), cint(0))OraDatabase.Parameters.Remove "PV_ID"OraDatabase.Parameters.Remove "OS_ID"End IfElseIf 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 IfEnd If%><%If isProduct Then%><%If rsQry.Recordcount > 0 Then%><table width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td nowrap class="body_txt">Build Platform<select name="os_type" class="form_item"><%Call DisplayOsTypeCombo()%></select><input name="btn" type="submit" class="form_btn" value="View"></td></tr></table><%End If%><%If rsQry.Recordcount < 1 Then%><%' No files found ...Call DisplayInfo ( "NO_PRODUCT_FILES_CAPTURED", "400" )%><%End If%><%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"></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 width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="1" background="images/bg_form_lightbluedark.gif" class="form_item"></td><td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td><td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td></tr><%While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))Call GetDiffStateIcon( rsQry("diff_state"), sDiffStateIcon, sStyle )' Find if this is file or folderIf IsNull( rsQry("crc_cksum") ) AND (rsQry("byte_size") = 0) ThensSize = ""sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"ElsesSize = rsQry("byte_size")sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"End If%><tr><td background="images/bg_form_lightgray.gif" nowrap class="body_txt_gray"><%=sDiffStateIcon%></td><td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td><td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></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 width="100%" border="0" cellspacing="1" cellpadding="3"><tr><td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td><td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td><td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td><td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">MODCRC</td></tr><%Dim uRLWhile ((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"), "\", "/" )' Find if this is file or folderIf IsNull( rsQry("crc_cksum") ) AND (rsQry("byte_size") = 0) ThensSize = ""sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"ElsesSize = rsQry("byte_size")sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"End If%><tr><td background="images/bg_form_lightgray.gif" nowrap><a target="_blank" href="<%=sLink%>" class="body_txt_gray_link"><%=sIcon & rsQry("file_path") & rsQry("file_name")%></a></td><td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td><td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_cksum")%></td><td background="images/bg_form_lightgray.gif" class="body_txt_gray" 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%>