Subversion Repositories DevTools

Rev

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

Rev Author Line No. Line
3872 dpurdie 1
<%
2
'=====================================================
3
'|                                                   |
4
'|		           Files and Folders                 |
5
'|                 Core implementation               |
6
'|                                                   |
7
'=====================================================
8
%>
9
<%
10
'------------ Variable Definition -------------
11
Dim rsTemp
12
Dim rsQry
13
Dim isProduct
14
Dim sLink
15
Dim sSize
16
Dim sIcon
17
Dim parComparePvId
18
Dim parCompare
19
Dim parOsType
20
Dim sDiffStateIcon
21
Dim sStyle
22
Dim dAvailableOsTypes
23
'------------ Constants Declaration -----------
24
Const LIMG_UPDATED = "<img src='images/i_updated.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Updated'>"
25
Const LIMG_ADDED = "<img src='images/i_added.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Added'>"
26
Const LIMG_REMOVED = "<img src='images/i_removed.gif' width='11' height='11' border='0' hspace='2' align='absmiddle' title='Removed'>"
27
'------------ Variable Init -------------------
28
parComparePvId = Request("compare_pv_id")
29
parCompare = Request("compare")
30
parOsType = Request("os_type")
31
'----------------------------------------------
32
If Request("btn") = "Compare" Then
33
	parCompare = "true"
34
End If
35
Set dAvailableOsTypes = CreateObject("Scripting.Dictionary")
36
'----------------------------------------------
37
%>
38
<%
39
'--------------------------------------------------------------------------------------------------------------------------------------
40
 
41
'--------------------------------------------------------------------------------------------------------------------------------------
42
Sub DisplayMessage ()
43
	If (pkgInfoHash.Item ("dlocked") = "Y") Then
44
		If (InStr(pkgInfoHash.Item ("release_notes_info"),"MSG:") > 0) Then	
45
			Select Case CStr( pkgInfoHash.Item ("release_notes_info") )
46
			Case enum_RELEASE_NOTES_GENERATING
47
				Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
48
			Case enum_RELEASE_NOTES_NOT_FOUND_IN_ARCHIVE
49
				Call DisplayInfo ( "NOT_FOUND_IN_PKG_ARCHIVE_FILE_GENERATE", "400" )
50
			Case enum_RELEASE_NOTES_FAILED
51
				Call DisplayInfo ( "FAILED_GENERATING_RELEASE_NOTES", "400" )
52
			Case enum_RELEASE_NOTES_NO_PREVIOUS_VERSION
53
				Call DisplayInfo ( "NO_PREVIOUS_VERSION_RELEASE_NOTES", "400" )
4705 dpurdie 54
            Case enum_RELEASE_NOTES_PLACEHOLDER_PACKAGE
55
                Call DisplayInfo ( "RELEASE_NOTES_PLACEHOLDER_PACKAGE", "400" )
3872 dpurdie 56
			End Select
57
 
58
		ElseIf IsNull(pkgInfoHash.Item ("release_notes_info")) Then
5172 dpurdie 59
		    Call DisplayInfo ( "GENERATING_RELEASE_NOTES", "400" )
3872 dpurdie 60
 
61
		End If
62
 
63
	End If
64
End Sub
65
'--------------------------------------------------------------------------------------------------------------------------------------
66
Sub GetProductOsTypes ( outAvailableOsTypes, outOsType )
67
	Dim rsQry
68
 
69
	' --- Get all available product os types from captured components ---
70
	OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
71
 
72
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductBuildOsTypes.sql"), cint(0))
73
 
74
	OraDatabase.Parameters.Remove "PV_ID"
75
 
76
 
77
	While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
78
		outAvailableOsTypes.Item (CStr(rsQry("os_id"))) = CStr(rsQry("os_id"))
79
 
80
		If outOsType = "" Then
81
			outOsType = CStr(rsQry("os_id"))
82
		End If
83
 
84
		rsQry.MoveNext
85
    WEnd
86
 
87
	rsQry.Close()
88
	Set rsQry = nothing
89
 
90
End Sub
91
'--------------------------------------------------------------------------------------------------------------------------------------
92
Sub DisplayOsTypeCombo ( )
93
	Dim sOsType, aOsTypeParts, selected
94
 
95
 
96
	' -- Render combo box ---
97
	If dAvailableOsTypes.Count > 0 Then
98
		For Each sOsType In aPRODUCT_OS_BUILD_TYPES
99
			aOsTypeParts = Split( sOsType, "|")
100
 
101
 
102
			If dAvailableOsTypes.Exists ( CStr(aOsTypeParts(1)) ) Then	
103
				' Define selected item
104
 
105
				selected = ""
106
 
107
				If parOsType = "" Then
108
					parOsType = aOsTypeParts(1)
109
					selected = "selected"
110
				Else
111
					If CStr(parOsType) = CStr(aOsTypeParts(1)) Then
112
						selected = "selected"
113
					End If
114
				End If
115
 
116
				Response.write "<option value='"& aOsTypeParts(1) &"' "& selected &">"& aOsTypeParts(0) &"</option>"
117
 
118
			End If
119
 
120
		Next
121
	End If
122
 
123
End Sub
124
'--------------------------------------------------------------------------------------------------------------------------------------
125
Sub DisplayComparePvIdCombo()
126
	Dim rsQry, isOfficial
127
 
128
	' Define version to compare
129
	If parComparePvId = "" Then
130
		If NOT IsNull( pkgInfoHash.Item("last_pv_id") ) Then 
131
			parComparePvId = pkgInfoHash.Item("last_pv_id")
132
		Else
133
			parComparePvId = 0
134
		End If
135
 
136
	End If
137
 
138
 
139
	OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
140
	OraDatabase.Parameters.Add "PKG_ID", 		pkgInfoHash.Item("pkg_id"),	ORAPARM_INPUT, ORATYPE_NUMBER 
5952 dpurdie 141
	OraDatabase.Parameters.Add "V_EXT", 		EmptyToNull(pkgInfoHash.Item("v_ext")),	ORAPARM_INPUT, ORATYPE_VARCHAR2 
3872 dpurdie 142
 
143
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))
144
 
145
	Response.write "<option value=''></option>"
146
 
147
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
148
 
149
		If rsQry("dlocked") = "Y" Then
150
			isOfficial = "R&nbsp;"
151
		Else
152
			isOfficial = "&nbsp;&nbsp;&nbsp;&nbsp;"
153
		End If
154
 
155
		Response.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"
156
 
157
		rsQry.MoveNext
158
    WEnd
159
 
160
	' Clean up
161
	rsQry.Close()
162
	Set rsQry = nothing
163
 
164
	OraDatabase.Parameters.Remove "COMPARE_PV_ID"
165
	OraDatabase.Parameters.Remove "PKG_ID"
166
	OraDatabase.Parameters.Remove "V_EXT"
167
 
168
End Sub
169
'--------------------------------------------------------------------------------------------------------------------------------------
170
Sub GetDiffStateIcon( nDiffState, outIcon, outStyle )
171
	Select Case CInt( nDiffState )
172
		Case enumDB_NUM_DIFF_UPDATED
173
			outIcon  = LIMG_UPDATED
174
			outStyle = "body_rowbold"
175
 
176
		Case enumDB_NUM_DIFF_REMOVED
177
			outIcon = LIMG_REMOVED
178
			outStyle = "body_rowthru"
179
 
180
		Case enumDB_NUM_DIFF_NEW
181
			outIcon = LIMG_ADDED
182
			outStyle = "body_rowbold"
183
 
184
		Case Else
185
			outIcon = ""
186
			outStyle = "body_rowg"
187
 
188
	End Select
189
 
190
End Sub
191
'--------------------------------------------------------------------------------------------------------------------------------------
192
Sub DisplayDiffSummary( orsQry )
193
	Dim dDiffSummary
194
	Set dDiffSummary = CreateObject("Scripting.Dictionary")
195
 
196
	dDiffSummary.Item ("UPDATED") = 0
197
	dDiffSummary.Item ("REMOVED") = 0
198
	dDiffSummary.Item ("ADDED") = 0
199
 
200
	While ((NOT orsQry.BOF) AND (NOT orsQry.EOF))
201
 
202
		Select Case CInt( orsQry("diff_state") )
203
			Case enumDB_NUM_DIFF_UPDATED
204
				dDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1
205
 
206
			Case enumDB_NUM_DIFF_REMOVED
207
				dDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1
208
 
209
			Case enumDB_NUM_DIFF_NEW
210
				dDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1
211
 
212
		End Select
213
 
214
		orsQry.MoveNext
215
	WEnd
216
 
217
 
218
	' Reset cursor
219
	orsQry.MoveFirst()
220
 
221
 
222
	' Display Summary
223
	Response.write dDiffSummary.Item ("UPDATED") &" -<img src='images/i_updated.gif' width='11' height='11' hspace='3'>Updated, "
224
	Response.write dDiffSummary.Item ("ADDED") &" -<img src='images/i_added.gif' width='11' height='11' hspace='3'>Added, "
225
	Response.write dDiffSummary.Item ("REMOVED") &" -<img src='images/i_removed.gif' width='11' height='11' hspace='3'>Removed"
226
 
227
End Sub
228
'--------------------------------------------------------------------------------------------------------------------------------------
229
%>
230
	<!-- DETAILS ------------------------------------------------->
231
	<%
232
	' --- Decide if pv_id is ERG Product ---
233
	isProduct = FALSE
234
 
235
    if NOT IsEmpty(parOsType) Then
236
 
237
		If NOT IsNull( pkgInfoHash.Item("base_view_id") ) OR ( pkgInfoHash.Item("base_view_id") <> "") Then
238
			If CInt(pkgInfoHash.Item("base_view_id")) = enumBASE_VIEW_PRODUCTS Then
239
				isProduct = TRUE
240
			End If
241
		Else
242
			' Try to be smart and decide if it is ERG product by name
6370 dpurdie 243
			If (InStr( pkgInfoHash.Item("pkg_name"), "ERG", 0) = 1) OR (InStr( pkgInfoHash.Item("pkg_name"), "VIX", 0) = 1) Then
3872 dpurdie 244
				isProduct = TRUE
245
			End If
246
        End If
247
	End If
248
 
249
	%>	
250
 
251
	<%
252
	' -- Open Database connection
253
	If isProduct Then
254
		Call GetProductOsTypes ( dAvailableOsTypes, parOsType )
255
 
256
		If parCompare <> "" Then
257
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
258
			OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
259
			OraDatabase.Parameters.Add "OS_ID", parOsType,	ORAPARM_INPUT, ORATYPE_NUMBER 
260
 
261
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponentDiff.sql"), cint(0))
262
 
263
			OraDatabase.Parameters.Remove "PV_ID"
264
			OraDatabase.Parameters.Remove "COMPARE_PV_ID"
265
			OraDatabase.Parameters.Remove "OS_ID"
266
 
267
		Else
268
 
269
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
270
			OraDatabase.Parameters.Add "OS_ID", parOsType,	ORAPARM_INPUT, ORATYPE_NUMBER 
271
 
272
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponents.sql"), cint(0))
273
 
274
			OraDatabase.Parameters.Remove "PV_ID"
275
			OraDatabase.Parameters.Remove "OS_ID"
276
		End If
277
 
278
	Else
279
 
280
		If parCompare <> "" Then
281
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
282
			OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
283
 
284
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0))
285
 
286
			OraDatabase.Parameters.Remove "PV_ID"
287
			OraDatabase.Parameters.Remove "COMPARE_PV_ID"
288
 
289
		Else
290
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
291
 
292
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponents.sql"), cint(0))
293
 
294
			OraDatabase.Parameters.Remove "PV_ID"
295
 
296
		End If
297
 
298
	End If
299
	%>
300
 
301
 
302
    <%If isProduct Then%>
303
 
304
	    <%If rsQry.Recordcount > 0 Then%>
305
	    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
306
        <tr>
307
          <td nowrap class="body_txt">Build Platform
308
            <select name="os_type" class="form_item">
309
		    <%Call DisplayOsTypeCombo()%>
310
            </select>
311
            <input name="btn" type="submit" class="form_btn" value="View"></td>
312
        </tr>
313
      </table> 
314
	    <%End If%> 
315
 
316
	    <%If rsQry.Recordcount < 1 Then%>
317
 
318
	    <%
319
	    ' No files found ...
320
	    Call DisplayInfo ( "NO_PRODUCT_FILES_CAPTURED", "400" )
321
	    %>
322
 
323
	    <%End If%>
324
 
325
    <%End If%>    				                   
326
 
327
    <%'
328
      ' If not called from a history tab then we display a dialog to allow comparison
329
      ' with another version
330
    %>
331
    <%If pkgCompare Then %>
332
			<form name="formname" method="get" action="<%=ScriptName%>" onSubmit="ProgressBar.style.visibility='visible';">
333
			<br> 					  
334
                        <span class="body_colb">Files and Folders</span><br>
335
 
336
						<%If rsQry.Recordcount > 0 Then%>
337
						<table width="100%"  border="0" cellspacing="1" cellpadding="3">
338
	                      <tr>
339
	                        <td nowrap class="body_txt">
340
	                        	Show differences since version
341
		                        <select name="compare_pv_id" class="form_item">
342
								<%Call DisplayComparePvIdCombo()%>
343
		              			</select>
344
								<input name="btn" type="submit" class="form_btn" value="Compare"> 
345
							</td>
346
	                        <td nowrap class="body_txt" align="right">
347
								<%If parCompare <> "" Then%>
348
									<%Call DisplayDiffSummary( rsQry ) %>
349
								<%End If%>
350
							</td>
351
	                      </tr>
352
	                    </table>
353
						<hr size="1" noshade color="#999999"> 
354
						<%End If%>                                               
355
    <%End If%>
356
 
357
    <!-- MODULE COMPONENTS ++++++++++++++++++++++++++++++++++++++ -->
358
 
359
 
360
	    <!-- ==================================================== -->
361
	    <!-- ===================  COMPARE ======================= -->
362
	    <!-- ==================================================== -->
363
	    <%If parCompare <> "" Then%>
364
 
365
 
366
		    <%If rsQry.Recordcount > 0 Then%>
367
 
368
 
369
		    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
370
		    <tr>
6370 dpurdie 371
		      <td width="1"   background="images/bg_form_lightbluedark.gif" class="form_item"></td>
3872 dpurdie 372
		      <td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
373
		      <td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
374
		    </tr>
375
		    <%
376
		    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
377
 
378
			    Call GetDiffStateIcon( rsQry("diff_state"), sDiffStateIcon, sStyle )
379
 
380
			    ' Find if this is file or folder
381
			    If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
382
				    sSize = ""
383
				    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
384
			    Else
385
				    sSize = rsQry("byte_size")
386
				    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
387
			    End If
388
 
389
		    %>
390
		    <tr>
391
			    <td background="images/bg_form_lightgray.gif" nowrap class="body_txt_gray"><%=sDiffStateIcon%></td>
392
		      <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td>
393
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
394
		    </tr>
395
		    <%
396
			    rsQry.MoveNext
397
		    WEnd
398
 
399
		    rsQry.Close()
400
		    Set rsQry = nothing
401
		    %>
402
	        </table><br>
403
 
404
		    <%End If%>
405
 
406
 
407
	    <%Else%>
408
	    <!-- ==================================================== -->
409
	    <!-- =================== NORMAL FILES =================== -->
410
	    <!-- ==================================================== -->
411
 
412
		    <%If rsQry.Recordcount < 1 Then%>
413
 
414
		    <%
415
		    ' No files found ...
416
		    Call DisplayMessage ()
417
		    %>
418
 
419
		    <%Else%>
420
 
421
		    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
422
		    <tr>
423
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
424
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
425
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
426
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">MODCRC</td>
427
		    </tr>
428
		    <%
429
		    Dim uRL
430
		    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
431
			    sLink = dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& Replace( rsQry("file_path") & rsQry("file_name"), "\", "/" )
432
 
433
			    ' Find if this is file or folder
434
			    If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
435
				    sSize = ""
436
				    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
437
			    Else
438
				    sSize = rsQry("byte_size")
439
				    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
440
			    End If
441
 
442
		    %>
443
		    <tr>
444
		      <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>
445
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
446
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_cksum")%></td>
447
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_modcrc")%></td>
448
		    </tr>
449
		    <%
450
			    rsQry.MoveNext
451
		    WEnd
452
 
453
		    rsQry.Close()
454
		    Set rsQry = nothing
455
		    %>
456
	        </table><br>
457
 
458
		    <%End If%>
459
 
460
 
461
	    <!-- ==================================================== -->
462
	    <!-- ==================================================== -->
463
	    <!-- ==================================================== -->	  
464
	    <%End If%>		
465
 
466
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->   
467
    <%If pkgCompare Then %>
468
	    <input type="hidden" name="compare" value="<%=parCompare%>">
469
		<input type="hidden" name="pv_id" value="<%=parPv_Id%>">
470
		<input type="hidden" name="rtag_id" value="<%=parRtag_Id%>">
471
		</form>
472
    <%End If%>		
473