Subversion Repositories DevTools

Rev

Details | 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
59
			Call DisplayInfo ( "GENERATE_FILES_AND_FOLDERS", "400" )
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 
141
 
142
	If IsNull(pkgInfoHash.Item("v_ext")) OR (pkgInfoHash.Item("v_ext") = "") Then
143
		OraDatabase.Parameters.Add "V_EXT", 		NULL,	ORAPARM_INPUT, ORATYPE_VARCHAR2 
144
	Else
145
		OraDatabase.Parameters.Add "V_EXT", 		pkgInfoHash.Item("v_ext"),	ORAPARM_INPUT, ORATYPE_VARCHAR2 
146
	End If
147
 
148
 
149
	Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("AllPackageVersions.sql"), cint(0))
150
 
151
	Response.write "<option value=''></option>"
152
 
153
    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF))
154
 
155
		If rsQry("dlocked") = "Y" Then
156
			isOfficial = "R&nbsp;"
157
		Else
158
			isOfficial = "&nbsp;&nbsp;&nbsp;&nbsp;"
159
		End If
160
 
161
		Response.write "<option value='"& rsQry("pv_id") &"' "& rsQry("selected") &" >"& isOfficial & rsQry("pkg_version") &"</option>"
162
 
163
		rsQry.MoveNext
164
    WEnd
165
 
166
	' Clean up
167
	rsQry.Close()
168
	Set rsQry = nothing
169
 
170
	OraDatabase.Parameters.Remove "COMPARE_PV_ID"
171
	OraDatabase.Parameters.Remove "PKG_ID"
172
	OraDatabase.Parameters.Remove "V_EXT"
173
 
174
End Sub
175
'--------------------------------------------------------------------------------------------------------------------------------------
176
Sub GetDiffStateIcon( nDiffState, outIcon, outStyle )
177
	Select Case CInt( nDiffState )
178
		Case enumDB_NUM_DIFF_UPDATED
179
			outIcon  = LIMG_UPDATED
180
			outStyle = "body_rowbold"
181
 
182
		Case enumDB_NUM_DIFF_REMOVED
183
			outIcon = LIMG_REMOVED
184
			outStyle = "body_rowthru"
185
 
186
		Case enumDB_NUM_DIFF_NEW
187
			outIcon = LIMG_ADDED
188
			outStyle = "body_rowbold"
189
 
190
		Case Else
191
			outIcon = ""
192
			outStyle = "body_rowg"
193
 
194
	End Select
195
 
196
End Sub
197
'--------------------------------------------------------------------------------------------------------------------------------------
198
Sub DisplayDiffSummary( orsQry )
199
	Dim dDiffSummary
200
	Set dDiffSummary = CreateObject("Scripting.Dictionary")
201
 
202
	dDiffSummary.Item ("UPDATED") = 0
203
	dDiffSummary.Item ("REMOVED") = 0
204
	dDiffSummary.Item ("ADDED") = 0
205
 
206
	While ((NOT orsQry.BOF) AND (NOT orsQry.EOF))
207
 
208
		Select Case CInt( orsQry("diff_state") )
209
			Case enumDB_NUM_DIFF_UPDATED
210
				dDiffSummary.Item ("UPDATED") = CInt( dDiffSummary.Item ("UPDATED") ) + 1
211
 
212
			Case enumDB_NUM_DIFF_REMOVED
213
				dDiffSummary.Item ("REMOVED") = CInt( dDiffSummary.Item ("REMOVED") ) + 1
214
 
215
			Case enumDB_NUM_DIFF_NEW
216
				dDiffSummary.Item ("ADDED") = CInt( dDiffSummary.Item ("ADDED") ) + 1
217
 
218
		End Select
219
 
220
		orsQry.MoveNext
221
	WEnd
222
 
223
 
224
	' Reset cursor
225
	orsQry.MoveFirst()
226
 
227
 
228
	' Display Summary
229
	Response.write dDiffSummary.Item ("UPDATED") &" -<img src='images/i_updated.gif' width='11' height='11' hspace='3'>Updated, "
230
	Response.write dDiffSummary.Item ("ADDED") &" -<img src='images/i_added.gif' width='11' height='11' hspace='3'>Added, "
231
	Response.write dDiffSummary.Item ("REMOVED") &" -<img src='images/i_removed.gif' width='11' height='11' hspace='3'>Removed"
232
 
233
End Sub
234
'--------------------------------------------------------------------------------------------------------------------------------------
235
%>
236
	<!-- DETAILS ------------------------------------------------->
237
	<%
238
	' --- Decide if pv_id is ERG Product ---
239
	isProduct = FALSE
240
 
241
    if NOT IsEmpty(parOsType) Then
242
 
243
		If NOT IsNull( pkgInfoHash.Item("base_view_id") ) OR ( pkgInfoHash.Item("base_view_id") <> "") Then
244
			If CInt(pkgInfoHash.Item("base_view_id")) = enumBASE_VIEW_PRODUCTS Then
245
				isProduct = TRUE
246
			End If
247
		Else
248
			' Try to be smart and decide if it is ERG product by name
249
			If InStr( pkgInfoHash.Item("pkg_name"), "ERG", 0) = 1  Then
250
				isProduct = TRUE
251
			End If
252
        End If
253
	End If
254
 
255
	%>	
256
 
257
	<%
258
	' -- Open Database connection
259
	If isProduct Then
260
		Call GetProductOsTypes ( dAvailableOsTypes, parOsType )
261
 
262
		If parCompare <> "" Then
263
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
264
			OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
265
			OraDatabase.Parameters.Add "OS_ID", parOsType,	ORAPARM_INPUT, ORATYPE_NUMBER 
266
 
267
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponentDiff.sql"), cint(0))
268
 
269
			OraDatabase.Parameters.Remove "PV_ID"
270
			OraDatabase.Parameters.Remove "COMPARE_PV_ID"
271
			OraDatabase.Parameters.Remove "OS_ID"
272
 
273
		Else
274
 
275
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
276
			OraDatabase.Parameters.Add "OS_ID", parOsType,	ORAPARM_INPUT, ORATYPE_NUMBER 
277
 
278
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ProductComponents.sql"), cint(0))
279
 
280
			OraDatabase.Parameters.Remove "PV_ID"
281
			OraDatabase.Parameters.Remove "OS_ID"
282
		End If
283
 
284
	Else
285
 
286
		If parCompare <> "" Then
287
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
288
			OraDatabase.Parameters.Add "COMPARE_PV_ID", parComparePvId,	ORAPARM_INPUT, ORATYPE_NUMBER 
289
 
290
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponentDiff.sql"), cint(0))
291
 
292
			OraDatabase.Parameters.Remove "PV_ID"
293
			OraDatabase.Parameters.Remove "COMPARE_PV_ID"
294
 
295
		Else
296
			OraDatabase.Parameters.Add "PV_ID", parPv_id,	ORAPARM_INPUT, ORATYPE_NUMBER 
297
 
298
			Set rsQry = OraDatabase.DbCreateDynaset( GetQuery("ModuleComponents.sql"), cint(0))
299
 
300
			OraDatabase.Parameters.Remove "PV_ID"
301
 
302
		End If
303
 
304
	End If
305
	%>
306
 
307
 
308
    <%If isProduct Then%>
309
 
310
	    <%If rsQry.Recordcount > 0 Then%>
311
	    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
312
        <tr>
313
          <td nowrap class="body_txt">Build Platform
314
            <select name="os_type" class="form_item">
315
		    <%Call DisplayOsTypeCombo()%>
316
            </select>
317
            <input name="btn" type="submit" class="form_btn" value="View"></td>
318
        </tr>
319
      </table> 
320
	    <%End If%> 
321
 
322
	    <%If rsQry.Recordcount < 1 Then%>
323
 
324
	    <%
325
	    ' No files found ...
326
	    Call DisplayInfo ( "NO_PRODUCT_FILES_CAPTURED", "400" )
327
	    %>
328
 
329
	    <%End If%>
330
 
331
    <%End If%>    				                   
332
 
333
    <%'
334
      ' If not called from a history tab then we display a dialog to allow comparison
335
      ' with another version
336
    %>
337
    <%If pkgCompare Then %>
338
			<form name="formname" method="get" action="<%=ScriptName%>" onSubmit="ProgressBar.style.visibility='visible';">
339
			<br> 					  
340
                        <span class="body_colb">Files and Folders</span><br>
341
 
342
						<%If rsQry.Recordcount > 0 Then%>
343
						<table width="100%"  border="0" cellspacing="1" cellpadding="3">
344
	                      <tr>
345
	                        <td nowrap class="body_txt">
346
	                        	Show differences since version
347
		                        <select name="compare_pv_id" class="form_item">
348
								<%Call DisplayComparePvIdCombo()%>
349
		              			</select>
350
								<input name="btn" type="submit" class="form_btn" value="Compare"> 
351
							</td>
352
	                        <td nowrap class="body_txt" align="right">
353
								<%If parCompare <> "" Then%>
354
									<%Call DisplayDiffSummary( rsQry ) %>
355
								<%End If%>
356
							</td>
357
	                      </tr>
358
	                    </table>
359
						<hr size="1" noshade color="#999999"> 
360
						<%End If%>                                               
361
    <%End If%>
362
 
363
    <!-- MODULE COMPONENTS ++++++++++++++++++++++++++++++++++++++ -->
364
 
365
 
366
	    <!-- ==================================================== -->
367
	    <!-- ===================  COMPARE ======================= -->
368
	    <!-- ==================================================== -->
369
	    <%If parCompare <> "" Then%>
370
 
371
 
372
		    <%If rsQry.Recordcount > 0 Then%>
373
 
374
 
375
		    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
376
		    <tr>
377
			    <td width="1" background="images/bg_form_lightbluedark.gif" class="form_item"></td>
378
		      <td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
379
		      <td width="50%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
380
		    </tr>
381
		    <%
382
		    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
383
 
384
			    Call GetDiffStateIcon( rsQry("diff_state"), sDiffStateIcon, sStyle )
385
 
386
			    ' Find if this is file or folder
387
			    If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
388
				    sSize = ""
389
				    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
390
			    Else
391
				    sSize = rsQry("byte_size")
392
				    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
393
			    End If
394
 
395
		    %>
396
		    <tr>
397
			    <td background="images/bg_form_lightgray.gif" nowrap class="body_txt_gray"><%=sDiffStateIcon%></td>
398
		      <td background="images/bg_form_lightgray.gif" nowrap class="<%=sStyle%>"><%=sIcon & rsQry("name")%></td>
399
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
400
		    </tr>
401
		    <%
402
			    rsQry.MoveNext
403
		    WEnd
404
 
405
		    rsQry.Close()
406
		    Set rsQry = nothing
407
		    %>
408
	        </table><br>
409
 
410
		    <%End If%>
411
 
412
 
413
	    <%Else%>
414
	    <!-- ==================================================== -->
415
	    <!-- =================== NORMAL FILES =================== -->
416
	    <!-- ==================================================== -->
417
 
418
		    <%If rsQry.Recordcount < 1 Then%>
419
 
420
		    <%
421
		    ' No files found ...
422
		    Call DisplayMessage ()
423
		    %>
424
 
425
		    <%Else%>
426
 
427
		    <table width="100%"  border="0" cellspacing="1" cellpadding="3">
428
		    <tr>
429
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item">Name</td>
430
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">Byte Size</td>
431
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">CKSUM</td>
432
		      <td width="25%" background="images/bg_form_lightbluedark.gif" class="form_item" align="right">MODCRC</td>
433
		    </tr>
434
		    <%
435
		    Dim uRL
436
		    While ((NOT rsQry.BOF) AND (NOT rsQry.EOF)) 
437
			    sLink = dpkg_archiveURL & pkgInfoHash.Item ("pkg_name") &"/"& pkgInfoHash.Item ("pkg_version") &"/"& Replace( rsQry("file_path") & rsQry("file_name"), "\", "/" )
438
 
439
			    ' Find if this is file or folder
440
			    If IsNull( rsQry("crc_cksum") )  AND  (rsQry("byte_size") = 0) Then 
441
				    sSize = ""
442
				    sIcon = "<img src='images/rex_images/_folder.gif' border='0' hspace='3' align='absmiddle'>"
443
			    Else
444
				    sSize = rsQry("byte_size")
445
				    sIcon = "<img src='images/rex_images/ext_blank.gif' border='0' hspace='3' align='absmiddle'>"
446
			    End If
447
 
448
		    %>
449
		    <tr>
450
		      <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>
451
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=sSize%></td>
452
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_cksum")%></td>
453
		      <td background="images/bg_form_lightgray.gif" class="body_txt_gray" nowrap align="right"><%=rsQry("crc_modcrc")%></td>
454
		    </tr>
455
		    <%
456
			    rsQry.MoveNext
457
		    WEnd
458
 
459
		    rsQry.Close()
460
		    Set rsQry = nothing
461
		    %>
462
	        </table><br>
463
 
464
		    <%End If%>
465
 
466
 
467
	    <!-- ==================================================== -->
468
	    <!-- ==================================================== -->
469
	    <!-- ==================================================== -->	  
470
	    <%End If%>		
471
 
472
    <!-- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->   
473
    <%If pkgCompare Then %>
474
	    <input type="hidden" name="compare" value="<%=parCompare%>">
475
		<input type="hidden" name="pv_id" value="<%=parPv_Id%>">
476
		<input type="hidden" name="rtag_id" value="<%=parRtag_Id%>">
477
		</form>
478
    <%End If%>		
479