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