You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
185 lines
6.4 KiB
185 lines
6.4 KiB
<%@ Language=VBScript %>
|
|
<% Option Explicit %>
|
|
<% Response.Buffer = True
|
|
'-------------------------------------------------------------------------
|
|
' Text_log_download.asp: to download the log files of type text
|
|
'
|
|
' NOTE: This is a customized page written to take care of the "Downloading"
|
|
' of the log(text) files.
|
|
' This is not the types of the pages(area, property, etc) of the framework.
|
|
' Hence, the events applicable to those is not used here.
|
|
'
|
|
' Copyright (c) Microsoft Corporation. All rights reserved.
|
|
'-------------------------------------------------------------------------
|
|
Call SAI_EnablePageCaching(TRUE)
|
|
%>
|
|
<!-- #include virtual="/admin/inc_framework.asp" -->
|
|
<!-- #include file="loc_Log.asp" -->
|
|
<!-- #include file="inc_Log.asp" -->
|
|
<%
|
|
'-------------------------------------------------------------------------
|
|
' Form Variables
|
|
'-------------------------------------------------------------------------
|
|
Dim F_strFilePath 'Name of the file to be downloaded 'Example: "C:\SFU\Log\"
|
|
Dim F_strFileName 'File name to be prompted for download - Example: nfssvr.txt
|
|
|
|
'-------------------------------------------------------------------------
|
|
' Global Variables
|
|
'-------------------------------------------------------------------------
|
|
|
|
Dim G_strBrowserVersion 'variable for getting the client config
|
|
Dim G_nBrowserVersion 'variable to locate the positin occurence of Browser version string
|
|
Dim blnFlagIE
|
|
|
|
dim rc
|
|
dim page
|
|
dim L_LOGS_TEXT
|
|
|
|
L_LOGS_TEXT = "Logs"
|
|
|
|
If SA_IsIE = True Then
|
|
blnFlagIE = True
|
|
End If
|
|
|
|
Call SA_CreatePage(L_LOGS_TEXT,"", PT_PAGELET, page)
|
|
Call SA_ShowPage(page)
|
|
|
|
|
|
'---------------------------------------------------------------------
|
|
' Function name: OnInitPage
|
|
' Description: Called to signal first time processing for this page.
|
|
' Input Variables: PageIn and EventArg
|
|
' Output Variables: PageIn and EventArg
|
|
' Return Values: TRUE to indicate initialization was successful. FALSE to indicate
|
|
' errors. Returning FALSE will cause the page to be abandoned.
|
|
' Global Variables: None
|
|
' Called to signal first time processing for this page.
|
|
'---------------------------------------------------------------------
|
|
Public Function OnInitPage(ByRef Page, ByRef Reserved)
|
|
OnInitPage = TRUE
|
|
End Function
|
|
|
|
'---------------------------------------------------------------------
|
|
' Function name: OnServePageletPage
|
|
' Description: Called when the page needs to be served.
|
|
' Input Variables: PageIn, Reserved
|
|
' Output Variables: PageIn, Reserved
|
|
' Return Values: TRUE to indicate no problems occured. FALSE to indicate errors.
|
|
' Returning FALSE will cause the page to be abandoned.
|
|
' Global Variables: F_*
|
|
'Called when the page needs to be served. Use this method to serve content.
|
|
'---------------------------------------------------------------------
|
|
Public Function OnServePageletPage(ByRef Page, ByRef Reserved)
|
|
OnServePageletPage = TRUE
|
|
|
|
Call SA_ServeDefaultClientScript()
|
|
|
|
'frame work variables used for getting the selected ots entries
|
|
Dim x
|
|
Dim itemCount
|
|
Dim itemKey
|
|
|
|
'File name(along with the path) that is obtained from earlier form
|
|
F_strFilePath = Request.QueryString("FilePath")
|
|
|
|
' get the file to be deleted as Query String from previous page
|
|
|
|
If Instr(1,Request.QueryString(),"Single",1) then
|
|
F_strFileName = Request.QueryString("Pkey")
|
|
Else
|
|
' Show a list of the items selected
|
|
itemCount = OTS_GetTableSelectionCount("")
|
|
For x = 1 to itemCount
|
|
If ( OTS_GetTableSelection("", x, itemKey) ) Then
|
|
F_strFileName = itemKey
|
|
End If
|
|
Next
|
|
End if
|
|
|
|
'Check if the file is existing
|
|
If Not (isFileExisting(F_strFilePath & "\" & F_strFileName)) Then
|
|
|
|
'File is moved/deleted/renamed. Display failure page
|
|
Call SA_ServeFailurePage (L_LOGFILE_NOTFOUND_ERRORMESSAGE)
|
|
|
|
End If
|
|
|
|
'Call to output the log file
|
|
Call DispalyFileContent(F_strFilePath,F_strFileName)
|
|
|
|
End Function
|
|
|
|
'---------------------------------------------------------------------
|
|
' Function name: DispalyFileContent
|
|
' Description: To Read and Output the contents of the file
|
|
' Input Variables: The file to be read and displayed
|
|
' Output Variables: None
|
|
' Return Values: None
|
|
' Global Variables: None
|
|
'Called to read the total content of the file and output it.
|
|
'For Netscape the headers are not added location.href is used
|
|
'Due to the headers, the "download" dialog appears
|
|
'---------------------------------------------------------------------
|
|
Sub DispalyFileContent(strFilePath , strFileName)
|
|
Err.clear
|
|
On Error Resume Next
|
|
|
|
Dim objFSO ' the File System Object
|
|
Dim objFile ' the File to be read
|
|
Dim strTemp,strTotalFileName
|
|
Dim strLogPath
|
|
Dim strDownloadFile
|
|
|
|
const TempDir = "TempFiles" ' A Temporary directory in web directory
|
|
const LogDir = "LogFiles" ' A logs directory in Temporary directory
|
|
const strON = "On"
|
|
|
|
strTotalFileName=strFilePath & "\" & strFileName
|
|
|
|
Set objFSO = CreateObject("Scripting.FileSystemObject")
|
|
|
|
|
|
If blnFlagIE = True then
|
|
|
|
Set objFile = objFSO.OpenTextFile(strTotalFileName, 1, False)
|
|
'Read the contents of the file
|
|
If not objFile.AtEndOfStream Then strTemp = objFile.readall End IF
|
|
|
|
' Add headers required for download
|
|
Response.AddHeader "Content-Type", "text/plain"
|
|
Response.AddHeader "Content-Disposition", "attachment; filename=" & F_strFileName
|
|
|
|
'Clear any previous buffered output
|
|
Response.Clear
|
|
|
|
'Output it for download
|
|
Response.Write strTemp
|
|
|
|
objFile.Close
|
|
Response.End
|
|
Else
|
|
strLogPath = GetLogsDirectoryPath(objFSO)
|
|
|
|
If objFSO.FileExists(strLogPath& "\" &strFileName) then
|
|
objFSO.DeleteFile strLogPath& "\" &strFileName,True
|
|
End If
|
|
|
|
' Copying from log's original directory to web root
|
|
If objFSO.FileExists(strTotalFileName) Then
|
|
objFSO.CopyFile strTotalFileName, strLogPath& "\" ,True
|
|
End If
|
|
|
|
'Clean up
|
|
Set objFile = Nothing
|
|
Set objFSO = Nothing
|
|
|
|
strDownloadFile = SA_GetNewHostURLBase(SA_DEFAULT, SAI_GetSecurePort(), True, SA_DEFAULT)
|
|
strDownloadFile = strDownloadFile & TempDir &"/" &LogDir &"/" & strFileName
|
|
Call SA_TraceOut(SA_GetScriptFileName, "Redirect to URL: " & strDownloadFile)
|
|
|
|
Response.Redirect strDownloadFile
|
|
End If
|
|
|
|
End Sub
|
|
|
|
%>
|