768 lines
17 KiB
HTML
768 lines
17 KiB
HTML
|
<%@ Language=JavaScript%>
|
||
|
<!--
|
||
|
RemoteDataCollection.htm: This is the Remote Control File transfer implementation.
|
||
|
History:
|
||
|
Sudha Srinivasan - created 07/28/2000
|
||
|
-->
|
||
|
|
||
|
<html>
|
||
|
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
|
||
|
<meta http-equiv="Content-Language" content="en-us">
|
||
|
<meta name="GENERATOR" content="Microsoft FrontPage 4.0">
|
||
|
<meta name="ProgId" content="FrontPage.Editor.Document">
|
||
|
|
||
|
<OBJECT ID=pchealth classid=CLSID:FC7D9E02-3F9E-11d3-93C0-00C04F72DAF7></OBJECT>
|
||
|
|
||
|
<title>Windows Remote Data Collection</title>
|
||
|
|
||
|
|
||
|
</HEAD>
|
||
|
<!--
|
||
|
Scripts to handle UI
|
||
|
-->
|
||
|
<script>
|
||
|
//
|
||
|
// Constants
|
||
|
//
|
||
|
var c_szRCCommand = "RCCOMMAND";
|
||
|
var c_szRCCommandName = "NAME";
|
||
|
var c_szFileXfer = "FILEXFER";
|
||
|
var c_szFileName = "FILENAME";
|
||
|
var c_szFileSize = "FILESIZE";
|
||
|
var c_szChannelId = "CHANNELID";
|
||
|
var c_szFileXferACK = "FILEXFERACK";
|
||
|
var c_MAXFILEXFERSIZE = 10240;
|
||
|
var c_szRemoteDataCollection = "REMOTEDATACOLLECTION";
|
||
|
var c_szRemoteDataCollectMode = "REMOTEDATACOLLECTIONMODE";
|
||
|
var c_szRDCResponse = "DATARESPONSE";
|
||
|
var c_szRDCRequest = "DATAREQUEST";
|
||
|
var c_szFileEND = "FILEXFEREND";
|
||
|
|
||
|
//
|
||
|
// Globals
|
||
|
//
|
||
|
var root = null;
|
||
|
var vArgs = null
|
||
|
var Mode = null;
|
||
|
var g_oControlChannel = null;
|
||
|
var g_oDataChannel = null;
|
||
|
var g_oDataChannelRDC = null;
|
||
|
var g_oSAFRemoteDesktopChannelMgr = null;
|
||
|
var g_iFileSize = 0;
|
||
|
var g_iSentCtr = 0;
|
||
|
var g_iRecvdCtr = 0;
|
||
|
var g_szFileName = null;
|
||
|
var g_szChannelId = null;
|
||
|
var fso = null;
|
||
|
var fileHandle = null;
|
||
|
var file = null;
|
||
|
var tFileName = null;
|
||
|
var tProgBarCounter = 0;
|
||
|
//var objDataCol = null; // The Data Collection object.
|
||
|
|
||
|
//
|
||
|
// Error Messages
|
||
|
//
|
||
|
var L_ERRRCFILEXFERINITFAILS_MSG = "Initialization of RDC File Xfer fails";
|
||
|
var L_ERRFILEXFERINITFAILED_MSG = "Failed to initialize data channel for file transfer";
|
||
|
var L_ERROPENINGFILEFORREAD_MSG = "Error Opening File for reading: ";
|
||
|
var L_ERRFAILDATACHANNELCREATION_MSG = "Failed to Create Data Channel";
|
||
|
var L_ERRDATACHANNELSEND_MSG = "Unable to send file on data channel";
|
||
|
var L_ERRINVALIDFILEHANDLE_MSG = "Invalid File Handle";
|
||
|
var L_ERRTEMPFILENAME_MSG = "Temp Filename not defined";
|
||
|
var L_ERRNOTIMPL_MSG = "Not implemented";
|
||
|
|
||
|
|
||
|
//*****************************************************************************
|
||
|
|
||
|
//
|
||
|
// InitRemoteDataCollection: Routine that initializes File Xfer and determines what
|
||
|
// screen to show
|
||
|
//
|
||
|
function InitRemoteDataCollection()
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
vArgs = window.dialogArguments;
|
||
|
Mode = vArgs[0]; // Mode=0: Source, Mode=1: Data Request, Mode=2: Data Response
|
||
|
g_oControlChannel = vArgs[1];
|
||
|
g_oSAFRemoteDesktopChannelMgr = vArgs[2];
|
||
|
|
||
|
//alert( "mode :" + Mode );
|
||
|
if( 0 == Mode)
|
||
|
{
|
||
|
//
|
||
|
// File Transfer source mode
|
||
|
//
|
||
|
RemoteDataCollectionSrc.style.visibility = "visible";
|
||
|
RemoteDataCollectionDestn.style.visibility = "hidden";
|
||
|
|
||
|
g_szChannelId = vArgs[3];
|
||
|
//alert("g_szChannelID: " + g_szChannelId);
|
||
|
}
|
||
|
else if(1 == Mode)
|
||
|
{
|
||
|
// alert("In the remotedatacollection with mode as 2");
|
||
|
//
|
||
|
// File Transfer destination mode
|
||
|
//
|
||
|
RemoteDataCollectionSrc.style.visibility = "hidden";
|
||
|
RemoteDataCollectionDestn.style.visibility = "visible";
|
||
|
|
||
|
|
||
|
g_szFileName = vArgs[3]; // FILENAME
|
||
|
g_iFileSize = vArgs[4]; // FILESIZE
|
||
|
g_szChannelId = vArgs[5]; // CHANNELID
|
||
|
|
||
|
//
|
||
|
// Update filename and filesize in UI
|
||
|
//
|
||
|
FileNameId.innerText = g_szFileName;
|
||
|
g_iRecvdCtr = 0;
|
||
|
|
||
|
|
||
|
tProgBarCounter = Math.ceil(g_iFileSize/c_MAXFILEXFERSIZE);
|
||
|
|
||
|
try
|
||
|
{
|
||
|
//
|
||
|
// Create the data channel for file transfer if necessary
|
||
|
//
|
||
|
if(null == g_oDataChannel)
|
||
|
{
|
||
|
// alert("The Channel is already lost. Need to open a new one for receiving data");
|
||
|
alert("g_szChannelId : " + g_szChannelId );
|
||
|
g_oDataChannel = g_oSAFRemoteDesktopChannelMgr.OpenDataChannel( g_szChannelId );
|
||
|
|
||
|
//
|
||
|
// Bind the OnChannelDataReady event handler
|
||
|
//
|
||
|
g_oDataChannel.OnChannelDataReady = function()
|
||
|
{ DestnDataChannelDataReadyHandler(); }
|
||
|
}
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERRFAILDATACHANNELCREATION_MSG );
|
||
|
|
||
|
//
|
||
|
// Todo: Add code to handle error here
|
||
|
//
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Create temp file for staging while file is XFered
|
||
|
//
|
||
|
// alert( "creating file system object" );
|
||
|
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||
|
var tFolder = fso.GetSpecialFolder(2); // Get Path to temp directory
|
||
|
tFileName = tFolder + "\\" + g_szFileName;
|
||
|
|
||
|
alert( "tFileName: " + tFileName );
|
||
|
|
||
|
// alert( "creating text file: " + tFileName );
|
||
|
fileHandle = fso.CreateTextFile( tFileName );
|
||
|
|
||
|
//
|
||
|
// Send ACK to source to make it begin pumping data on the data channel
|
||
|
//
|
||
|
// alert( c_szFileXferACK );
|
||
|
g_oDataChannel.SendChannelData( c_szFileXferACK );
|
||
|
}
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERRRCFILEXFERINITFAILS_MSG );
|
||
|
}
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// onSend: This routine is fired when the "Send File" button is clicked
|
||
|
//
|
||
|
function onSend()
|
||
|
{
|
||
|
var fileName = attfile.value;
|
||
|
var ForReading = 1, ForWriting = 2, ForAppending = 8;
|
||
|
var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
|
||
|
var Doc = null;
|
||
|
var RCCommand = null;
|
||
|
|
||
|
//
|
||
|
// Open the File for reading
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
//
|
||
|
// Create the filesystem object
|
||
|
//
|
||
|
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||
|
|
||
|
//
|
||
|
// Open the file
|
||
|
//
|
||
|
file = fso.GetFile(fileName);
|
||
|
fileHandle = file.OpenAsTextStream(ForReading,TristateUseDefault);
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERROPENINGFILEFORREAD_MSG + fileName );
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// Initiate File Xfer
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
//
|
||
|
// Create an XML document
|
||
|
//
|
||
|
Doc = new ActiveXObject("microsoft.XMLDOM");
|
||
|
}
|
||
|
catch (err)
|
||
|
{
|
||
|
alert("new object: " + err);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
|
||
|
//
|
||
|
// Create the RCCOMMAND root node
|
||
|
//
|
||
|
RCCommand = Doc.createElement( c_szRCCommand );
|
||
|
}
|
||
|
catch (err)
|
||
|
{
|
||
|
alert("create element :" + err);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
//
|
||
|
// Set the NAME attribute to FILEXFER
|
||
|
//
|
||
|
RCCommand.setAttribute( c_szRCCommandName, c_szRemoteDataCollection );
|
||
|
}
|
||
|
catch (err)
|
||
|
{
|
||
|
alert("setAttribute for datacollection :" + err);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
//
|
||
|
// Set the DATA COLLECTION MODE attribute
|
||
|
//
|
||
|
RCCommand.setAttribute( c_szRemoteDataCollectMode, c_szRDCRequest );
|
||
|
}
|
||
|
catch (err)
|
||
|
{
|
||
|
alert("set attribute for RDCRequest: " + err );
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
//
|
||
|
// Set the FILENAME attribute
|
||
|
//
|
||
|
RCCommand.setAttribute( c_szFileName, file.Name );
|
||
|
}
|
||
|
catch(err)
|
||
|
{
|
||
|
alert("set attribute file name :" + err);
|
||
|
}
|
||
|
try {
|
||
|
//
|
||
|
// Set the FILESIZE attribute
|
||
|
//
|
||
|
RCCommand.setAttribute( c_szFileSize, file.size );
|
||
|
}
|
||
|
catch(err)
|
||
|
{
|
||
|
alert("set attribute for file size : " + err );
|
||
|
}
|
||
|
try {
|
||
|
//
|
||
|
// Set the CHANNELID attribute
|
||
|
//
|
||
|
// alert( " channel id is : " + g_szChannelId );
|
||
|
RCCommand.setAttribute( c_szChannelId, g_szChannelId );
|
||
|
}
|
||
|
catch(err)
|
||
|
{
|
||
|
alert("set attribute channel id: " + err);
|
||
|
}
|
||
|
|
||
|
try {
|
||
|
//
|
||
|
// Send the XML across
|
||
|
//
|
||
|
// alert("the xml sent across is :" + RCCommand.xml);
|
||
|
g_oControlChannel.SendChannelData( RCCommand.xml );
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert ( L_ERRFILEXFERINITFAILED_MSG );
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Create the data channel for Filetransfer
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
if(null == g_oDataChannel)
|
||
|
{
|
||
|
// alert( " g_szChannelId :" + g_szChannelId );
|
||
|
g_oDataChannel = g_oSAFRemoteDesktopChannelMgr.OpenDataChannel( g_szChannelId );
|
||
|
|
||
|
//
|
||
|
// Bind the OnChannelDataReady event handler
|
||
|
//
|
||
|
g_oDataChannel.OnChannelDataReady = function()
|
||
|
{ SrcDataChannelDataReadyHandler(); }
|
||
|
}
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERRFAILDATACHANNELCREATION_MSG );
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Enable progress bar
|
||
|
//
|
||
|
FileSizeSrcId.style.visibility = "visible";
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// onSend: This routine is fired when the "Send File" button is clicked
|
||
|
//
|
||
|
function SendDataCollected( filename )
|
||
|
{
|
||
|
var fileName = filename;
|
||
|
var ForReading = 1, ForWriting = 2, ForAppending = 8;
|
||
|
var TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0;
|
||
|
var Doc = null;
|
||
|
var RCCommand = null;
|
||
|
|
||
|
// alert("Inside the SendDataCollected func.");
|
||
|
//
|
||
|
// Open the File for reading
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
//
|
||
|
// Create the filesystem object
|
||
|
//
|
||
|
fso = new ActiveXObject("Scripting.FileSystemObject");
|
||
|
|
||
|
//
|
||
|
// Open the file
|
||
|
//
|
||
|
file = fso.GetFile(fileName);
|
||
|
fileHandle = file.OpenAsTextStream(ForReading,TristateUseDefault);
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERROPENINGFILEFORREAD_MSG + fileName );
|
||
|
}
|
||
|
|
||
|
|
||
|
//
|
||
|
// Initiate File Xfer
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
//
|
||
|
// Create an XML document
|
||
|
//
|
||
|
Doc = new ActiveXObject("microsoft.XMLDOM");
|
||
|
|
||
|
//
|
||
|
// Create the RCCOMMAND root node
|
||
|
//
|
||
|
// alert("creating the RCCommand");
|
||
|
RCCommand = Doc.createElement( c_szRCCommand );
|
||
|
|
||
|
//
|
||
|
// Set the NAME attribute to FILEXFER
|
||
|
//
|
||
|
// alert("Set the attribute for command name :" + c_szRemoteDataCollection);
|
||
|
RCCommand.setAttribute( c_szRCCommandName, c_szRemoteDataCollection );
|
||
|
|
||
|
//
|
||
|
// Set the FILENAME attribute
|
||
|
//
|
||
|
// alert("Set the attribute filename name :" + file.Name);
|
||
|
RCCommand.setAttribute( c_szFileName, file.Name );
|
||
|
|
||
|
//
|
||
|
// Set the FILESIZE attribute
|
||
|
//
|
||
|
// alert("Set the attribute filename size :" + file.size);
|
||
|
RCCommand.setAttribute( c_szFileSize, file.size );
|
||
|
|
||
|
//
|
||
|
// Set the CHANNELID attribute
|
||
|
//
|
||
|
// alert("Set the attribute channel id :" + g_szChannelId);
|
||
|
RCCommand.setAttribute( c_szChannelId, g_szChannelId );
|
||
|
|
||
|
//
|
||
|
// Set the RDC Mode
|
||
|
//
|
||
|
// alert("Set the attribute mode :" + c_szRDCResponse);
|
||
|
RCCommand.setAttribute( c_szRemoteDataCollectMode, c_szRDCResponse);
|
||
|
|
||
|
//
|
||
|
// Send the XML across
|
||
|
//
|
||
|
// alert("the text that's sent across: " + RCCommand.xml );
|
||
|
g_oControlChannel.SendChannelData( RCCommand.xml );
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert ( L_ERRFILEXFERINITFAILED_MSG );
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Create the data channel for Filetransfer
|
||
|
//
|
||
|
try
|
||
|
{
|
||
|
if(null == g_oDataChannel)
|
||
|
{
|
||
|
g_oDataChannel = g_oSAFRemoteDesktopChannelMgr.OpenDataChannel( g_szChannelId );
|
||
|
|
||
|
//
|
||
|
// Bind the OnChannelDataReady event handler
|
||
|
//
|
||
|
g_oDataChannel.OnChannelDataReady = function()
|
||
|
{ SrcDataChannelDataReadyHandler(); }
|
||
|
}
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERRFAILDATACHANNELCREATION_MSG );
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Enable progress bar
|
||
|
//
|
||
|
FileSizeSrcId.style.visibility = "visible";
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// SrcDataChannelDataReadyHandler: Fired when file Xfer src receives data from
|
||
|
// the file Xfer destn on the data channel
|
||
|
//
|
||
|
function SrcDataChannelDataReadyHandler()
|
||
|
{
|
||
|
//alert("Start sending data");
|
||
|
|
||
|
//
|
||
|
// Start sending data
|
||
|
//
|
||
|
SendFileData();
|
||
|
|
||
|
//
|
||
|
// We are done. Close the window
|
||
|
//
|
||
|
window.close();
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// DestnDataChannelDataReadyHandler(): Fired when file Xfer destn receives data from
|
||
|
// the file Xfer src on the data channel
|
||
|
//
|
||
|
function DestnDataChannelDataReadyHandler()
|
||
|
{
|
||
|
var str = null;
|
||
|
|
||
|
// alert("Recvd data");
|
||
|
//
|
||
|
// receiving incoming data
|
||
|
//
|
||
|
str = g_oDataChannel.ReceiveChannelData();
|
||
|
|
||
|
// alert(str);
|
||
|
if ( c_szFileEND != str )
|
||
|
{
|
||
|
//
|
||
|
// Update UI
|
||
|
//
|
||
|
g_iRecvdCtr += str.length;
|
||
|
// alert("g_iRecvdCtr : " + g_iRecvdCtr);
|
||
|
|
||
|
//
|
||
|
// Write str to open temp file
|
||
|
//
|
||
|
fileHandle.Write( str );
|
||
|
|
||
|
if ( tProgBarCounter > 0 )
|
||
|
{
|
||
|
// ProgressBar1.Value = (100/tProgBarCounter);
|
||
|
tProgBarCounter--;
|
||
|
}
|
||
|
}
|
||
|
//
|
||
|
// If g_iRecvdCtr == g_iFileSize;
|
||
|
// - launch File Open/Save dialog
|
||
|
// - close data connection
|
||
|
if( (g_iRecvdCtr == g_iFileSize) || (str==c_szFileEND) )
|
||
|
{
|
||
|
// alert( "File received" );
|
||
|
|
||
|
alert(g_iRecvdCtr +"is the size received and " + g_iFileSize);
|
||
|
|
||
|
//
|
||
|
// Close open temp file handle
|
||
|
//
|
||
|
fileHandle.Close();
|
||
|
|
||
|
//
|
||
|
// Show the File Open/Save dialog
|
||
|
//
|
||
|
OpenTempFile();
|
||
|
|
||
|
alert("Open the WMI Viewer and show the data to the user.");
|
||
|
//
|
||
|
// We are done. Close the window
|
||
|
//
|
||
|
window.close();
|
||
|
|
||
|
// Open the WMI Viewer and show the data to the user.
|
||
|
}
|
||
|
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
function ResetUIForRDC()
|
||
|
{
|
||
|
alert("Reseting the UI for sending the data collected");
|
||
|
RemoteDataCollectionSrc.style.visibility = "hidden";
|
||
|
RemoteDataCollectionDestn.style.visibility = "hidden";
|
||
|
|
||
|
tProgBarCounter = Math.ceil(g_iFileSize/c_MAXFILEXFERSIZE);
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// SendFileData: Sends currently open file to destination
|
||
|
//
|
||
|
function SendFileData()
|
||
|
{
|
||
|
var stream = null;
|
||
|
|
||
|
if ( fileHandle!= null )
|
||
|
{
|
||
|
//
|
||
|
// Enable display of file xfer status in the UI
|
||
|
//
|
||
|
|
||
|
FileSizeSrcId.style.visibility = "visible";
|
||
|
g_iSentCtr = 0;
|
||
|
|
||
|
//
|
||
|
// While there is data to send
|
||
|
//
|
||
|
|
||
|
tProgBarCounter = Math.ceil((file.size)/c_MAXFILEXFERSIZE);
|
||
|
|
||
|
while (!fileHandle.AtEndOfStream)
|
||
|
{
|
||
|
try
|
||
|
{
|
||
|
stream = null;
|
||
|
//
|
||
|
// Read File
|
||
|
//
|
||
|
stream = fileHandle.Read( c_MAXFILEXFERSIZE );
|
||
|
|
||
|
//
|
||
|
// Update UI
|
||
|
//
|
||
|
g_iSentCtr+= stream.length;
|
||
|
|
||
|
//
|
||
|
// Send data over the data channel
|
||
|
//
|
||
|
g_oDataChannel.SendChannelData( stream );
|
||
|
//alert("Sent data");
|
||
|
|
||
|
if ( tProgBarCounter > 0 )
|
||
|
{
|
||
|
ProgressBar2.Value = (100/tProgBarCounter);
|
||
|
tProgBarCounter--;
|
||
|
}
|
||
|
}
|
||
|
catch(error)
|
||
|
{
|
||
|
alert( L_ERRDATACHANNELSEND_MSG );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// Close the file
|
||
|
//
|
||
|
fileHandle.Close();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
alert( L_ERRINVALIDFILEHANDLE_MSG );
|
||
|
}
|
||
|
|
||
|
return;
|
||
|
}
|
||
|
|
||
|
//
|
||
|
// OpenTempFile: Opens the currently download temp file
|
||
|
//
|
||
|
function OpenTempFile()
|
||
|
{
|
||
|
if(null != tFileName )
|
||
|
{
|
||
|
window.open( tFileName );
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
alert( L_ERRTEMPFILENAME_MSG );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function onok()
|
||
|
{
|
||
|
if (radio1.checked)
|
||
|
{
|
||
|
OpenTempFile();
|
||
|
}
|
||
|
else
|
||
|
{
|
||
|
alert ( L_ERRNOTIMPL_MSG );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
function oncancel()
|
||
|
{
|
||
|
alert ( L_ERRNOTIMPL_MSG );
|
||
|
}
|
||
|
|
||
|
</script>
|
||
|
|
||
|
|
||
|
<body id="RemoteDataCollectionBody" bgcolor="#ffffff" leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload=InitRemoteDataCollection()><!--
|
||
|
File Transfer Source
|
||
|
-->
|
||
|
<div id=RemoteDataCollectionSrc STYLE="LEFT: 50px; POSITION: absolute; TOP: 50px; VISIBILITY: hidden">
|
||
|
|
||
|
<table id="table1" width="495" border="1" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#ffffff" height="400">
|
||
|
<tr>
|
||
|
<td align="middle" bgcolor="#99ccff"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000"> Remote Data
|
||
|
Collection</font>
|
||
|
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td>
|
||
|
<table id="table2" border="0">
|
||
|
<tr>
|
||
|
<td>
|
||
|
<ol>
|
||
|
<LI>Click the <B>Browse</B> button to select the file that you want to transfer, or type the path to the file in the box below.<BR>
|
||
|
<center>
|
||
|
<nobr>
|
||
|
Attach File: <input name="attfile" type="file" LANGUAGE=javascript>
|
||
|
</nobr>
|
||
|
</center>
|
||
|
|
||
|
<p></p>
|
||
|
|
||
|
<LI>Click the <B>Send File</B> button to transfer the file.<BR>
|
||
|
The transfer of an attached file may require 30 seconds to up to 10 minutes.<BR>
|
||
|
|
||
|
<center>
|
||
|
<input type="button" id="btnSendFileId" value="Send File" style="HEIGHT: 24px; WIDTH: 100px" onclick=onSend()></button>
|
||
|
</center></LI>
|
||
|
</ol>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td>
|
||
|
<div id="FileSizeSrcId" align="center" style="visibility: hidden">
|
||
|
|
||
|
<OBJECT classid=clsid:0713E8D2-850A-101B-AFC0-4210102A8DA7 id=ProgressBar2
|
||
|
style="HEIGHT: 25px; LEFT: 173px; TOP: 2px; WIDTH: 144px" VIEWASTEXT>
|
||
|
<PARAM NAME="_ExtentX" VALUE="3810">
|
||
|
<PARAM NAME="_ExtentY" VALUE="661">
|
||
|
<PARAM NAME="_Version" VALUE="327682">
|
||
|
<PARAM NAME="BorderStyle" VALUE="0">
|
||
|
<PARAM NAME="Appearance" VALUE="1">
|
||
|
<PARAM NAME="MousePointer" VALUE="0">
|
||
|
<PARAM NAME="Enabled" VALUE="1">
|
||
|
<PARAM NAME="OLEDropMode" VALUE="0">
|
||
|
<PARAM NAME="Min" VALUE="0">
|
||
|
<PARAM NAME="Max" VALUE="100">
|
||
|
</OBJECT>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table> <!-- End of table2 -->
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
|
||
|
</div><!-- End of RemoteDataCollectionSrc div --><!--
|
||
|
File Transfer Destination
|
||
|
-->
|
||
|
<div id=RemoteDataCollectionDestn STYLE="LEFT: 50px; POSITION: absolute; TOP: 50px; VISIBILITY: hidden">
|
||
|
|
||
|
<table width="495" border="1" cellspacing="0" cellpadding="0" bordercolorlight="#000000" bordercolordark="#ffffff" height="400">
|
||
|
<tr>
|
||
|
<td align="middle" bgcolor="#99ccff"><font face="Verdana, Arial, Helvetica, sans-serif" color="#000000"> Remote Data
|
||
|
Collection </font>
|
||
|
</td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="middle">
|
||
|
<table border="0">
|
||
|
<tr>
|
||
|
<td align="middle"> Receiving File: <div id="FileNameId"> </div> </td>
|
||
|
</tr>
|
||
|
|
||
|
<tr>
|
||
|
<td align="middle">
|
||
|
<div id="FileSizeDestnId">
|
||
|
<OBJECT classid=clsid:0713E8D2-850A-101B-AFC0-4210102A8DA7 id=ProgressBar3
|
||
|
style="HEIGHT: 26px; LEFT: 171px; TOP: -3px; WIDTH: 148px" VIEWASTEXT>
|
||
|
<PARAM NAME="_ExtentX" VALUE="3916">
|
||
|
<PARAM NAME="_ExtentY" VALUE="688">
|
||
|
<PARAM NAME="_Version" VALUE="327682">
|
||
|
<PARAM NAME="BorderStyle" VALUE="0">
|
||
|
<PARAM NAME="Appearance" VALUE="1">
|
||
|
<PARAM NAME="MousePointer" VALUE="0">
|
||
|
<PARAM NAME="Enabled" VALUE="1">
|
||
|
<PARAM NAME="OLEDropMode" VALUE="0">
|
||
|
<PARAM NAME="Min" VALUE="0">
|
||
|
<PARAM NAME="Max" VALUE="100">
|
||
|
</OBJECT>
|
||
|
</div>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</td>
|
||
|
</tr>
|
||
|
</table>
|
||
|
</div><!-- End of RemoteDataCollectionDestn div -->
|
||
|
|
||
|
|
||
|
</body>
|
||
|
</html>
|