Subversion Repositories DevTools

Rev

Rev 6375 | Rev 6377 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

<%
'=====================================================
'|                                                   |
'|                 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 = "<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" 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 "<option value=''></option>"
    
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
        
        If rsQry("dlocked") = "Y" Then
            isOfficial = "R&nbsp;"
        Else
            isOfficial = "&nbsp;&nbsp;&nbsp;&nbsp;"
        End If

        If rsQry("selected") <> "" Then
            sCompVerText = rsQry("pkg_version")
        End If
        
        Response.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"
        
        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 )
    Select Case CInt( nDiffState )
        Case enumDB_NUM_DIFF_UPDATED
            outIcon  = LIMG_UPDATED
            outStyle = "body_rowbold"
            
        Case enumDB_NUM_DIFF_REMOVED
            outIcon = LIMG_REMOVED
            outStyle = "body_rowthru"
            
        Case enumDB_NUM_DIFF_NEW
            outIcon = LIMG_ADDED
            outStyle = "body_rowbold"
            
        Case Else
            outIcon = ""
            outStyle = "body_rowg"
    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
    
    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
                
        End Select
        
        orsQry.MoveNext
    WEnd
    
    
    ' Reset cursor
    orsQry.MoveFirst()
    
    
    ' Display Summary
    Response.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 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 %>
            <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%>
                    &nbsp;&nbsp;&nbsp;
                    <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 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
                sSum = rsQry("crc_cksum")
                sCompSum = rsQry("comp_crc_cksum") 
                sSize = rsQry("byte_size")
                sCompSize = rsQry("comp_byte_size")
                Call GetDiffStateIcon( diffState, sDiffStateIcon, sStyle )
                            
                ' Find if this is file or folder
                If (IsNull(sSum) AND  (sSize = 0)) OR (IsNull(sCompSum) AND (sCompSize = 0)) Then 
                    sSize = ""
                    sCompSize = ""
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
                Else
                    sSize = 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) Then
                        sumStyle = "err_dtl"
                    End If

                    If diffState > 1 OR (sSize <> sCompSize) Then
                        sizeStyle = "err_dtl"
                    End If

                End 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.MoveNext
            WEnd
                        
            rsQry.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 class="form_field_hdr">
              <td width="25%" >Name</td>
              <td width="25%" align="right">Byte Size</td>
              <td width="25%" align="right">CKSUM</td>
              <td width="25%" align="right">MODCRC</td>
            </tr>
            <%
            Dim uRL
            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"), "\", "/" )
                            
                ' Find if this is file or folder
                If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
                    sSize = ""
                    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
                Else
                    sSize = rsQry("byte_size")
                    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
                End If
                            
            %>
            <tr class="form_field_grey_bg body_txt_gray">
              <td nowrap><a target="_blank" href="<%=sLink%>" class="body_txt_gray_link"><%=sIcon & rsQry("file_path") & rsQry("file_name")%></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.MoveNext
            WEnd
            rsQry.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%>