|
Server : Apache/2.4.62 System : FreeBSD fbsdweb2.web.rcn.net 14.1-RELEASE FreeBSD 14.1-RELEASE releng/14.1-n267679-10e31f0946d8 GENERIC amd64 User : www ( 80) PHP Version : 8.3.8 Disable Function : NONE Directory : /domains/efusion1/dwzMail/ |
Upload File : |
<!--#include file="Foldername.asp"-->
<!--#include file="TempFolder.asp"-->
<%
Const IndexFieldName = "17"
Const adTypeBinary = 1
Const adTypeText = 2
Const xfsCompleted = &H0 '0 Form was successfully processed.
Const xfsNotPost = &H1 '1 Request method is NOT post
Const xfsZeroLength = &H2 '2 Zero length request (there are no data in a source form)
Const xfsInProgress = &H3 '3 Form is in a middle of process.
Const xfsNone = &H5 '5 Initial form state
Const xfsError = &HA '10
Const xfsNoBoundary = &HB '11 Boundary of multipart/form-data is not specified.
Const xfsUnknownType = &HC '12 Unknown source form (Content-type must be multipart/form-data)
'Const xfsSizeLimit = &HD '13 Form size exceeds allowed limit (ScriptUtils.ASPForm.SizeLimit)
Const xfsTimeOut = &HE '14 Upload time exceeds allowed limit (ScriptUtils.ASPForm.ReadTimeout)
Const xfsNoConnected = &HF '15 Client was disconnected before upload was completted.
Const xfsErrorBinaryRead = &H10 '16 Unexpected error from Request.BinaryRead method (ASP error).
Dim ErrForm, UploadError
ErrForm = ""
UploadError = ""
Class ASPForm
Private m_ReadTime
Public ChunkReadSize, BytesRead, TotalBytes, UploadID
Public TempPath, MaxMemoryStorage, CharSet, FormType, SourceData, ReadTimeout
public Default Property Get Item(Key)
Set Item = m_Items.Item(Key)
End Property
public Property Get Items
Read
Set Items = m_Items
End Property
public Property Get Files
Read
Set Files = m_Items.Files
End Property
public Property Get Texts
Read
Set Texts = m_Items.Texts
End Property
public Property Get NewUploadID
Randomize
NewUploadID = clng(rnd * &H7FFFFFFF)
End Property
Public Property Get ReadTime
if isempty(m_ReadTime) then
if not isempty(StartUploadTime) then ReadTime = Clng((Now() - StartUploadTime) * 86400 * 1000)
else
ReadTime = m_ReadTime
end if
End Property
Public Property Get State
if m_State = xfsNone Then Read
State = m_State
End Property
Private Function CheckRequestProperties
'The function getAdoVersion is in the
'file UploadAdvanced.asp
adoVersion = getAdoVersion()
if adoVersion < 2.5 then
Response.Write "<b>You don't have ADO 2.5 installed on the server.</b><br/>"
Response.Write "The Asp Upload extension needs ADO 2.5 or greater to run properly.<br/>"
Response.Write "You can download the latest MDAC (ADO is included) from <a href=""www.microsoft.com/data"">www.microsoft.com/data</a><br/>"
Response.End
end if
If UCase(Request.ServerVariables("REQUEST_METHOD")) <> "POST" Then
ErrForm = "Actual value: " & Request.ServerVariables("REQUEST_METHOD")
ErrForm = ErrForm & " - Allowed value: POST"
m_State = xfsNotPost
Exit Function
End If
Dim CT
CT = Request.ServerVariables("HTTP_Content_Type")
if len(CT) = 0 then CT = Request.ServerVariables("CONTENT_TYPE")
If LCase(Left(CT, 19)) <> "multipart/form-data" Then
ErrForm = "Actual value: " & Left(CT, 19)
ErrForm = ErrForm & " - Allowed value: multipart/form-data"
m_State = xfsUnknownType
Exit Function
End If
Dim PosB
PosB = InStr(LCase(CT), "boundary=")
If PosB = 0 Then
m_State = xfsNoBoundary
Exit Function
End If
If PosB > 0 Then Boundary = Mid(CT, PosB + 9)
PosB = InStr(LCase(CT), "boundary=")
If PosB > 0 then
PosB = InStr(Boundary, ",")
If PosB > 0 Then Boundary = Left(Boundary, PosB - 1)
end if
On Error Resume next
TotalBytes = Request.TotalBytes
If Err<>0 Then
TotalBytes = CLng(Request.ServerVariables("HTTP_Content_Length"))
if len(TotalBytes)=0 then TotalBytes = CLng(Request.ServerVariables("CONTENT_LENGTH"))
End If
If TotalBytes = 0 then
m_State = xfsZeroLength
Exit Function
End If
CheckRequestProperties = True
End Function
Public Sub Read()
if m_State <> xfsNone Then Exit Sub
If Not CheckRequestProperties Then
WriteProgressInfo
Exit Sub
End If
if isempty(bSourceData) then Set bSourceData = server.createobject("ADODB.Stream")
bSourceData.Open
bSourceData.Type = 1
Dim DataPart, PartSize
BytesRead = 0
StartUploadTime = Now
Do While BytesRead < TotalBytes
PartSize = ChunkReadSize
if PartSize + BytesRead > TotalBytes Then PartSize = TotalBytes - BytesRead
DataPart = Request.BinaryRead(PartSize)
BytesRead = BytesRead + PartSize
bSourceData.Write DataPart
WriteProgressInfo
If Not Response.IsClientConnected Then
m_State = xfsNoConnected
Exit Sub
End If
Loop
m_State = xfsCompleted
ParseFormData
End Sub
Private Sub ParseFormData
Dim Binary
bSourceData.Position = 0
Binary = bSourceData.Read
m_Items.mpSeparateFields Binary, Boundary
End Sub
Public Function getForm(FormID)
if isempty(ProgressFile.UploadID) Then
ProgressFile.UploadID = FormID
End If
Dim ProgressData
ProgressData = ProgressFile
if len(ProgressData) > 0 then
if ProgressData = "DONE" Then
ProgressFile.Done
Err.Raise 1, "getForm", "Upload was done"
Else
ProgressData = Split (ProgressData, vbCrLf)
if ubound(ProgressData) = 3 Then
m_State = clng(ProgressData(0))
TotalBytes = clng(ProgressData(1))
BytesRead = clng(ProgressData(2))
m_ReadTime = clng(ProgressData(3))
End If
End If
end if
Set getForm = Me
End Function
Private Sub WriteProgressInfo
If UploadID > 0 Then
if isempty(ProgressFile.UploadID) Then
ProgressFile.UploadID = UploadID
End If
Dim ProgressData, FileName
ProgressData = m_State & vbCrLf & TotalBytes & vbCrLf & BytesRead & vbCrLf & ReadTime
ProgressFile.Contents = ProgressData
End If
End Sub
Private Sub Class_Initialize()
ChunkReadSize = &H10000/2 '32 kB
BytesRead = 0
m_State = xfsNone
TotalBytes = Request.TotalBytes
Set ProgressFile = New cProgressFile
Set m_Items = New cFormFields
End Sub
Private Sub Class_Terminate()
If UploadID > 0 Then
ProgressFile.Contents = "DONE" & vbCrLf & TotalBytes & vbCrLf & BytesRead & vbCrLf & ReadTime
End If
End Sub
Public Boundary
Private m_Items
Private m_State
Private bSourceData
Private StartUploadTime , TempFiolder
Private ProgressFile
End Class
Class cFormFields
Dim m_Keys()
Dim m_Items()
Dim m_NomeFile()
Dim m_Count
Public Default Property Get Item(ByVal Key)
If vartype(Key) = vbInteger or vartype(Key) = vbLong then
if Key<1 or Key>m_Count Then Err.raise "Index out of bounds"
Set Item = m_Items(Key-1)
Exit Property
end if
Dim Count
Count = ItemCount(Key)
Key = LCase(Key)
If Count > 0 then
If Count>1 Then
Dim OutItem, ItemCounter
Set OutItem = New cFormFields
ItemCounter = 0
For ItemCounter = 0 To Ubound(m_Keys)
If LCase(m_Keys(ItemCounter)) = Key then OutItem.Add Key, m_Items(ItemCounter)
Next
Set Item = OutItem
Else
For ItemCounter = 0 To Ubound(m_Keys)
If LCase(m_Keys(ItemCounter)) = Key then exit for
Next
if isobject (m_Items(ItemCounter)) then
Set Item = m_Items(ItemCounter)
else
Item = m_Items(ItemCounter)
end if
End If
Else
Set Item = New cFormField
End if
End Property
Public Property Get MultiItem(ByVal Key)
Dim Out: Set Out = New cFormFields
Dim I, vItem
Dim Count
Count = ItemCount(Key)
if Count = 1 then
Out.Add Key, Item(Key)
elseif Count > 1 then
For Each I In Item(Key).Items
Out.Add Key, I
Next
End If
Set MultiItem = Out
End Property
Public Property Get Value
Dim I, V
For Each I in m_Items
V = V & ", " & I
Next
V = Mid(V, 3)
Value = V
End Property
Public Property Get xA_NewEnum
Set xA_NewEnum = m_Items
End Property
Public Property Get Items()
Items = m_Items
End Property
Public Property Get Keys()
Keys = m_Keys
End Property
Public Property Get FileNames()
FileNames = m_NomeFile
End Property
Public Property Get ValueByName(str)
cong = ""
Ris = ""
keysCount = -1
err.clear
on error resume next
keysCount = Ubound(m_Keys)
on error goto 0
For ItemCounter = 0 To keysCount
if ucase(str) = ucase(m_Keys(ItemCounter)) then
Ris = Ris & cong & m_Items(ItemCounter)
cong = ","
end if
Next
ValueByName = Ris
End Property
public Property Get getFilesCount
Dim cItem, OutItem, ItemCounter, Num
Set OutItem = New cFormFields
ItemCounter = 0
Num = 0
if m_Count > 0 then
For ItemCounter = 0 To Ubound(m_Keys)
Set cItem = m_Items(ItemCounter)
if cItem.IsFile then
Num = Num + 1
end if
Next
End If
getFilesCount = Num
End Property
public Property Get getFileNameById(x)
Dim cItem, OutItem, ItemCounter, Num, Ris
Ris = ""
Set OutItem = New cFormFields
ItemCounter = 0
if m_Count > 0 then
For ItemCounter = 0 To Ubound(m_Keys)
Set cItem = m_Items(ItemCounter)
if cItem.IsFile then
Num = Num + 1
if Num = x then
Ris = RG_RemoveSpecialChar(m_NomeFile(ItemCounter))
exit for
end if
end if
Next
End If
getFileNameById = Ris
End Property
public Property Get Files
Dim cItem, OutItem, ItemCounter
Set OutItem = New cFormFields
ItemCounter = 0
if m_Count > 0 then
For ItemCounter = 0 To Ubound(m_Keys)
Set cItem = m_Items(ItemCounter)
if cItem.IsFile then
OutItem.Add m_Keys(ItemCounter), m_Items(ItemCounter), m_NomeFile(ItemCounter)
end if
Next
End If
Set Files = OutItem
End Property
Public Property Get Texts
Dim cItem, OutItem, ItemCounter
Set OutItem = New cFormFields
ItemCounter = 0
For ItemCounter = 0 To Ubound(m_Keys)
Set cItem = m_Items(ItemCounter)
if Not cItem.IsFile then
OutItem.Add m_Keys(ItemCounter), m_Items(ItemCounter),""
end if
Next
Set Texts = OutItem
End Property
Public Sub Save()
Dim Item
Dim UploadedSize
UploadedSize = 0
if TotalFileSize = "" then
TotalFileSize = 0
else
TotalFileSize = clng(TotalFileSize)
end if
if TotalFileSize <> 0 then
For Each Item In m_Items
If Item.isFile Then
UploadedSize = UploadedSize + cdbl(Item.Length)
End If
Next
end if
dim FileSave
FileSave = true
if UploadType = "AdvancedMail" and NoSendFileExceed = "1" then
For Each Item In m_Items
If Item.isFile Then
'response.write "-i " & Item.Length & "<br>"
'response.write "-s " & GetValByName("FileSize",Item.FieldName) & "<br>"
if not RG_VerifyLen(Item.Length,GetValByName("FileSize",Item.FieldName)) then
FileSave = false
UploadMailError = "Files not send - One or more files exceed size limit"
exit for
end if
End If
Next
end if
if UploadType = "AdvancedMail" and NoSendFileExceed = "1" and TotalFileSize <> 0 and FileSave then
if not RG_VerifyLen(UploadedSize, TotalFileSize) then
FileSave = false
UploadMailError = "Files not send - Exceed total size limit"
end if
end if
'response.write "-" & UploadType & "<br>"
'response.write "-" & NoSendFileExceed & "<br>"
'response.write "-" & UploadMailError & "<br>"
'response.write "-" & UploadedSize & "<br>"
'response.write "-" & TotalFileSize & "<br>"
'response.End()
if FileSave then
if TotalFileSize = 0 or UploadedSize <= (cdbl(TotalFileSize)*1000) then
For Each Item In m_Items
If Item.isFile Then
Item.Save
End If
Next
else
UploadError = round(UploadedSize / 1000)
end if
end if
End Sub
Public Sub DataBaseUpdate()
if RG_editQueryTmp<>"" then
RG_editQueryTmp = ", " & RG_editQueryTmp
end if
RG_fields = Split(RG_fieldsStr, "|")
RG_columns = Split(RG_columnsStr, "|")
For RG_i = LBound(RG_fields) To UBound(RG_fields) Step 2
RG_fields(RG_i+1) = CStr(UploadFormRequest(RG_fields(RG_i)))
Next
RG_editQuery = "update " & verFieldTableName(RG_editTable) & " set "
For RG_i = LBound(RG_fields) To UBound(RG_fields) Step 2
RG_formVal = RG_fields(RG_i+1)
RG_typeArray = Split(RG_columns(RG_i+1),",")
RG_delim = RG_typeArray(0)
If (RG_delim = "none") Then RG_delim = ""
RG_altVal = RG_typeArray(1)
If (RG_altVal = "none") Then RG_altVal = ""
RG_emptyVal = RG_typeArray(2)
If (RG_emptyVal = "none") Then RG_emptyVal = ""
If (RG_formVal = "") Then
RG_formVal = RG_emptyVal
Else
If (RG_altVal <> "") Then
RG_formVal = RG_altVal
ElseIf (RG_delim = "'") Then
RG_formVal = "'" & Replace(RG_formVal,"'","''") & "'"
Elseif (RG_delim = "d") Then
RG_formVal = FormatDateForMySql(RG_formVal)
Else
RG_formVal = RG_delim + RG_formVal + RG_delim
End If
End If
If (RG_i <> LBound(RG_fields)) Then
RG_editQuery = RG_editQuery & ","
End If
RG_editQuery = RG_editQuery & verFieldTableName(RG_columns(RG_i)) & " = " & RG_formVal
Next
RG_editQuery = RG_editQuery & RG_editQueryTmp & " where " & verFieldTableName(RG_editColumn) & " = " & UploadFormRequest("RG_recordId")
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.Open RG_Connection
on error resume next
Conn.execute (RG_editQuery)
if err.number<>0 then
FirstError = err.Description
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[",""),"]","")
Conn.execute (RG_editQuery)
if err.number<>0 then
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[","`"),"]","`")
Conn.execute (RG_editQuery)
if err.number<>0 then
response.write "I find an error in the sql:<br>" & replace(replace(RG_editQuery,"`",""),"`","") & "<br>" & "I find this error: " & FirstError
response.end
end if
end if
end if
on error goto 0
'DeleteExistingFiles
for x=0 to MaxFieldNumber
if ParamVal(right("00" & cstr(x),3) & "14") <> "" then
if UploadFormRequest(ParamVal(right("00" & cstr(x),3) & "14")) <> "" and CStr(ParamVal(right("00" & cstr(x),3) & "10")) <> "" then
SQL = "SELECT " & verFieldTableName(CStr(ParamVal(right("00" & cstr(x),3) & "10"))) & " FROM " & verFieldTableName(RG_editTable) & " where " & verFieldTableName(RG_editColumn) & " = " & UploadFormRequest("RG_recordId")
Set RG_Rec = Server.CreateObject("ADODB.RecordSet")
RG_Rec.open SQL,Conn
RG_FileDel = RG_Rec(CStr(ParamVal(right("00" & cstr(x),3) & "10")))
RG_Rec.close
SQL = "UPDATE " & verFieldTableName(RG_editTable) & " SET " & verFieldTableName(CStr(ParamVal(right("00" & cstr(x),3) & "10"))) & " = Null where " & verFieldTableName(RG_editColumn) & " = " & UploadFormRequest("RG_recordId")
Conn.execute(SQL)
set RG_Rec = nothing
set RG_FS = server.CreateObject("Scripting.FileSystemObject")
if CStr(RG_FileDel & "") <> "" then
if instr(RG_FileDel,":") > 0 then
if RG_FS.fileExists(RG_FileDel) then
RG_FS.DeleteFile(RG_FileDel)
DeleteThumbOnUpdate RG_FileDel,ParamVal(right("00" & cstr(x),3) & IndexFieldName)
end if
else
if RG_FS.fileExists(server.MapPath(RG_FileDel)) then
RG_FS.DeleteFile(server.MapPath(RG_FileDel))
DeleteThumbOnUpdate server.MapPath(RG_FileDel),ParamVal(right("00" & cstr(x),3) & IndexFieldName)
end if
end if
end if
set RG_FS = nothing
end if
end if
next
Conn.close
Set Conn = nothing
end sub
Public Sub DataBaseInsert()
RG_fields = Split(RG_fieldsStr, "|")
RG_columns = Split(RG_columnsStr, "|")
For RG_i = LBound(RG_fields) To UBound(RG_fields) Step 2
RG_fields(RG_i+1) = CStr(UploadFormRequest(RG_fields(RG_i)))
Next
RG_tableValues = ""
RG_dbValues = ""
For RG_i = LBound(RG_fields) To UBound(RG_fields) Step 2
RG_formVal = RG_fields(RG_i+1)
RG_typeArray = Split(RG_columns(RG_i+1),",")
RG_delim = RG_typeArray(0)
If (RG_delim = "none") Then RG_delim = ""
RG_altVal = RG_typeArray(1)
If (RG_altVal = "none") Then RG_altVal = ""
RG_emptyVal = RG_typeArray(2)
If (RG_emptyVal = "none") Then RG_emptyVal = ""
If (RG_formVal = "") Then
RG_formVal = RG_emptyVal
Else
If (RG_altVal <> "") Then
RG_formVal = RG_altVal
ElseIf (RG_delim = "'") Then
RG_formVal = "'" & Replace(RG_formVal,"'","''") & "'"
Elseif (RG_delim = "d") Then
RG_formVal = FormatDateForMySql(RG_formVal)
Else
RG_formVal = RG_delim + RG_formVal + RG_delim
End If
End If
If (RG_i <> LBound(RG_fields)) Then
RG_tableValues = RG_tableValues & ","
RG_dbValues = RG_dbValues & ","
End If
RG_tableValues = RG_tableValues & verFieldTableName(RG_columns(RG_i))
RG_dbValues = RG_dbValues & RG_formVal
Next
Set Conn = Server.CreateObject("AdoDb.Connection")
Conn.Open RG_Connection
if isSingleRecord() then
RG_tableValuesTmp = ""
RG_dbValuesTmp = ""
cong = ","
for J=1 to QtyRecord
if tmpField_Name(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Name(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Name(J)
end if
if tmpField_Size(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Size(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Size(J)
end if
if tmpField_Thumb(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Thumb(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Thumb(J)
end if
next
RG_editQuery = "insert into " & verFieldTableName(RG_editTable) & " (" & RG_tableValues & RG_tableValuesTmp & ") values (" & RG_dbValues & RG_dbValuesTmp & ")"
'response.write RG_editQuery
'response.End()
on error resume next
Conn.execute (RG_editQuery)
if err.number<>0 then
FirstError = err.Description
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[",""),"]","")
Conn.execute (RG_editQuery)
if err.number<>0 then
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[","`"),"]","`")
Conn.execute (RG_editQuery)
if err.number<>0 then
response.write "I find an error in the sql:<br>" & replace(replace(RG_editQuery,"`",""),"`","") & "<br>" & "I find this error: " & FirstError
response.end
end if
end if
end if
on error goto 0
else
for J=1 to QtyRecord
RG_tableValuesTmp = ""
RG_dbValuesTmp = ""
cong = ","
if tmpField_Name(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Name(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Name(J)
end if
if tmpField_Size(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Size(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Size(J)
end if
if tmpField_Thumb(J)<>"" then
RG_tableValuesTmp = RG_tableValuesTmp & cong & tmpField_Thumb(J)
RG_dbValuesTmp = RG_dbValuesTmp & cong & tmpValue_Thumb(J)
end if
RG_editQuery = "insert into " & verFieldTableName(RG_editTable) & " (" & RG_tableValues & RG_tableValuesTmp & ") values (" & RG_dbValues & RG_dbValuesTmp & ")"
on error resume next
Conn.execute (RG_editQuery)
if err.number<>0 then
FirstError = err.Description
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[",""),"]","")
Conn.execute (RG_editQuery)
if err.number<>0 then
err.clear
RG_editQuery = replace(replace(RG_editQuery,"[","`"),"]","`")
Conn.execute (RG_editQuery)
if err.number<>0 then
response.write "I find an error in the sql:<br>" & replace(replace(RG_editQuery,"`",""),"`","") & "<br>" & "I find this error: " & FirstError
response.end
end if
end if
end if
on error goto 0
next
end if
Conn.close
Set Conn = nothing
End Sub
Public Property Get ItemCount(ByVal Key)
Dim cKey, Counter
Counter = 0
Key = LCase(Key)
For Each cKey In m_Keys
If LCase(cKey) = Key then Counter = Counter + 1
Next
ItemCount = Counter
End Property
Public Property Get Count()
Count = m_Count
End Property
Public Sub Add(byval Key, Item, FName)
Key = "" & Key
ReDim Preserve m_Items(m_Count)
ReDim Preserve m_Keys(m_Count)
ReDim Preserve m_NomeFile(m_Count)
m_Keys(m_Count) = Key
Set m_Items(m_Count) = Item
m_NomeFile(m_Count) = FName
m_Count = m_Count + 1
End Sub
Private Sub Class_Initialize()
Dim vHelp()
On Error Resume Next
m_Items = vHelp
m_Keys = vHelp
m_NomeFile = vHelp
m_Count = 0
End Sub
Public Sub mpSeparateFields(Binary, ByVal Boundary)
Dim PosOpenBoundary, PosCloseBoundary, PosEndOfHeader, isLastBoundary
Boundary = "--" & Boundary
Boundary = StringToBinary(Boundary)
PosOpenBoundary = InStrB(Binary, Boundary)
PosCloseBoundary = InStrB(PosOpenBoundary + LenB(Boundary), Binary, Boundary, 0)
Do While (PosOpenBoundary > 0 And PosCloseBoundary > 0 And Not isLastBoundary)
Dim HeaderContent, bFieldContent
Dim Content_Disposition, FormFieldName, SourceFileName, Content_Type
Dim TwoCharsAfterEndBoundary
PosEndOfHeader = InStrB(PosOpenBoundary + Len(Boundary), Binary, StringToBinary(vbCrLf + vbCrLf))
HeaderContent = MidB(Binary, PosOpenBoundary + LenB(Boundary) + 2, PosEndOfHeader - PosOpenBoundary - LenB(Boundary) - 2)
bFieldContent = MidB(Binary, (PosEndOfHeader + 4), PosCloseBoundary - (PosEndOfHeader + 4) - 2)
GetHeadFields BinaryToString(HeaderContent), FormFieldName, SourceFileName, Content_Disposition, Content_Type
Dim Field
Set Field = New cFormField
Field.ByteArray = MultiByteToBinary(bFieldContent)
Field.Name = FormFieldName
Field.ContentDisposition = Content_Disposition
if not isempty(SourceFileName) then
Field.FilePath = SourceFileName
Field.FileName = GetFileName(SourceFileName)
End If
Field.ContentType = Content_Type
Add FormFieldName, Field, GetFileName(SourceFileName)
TwoCharsAfterEndBoundary = BinaryToString(MidB(Binary, PosCloseBoundary + LenB(Boundary), 2))
isLastBoundary = TwoCharsAfterEndBoundary = "--"
If Not isLastBoundary Then
PosOpenBoundary = PosCloseBoundary
PosCloseBoundary = InStrB(PosOpenBoundary + LenB(Boundary), Binary, Boundary)
End If
Loop
End Sub
End Class
Class cProgressFile
Private fs
'Public TempFolder
Public m_UploadID
Public TempFileName
Public Default Property Get Contents()
Contents = GetFile(TempFileName)
End Property
Public Property Let Contents(inContents)
WriteFile TempFileName, inContents
End Property
Public Sub Done
'FS.DeleteFile TempFileName
End Sub
Public Property Get UploadID()
UploadID = m_UploadID
End Property
Public Property Let UploadID(inUploadID)
if isempty(FS) then Set fs = server.CreateObject("Scripting.FileSystemObject")
'TempFolder = fs.GetSpecialFolder(2)
m_UploadID = inUploadID
TempFileName = getTempFolder() & "\pu" & m_UploadID & ".~tmp"
Dim DateLastModified
on error resume next
DateLastModified = fs.GetFile(TempFileName).DateLastModified
on error goto 0
if isempty(DateLastModified) then
elseif Now-DateLastModified>1 Then
on error resume next
FS.DeleteFile TempFileName
on error goto 0
end if
End Property
Private Function GetFile(Byref FileName)
Dim InStream
On Error Resume Next
Set InStream = fs.OpenTextFile(FileName, 1)
GetFile = InStream.ReadAll
On Error Goto 0
End Function
Private Function WriteFile(Byref FileName, Byref Contents)
Dim OutStream
On Error Resume Next
Set OutStream = fs.OpenTextFile(FileName, 2, True)
OutStream.Write Contents
End Function
Private Sub Class_Initialize()
End Sub
End Class
Class cFormField
Public ContentDisposition, ContentType, FileName, FilePath, Name
Public ByteArray
Public CharSet, HexString, InProgress, SourceLength, RAWHeader, Index, ContentTransferEncoding
Public Default Property Get String()
String = BinaryToString(ByteArray)
End Property
Public Property Get IsFile()
if len(FileName) = 0 then
IsFile = false
else
IsFile = true
end if
End Property
Public Property Get FieldName()
FieldName = Name
End Property
Public Property Get Length()
Length = LenB(ByteArray)
End Property
Public Property Get Value()
Set Value = Me
End Property
Public Sub Save()
if IsFile Then
StatusFile = "0"
NewFileName = "0"
VerLen = RG_VerifyLen(Length,GetValByName("FileSize",Name))
VerExt = RG_VerifyExt(RG_RemoveSpecialChar(FileName),GetValByName("AllowedExtension",Name))
if VerLen and VerExt then
if CStr(GetValByName("FolderType",Name)) = "1" then
RG_Path = server.MapPath(CStr(GetValByName("UploadFolder",Name)))
if right(RG_Path,1)<>"\" then
RG_Path = RG_Path + "\"
end if
elseif CStr(GetValByName("FolderType",Name)) = "2" then
RG_Path = CStr(GetValByName("UploadFolder",Name))
if right(RG_Path,1)<>"\" then
RG_Path = RG_Path + "\"
end if
else
RG_Path = GetFolderName(CStr(Name))
if right(RG_Path,1)<>"\" then
RG_Path = RG_Path + "\"
end if
end if
if CStr(GetValByName("FileName",Name))<>"" and not isnull(CStr(GetValByName("FileName",Name))) or CStr(GetValByName("FileNameFormula",Name))="-1" then
if CStr(GetValByName("FileNameFormula",Name))="-1" then
RG_Name = myGetFileName(Name) & mid(FileName,instrRev(FileName,"."))
else
RG_Name = CStr(GetValByName("FileName",Name)) & mid(FileName,instrRev(FileName,"."))
end if
else
RG_Name = RG_RemoveSpecialChar(FileName)
end if
if UploadType="Update" then
setValByName "DeleteExistFile", Name, ""
if CStr(GetValByName("DelExist",Name)) = "1" and CStr(GetValByName("FieldExistField",Name)) <> "" and not isnull(CStr(GetValByName("FieldExistField",Name))) then
SQL = "SELECT " & verFieldTableName(CStr(CStr(GetValByName("FieldExistField",Name)))) & " FROM " & verFieldTableName(RG_editTable) & " where " & verFieldTableName(RG_editColumn) & " = " & UploadFormRequest("RG_recordId")
Set Conn = Server.CreateObject("AdoDb.Connection")
Set RG_Rec = Server.CreateObject("ADODB.RecordSet")
Conn.Open RG_Connection
RG_Rec.open SQL,Conn
RG_FileDel = RG_Rec(CStr(GetValByName("FieldExistField",Name)))
RG_Rec.close
SQL = "UPDATE " & verFieldTableName(RG_editTable) & " SET " & verFieldTableName(CStr(GetValByName("FieldExistField",Name))) & " = Null where " & verFieldTableName(RG_editColumn) & " = " & UploadFormRequest("RG_recordId")
Conn.execute(SQL)
Conn.close
set Conn = nothing
set RG_Rec = nothing
set RG_FS = server.CreateObject("Scripting.FileSystemObject")
if CStr(RG_FileDel & "") <> "" then
if instr(RG_FileDel,":") > 0 then
if RG_FS.fileExists(RG_FileDel) then
RG_FS.DeleteFile(RG_FileDel)
end if
DeleteThumbOnUpdate RG_FileDel,Name
else
if RG_FS.fileExists(server.MapPath(RG_FileDel)) then
RG_FS.DeleteFile(server.MapPath(RG_FileDel))
DeleteThumbOnUpdate server.MapPath(RG_FileDel),Name
end if
end if
end if
set RG_FS = nothing
end if
elseif UploadType="AdvancedMail" and isAdvMailUpdate="-1" then
if CStr(GetValByName_Adv("DelExist",Name)) = "1" and CStr(GetValByName_Adv("FieldExistField",Name)) <> "" and not isnull(CStr(GetValByName_Adv("FieldExistField",Name))) then
SQL = "SELECT " & verFieldTableName(CStr(CStr(GetValByName_Adv("FieldExistField",Name)))) & " FROM " & verFieldTableName(getAdvMailPlugInParameter("AdvMail_editTable")) & " where " & verFieldTableName(getAdvMailPlugInParameter("AdvMail_editColumn")) & " = " & getAdvMailPlugInParameter("AdvMail_ColQuote") & UploadFormRequest("RG_recordId") & getAdvMailPlugInParameter("AdvMail_ColQuote")
Set Conn = Server.CreateObject("AdoDb.Connection")
Set RG_Rec = Server.CreateObject("ADODB.RecordSet")
Conn.Open getAdvMailPlugInParameter("AdvMail_editConnection")
RG_Rec.open SQL,Conn
RG_FileDel = RG_Rec(CStr(GetValByName_Adv("FieldExistField",Name)))
RG_Rec.close
SQL = "UPDATE " & verFieldTableName(getAdvMailPlugInParameter("AdvMail_editTable")) & " SET " & verFieldTableName(CStr(GetValByName_Adv("FieldExistField",Name))) & " = Null where " & verFieldTableName(getAdvMailPlugInParameter("AdvMail_editColumn")) & " = " & getAdvMailPlugInParameter("AdvMail_ColQuote") & UploadFormRequest("RG_recordId") & getAdvMailPlugInParameter("AdvMail_ColQuote")
Conn.execute(SQL)
Conn.close
set Conn = nothing
set RG_Rec = nothing
set RG_FS = server.CreateObject("Scripting.FileSystemObject")
if CStr(RG_FileDel & "") <> "" then
if instr(RG_FileDel,":") > 0 then
if RG_FS.fileExists(RG_FileDel) then
RG_FS.DeleteFile(RG_FileDel)
end if
else
if RG_FS.fileExists(server.MapPath(RG_FileDel)) then
RG_FS.DeleteFile(server.MapPath(RG_FileDel))
end if
end if
end if
set RG_FS = nothing
end if
end if
RG_Save = 0
'********************
'
' gianluigi
'
'********************
dim RG_NewName,RG_ResizeComponent
RG_NewName = RG_Name
if GetValByNameResize("Resize",Name) = "-1" then
RG_ResizeComponent = getComponent()
select case RG_ResizeComponent
'case 10
'if lcase(right(RG_Name,5)) <> ".jpeg" and isAvailableImage(RG_Name, RG_ResizeComponent) then
' RG_NewName = left(RG_NewName,instrRev(RG_NewName,".")-1) & ".jpg"
' RG_Name = "image_" & session.SessionID & ".jpeg"
'end if
case 2,3,4,6
if lcase(right(RG_Name,4)) <> ".jpg" and isAvailableImage(RG_Name, RG_ResizeComponent) then
RG_NewName = left(RG_NewName,instrRev(RG_NewName,".")-1) & ".jpg"
RG_Name = "image_" & session.SessionID & mid(RG_Name,instrRev(RG_NewName,"."))
end if
end select
end if
set RG_FS = server.createObject( "Scripting.FileSystemObject")
if RG_FS.fileExists(RG_Path & RG_NewName) then
select case CStr(GetValByName("Conflict",Name))
case "0"
SaveAs RG_Path & RG_Name
RG_Save = -1
case "1"
RG_Num = -1
do while 1
RG_Num = RG_Num + 1
if RG_NewName = RG_Name then
RG_tmpName = left(RG_Name,instrRev(RG_Name,".")-1) & RG_Num & "." & mid(RG_Name,instrRev(RG_Name,".")+1)
else
RG_tmpName = left(RG_NewName,instrRev(RG_NewName,".")-1) & RG_Num & "." & mid(RG_NewName,instrRev(RG_NewName,".")+1)
end if
if not RG_FS.fileExists(RG_Path & RG_tmpName) then
if RG_NewName = RG_Name then
RG_newName = RG_tmpName
RG_Name = RG_tmpName
else
RG_newName = RG_tmpName
end if
NewFileName = "-1"
exit do
end if
loop
SaveAs RG_Path & RG_Name
RG_Save = -1
case "2"
StatusFile = "4"
end select
else
SaveAs RG_Path & RG_Name
RG_Save = -1
end if
'Resize
if RG_Save and GetValByNameResize("Resize",Name) = "-1" then
RG_Conflict = CStr(GetValByName("Conflict",Name))
select case RG_ResizeComponent
case 1
if resizeAspImage(RG_Path & RG_Name, Name, "0", RG_Path & RG_NewName) then
if lcase(right(RG_Name,4)) = "jpeg" then
RG_NewName = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
end if
RG_Name = RG_NewName
end if
case 2
if resizeAspJpeg(RG_Path & RG_Name, Name, "0", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
end if
case 3
if resizeAspSmartImage(RG_Path & RG_Name, Name, "0", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
end if
case 4
if resizeAspThumb(RG_Path & RG_Name, Name, "0", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
end if
case 5
resizeImgWriter RG_Path & RG_Name, Name, "0"
case 6
if resizeVije(RG_Path & RG_Name, Name, "0", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
end if
case 7
resizeGraphProc RG_Path & RG_Name, Name, "0"
case 8
resizeGraphMill RG_Path & RG_Name, Name, "0"
case 9
resizeChestySoftCOM RG_Path & RG_Name, Name, "0"
case 10
resizeChestySoftOCX RG_Path & RG_Name, Name, "0"
case 11
resizeXnView RG_Path & RG_Name, Name, "0"
case 12
resizeXnView193 RG_Path & RG_Name, Name, "0"
case 13
resizeAspNet RG_Path & RG_Name, Name, "0"
end select
end if
img_Ext = ""
if RG_Save and GetValByNameResize("Thumb",Name) = "-1" then
select case RG_ResizeComponent
case 1
if resizeAspImage(RG_Path & RG_Name, Name, "-1", RG_Path & RG_NewName) then
'if lcase(right(RG_Name,4)) = "jpeg" then
' RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
'end if
RG_Name = RG_NewName
'img_Ext = "jpg"
end if
case 2
if resizeAspJpeg(RG_Path & RG_Name, Name, "-1", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
img_Ext = "jpg"
end if
case 3
if resizeAspSmartImage(RG_Path & RG_Name, Name, "-1", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
img_Ext = "jpg"
end if
case 4
if resizeAspThumb(RG_Path & RG_Name, Name, "-1", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
imgExt = "jpg"
end if
case 5
resizeImgWriter RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 6
if resizeVije(RG_Path & RG_Name, Name, "-1", RG_Path & RG_NewName) then
'RG_Name = left(RG_Name,instrRev(RG_Name,".")) & "jpg"
RG_Name = RG_NewName
end if
img_Ext = "jpg"
case 7
resizeGraphProc RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 8
resizeGraphMill RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 9
resizeChestySoftCOM RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 10
resizeChestySoftOCX RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 11
resizeXnView RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 12
resizeXnView193 RG_Path & RG_Name, Name, "-1"
img_Ext = ""
case 13
resizeAspNet RG_Path & RG_Name, Name, "-1"
img_Ext = ""
end select
end if
if img_Ext = "" Then
img_Ext = lcase(mid(RG_Name,instrRev(RG_Name,".")+1))
end if
DW_ThumbName = getNewFileName(RG_Name, "-1", GetValByNameResize("Suffix",Name), img_Ext, GetValByNameResize("SuffixPosition",Name))
set RG_FS = nothing
if UploadType="Update" then
if RG_Save and GetValByName("FieldToSaveName",Name)<>"" then
if RG_editQueryTmp<>"" then
RG_Cong = ", "
end if
if CStr(GetValByName("SaveType",Name)) = "1" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveName",Name)) & " = '" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & RG_Name & "'"
elseif CStr(GetValByName("SaveType",Name)) = "2" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveName",Name)) & " = '" & RG_Path & RG_Name & "'"
else
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveName",Name)) & " = '" & RG_Name & "'"
end if
RG_Cong = ", "
end if
if RG_Save and GetValByName("FieldToSaveSize",Name)<>"" then
if right(GetValByName("FieldToSaveSize",Name),1)="S" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(left(GetValByName("FieldToSaveSize",Name),len(GetValByName("FieldToSaveSize",Name))-2)) & " = '" & getFileSize(RG_Path & RG_Name) & "'"
else
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(left(GetValByName("FieldToSaveSize",Name),len(GetValByName("FieldToSaveSize",Name))-2)) & " = " & getFileSize(RG_Path & RG_Name)
end if
RG_Cong = ", "
end if
if RG_Save and GetValByName("FieldToSaveThumb",Name)<>"" then
if RG_editQueryTmp<>"" then
RG_Cong = ", "
end if
if CStr(GetValByName("ThumbSaveType",Name)) = "1" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveThumb",Name)) & " = '" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & DW_ThumbName & "'"
elseif CStr(GetValByName("ThumbSaveType",Name)) = "2" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveThumb",Name)) & " = '" & RG_Path & DW_ThumbName & "'"
else
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName("FieldToSaveThumb",Name)) & " = '" & DW_ThumbName & "'"
end if
RG_Cong = ", "
end if
elseif UploadType="Insert" then
ActualIndex = QtyRecord
if RG_Save and GetValByName("FieldToSaveName",Name)<>"" then
QtyRecord = QtyRecord + 1
ReDim Preserve tmpField_Name(QtyRecord)
ReDim Preserve tmpValue_Name(QtyRecord)
ReDim Preserve tmpField_Size(QtyRecord)
ReDim Preserve tmpValue_Size(QtyRecord)
ReDim Preserve tmpField_Thumb(QtyRecord)
ReDim Preserve tmpValue_Thumb(QtyRecord)
tmpField_Name(QtyRecord) = verFieldTableName(GetValByName("FieldToSaveName",Name))
if CStr(GetValByName("SaveType",Name)) = "1" then
tmpValue_Name(QtyRecord) = "'" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & RG_Name & "'"
elseif CStr(GetValByName("SaveType",Name)) = "2" then
tmpValue_Name(QtyRecord) = "'" & RG_Path & RG_Name & "'"
else
tmpValue_Name(QtyRecord) = "'" & RG_Name & "'"
end if
if GetValByName("FieldToSaveThumb",Name) <> "" then
tmpField_Thumb(QtyRecord) = verFieldTableName(GetValByName("FieldToSaveThumb",Name))
if CStr(GetValByName("ThumbSaveType",Name)) = "1" then
tmpValue_Thumb(QtyRecord) = "'" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & DW_ThumbName & "'"
elseif CStr(GetValByName("SaveType",Name)) = "2" then
tmpValue_Thumb(QtyRecord) = "'" & RG_Path & DW_ThumbName & "'"
else
tmpValue_Thumb(QtyRecord) = "'" & DW_ThumbName & "'"
end if
end if
end if
if RG_Save and GetValByName("FieldToSaveSize",Name)<>"" then
if ActualIndex = QtyRecord then
QtyRecord = QtyRecord + 1
ReDim Preserve tmpField_Name(QtyRecord)
ReDim Preserve tmpValue_Name(QtyRecord)
ReDim Preserve tmpField_Size(QtyRecord)
ReDim Preserve tmpValue_Size(QtyRecord)
ReDim Preserve tmpField_Thumb(QtyRecord)
ReDim Preserve tmpValue_Thumb(QtyRecord)
end if
tmpField_Size(QtyRecord) = verFieldTableName(left(GetValByName("FieldToSaveSize",Name),len(GetValByName("FieldToSaveSize",Name))-2))
if right(GetValByName("FieldToSaveSize",Name),1)="S" then
tmpValue_Size(QtyRecord) = "'" & getFileSize(RG_Path & RG_Name) & "'"
else
tmpValue_Size(QtyRecord) = getFileSize(RG_Path & RG_Name)
end if
end if
elseif UploadType="AdvancedMail" and isAdvMailInsert="-1" then
ActualIndex = QtyRecord
if RG_Save and GetValByName_Adv("FieldToSaveName",Name)<>"" then
QtyRecord = QtyRecord + 1
ReDim Preserve tmpField_Name(QtyRecord)
ReDim Preserve tmpValue_Name(QtyRecord)
ReDim Preserve tmpField_Size(QtyRecord)
ReDim Preserve tmpValue_Size(QtyRecord)
ReDim Preserve tmpField_Thumb(QtyRecord)
ReDim Preserve tmpValue_Thumb(QtyRecord)
tmpField_Name(QtyRecord) = verFieldTableName(GetValByName_Adv("FieldToSaveName",Name))
if CStr(GetValByName_Adv("SaveType",Name)) = "1" then
tmpValue_Name(QtyRecord) = "'" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & RG_Name & "'"
elseif CStr(GetValByName_Adv("SaveType",Name)) = "2" then
tmpValue_Name(QtyRecord) = "'" & RG_Path & RG_Name & "'"
else
tmpValue_Name(QtyRecord) = "'" & RG_Name & "'"
end if
end if
if RG_Save and GetValByName_Adv("FieldToSaveSize",Name)<>"" then
if ActualIndex = QtyRecord then
QtyRecord = QtyRecord + 1
ReDim Preserve tmpField_Name(QtyRecord)
ReDim Preserve tmpValue_Name(QtyRecord)
ReDim Preserve tmpField_Size(QtyRecord)
ReDim Preserve tmpValue_Size(QtyRecord)
ReDim Preserve tmpField_Thumb(QtyRecord)
ReDim Preserve tmpValue_Thumb(QtyRecord)
end if
tmpField_Size(QtyRecord) = verFieldTableName(left(GetValByName_Adv("FieldToSaveSize",Name),len(GetValByName_Adv("FieldToSaveSize",Name))-2))
if right(GetValByName_Adv("FieldToSaveSize",Name),1)="S" then
tmpValue_Size(QtyRecord) = "'" & getFileSize(RG_Path & RG_Name) & "'"
else
tmpValue_Size(QtyRecord) = getFileSize(RG_Path & RG_Name)
end if
end if
elseif UploadType="AdvancedMail" and isAdvMailUpdate="-1" then
if RG_Save and GetValByName_Adv("FieldToSaveName",Name)<>"" then
if RG_editQueryTmp<>"" then
RG_Cong = ", "
end if
if CStr(GetValByName_Adv("SaveType",Name)) = "1" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName_Adv("FieldToSaveName",Name)) & " = '" & replace(replace(replace(RG_Path,"/","\"),server.MapPath("/"),"",1,1,1),"\","/") & RG_Name & "'"
elseif CStr(GetValByName_Adv("SaveType",Name)) = "2" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName_Adv("FieldToSaveName",Name)) & " = '" & RG_Path & RG_Name & "'"
else
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(GetValByName_Adv("FieldToSaveName",Name)) & " = '" & RG_Name & "'"
end if
RG_Cong = ", "
end if
if RG_Save and GetValByName_Adv("FieldToSaveSize",Name)<>"" then
if right(GetValByName_Adv("FieldToSaveSize",Name),1)="S" then
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(left(GetValByName_Adv("FieldToSaveSize",Name),len(GetValByName_Adv("FieldToSaveSize",Name))-2)) & " = '" & getFileSize(RG_Path & RG_Name) & "'"
else
RG_editQueryTmp = RG_editQueryTmp & RG_Cong & verFieldTableName(left(GetValByName_Adv("FieldToSaveSize",Name),len(GetValByName_Adv("FieldToSaveSize",Name))-2)) & " = " & getFileSize(RG_Path & RG_Name)
end if
RG_Cong = ", "
end if
end if
else
if not VerLen and not VerExt then
StatusFile = "3"
elseif VerLen and not VerExt then
StatusFile = "2"
elseif not VerLen and VerExt then
StatusFile = "1"
end if
end if
if RG_Name = "" then
RG_Name = FileName
end if
if StatusFile<>"0" then
FileMatch = "0"
end if
NumFile = NumFile + 1
UploadStatus = UploadStatus & "<input name=" & chr(34) & "FileName_" & NumFile & chr(34) & " type=" & chr(34) & "hidden" & chr(34) & " value=" & chr(34) & RG_Name & chr(34) & ">"
UploadStatus = UploadStatus & "<input name=" & chr(34) & "FileSize_" & NumFile & chr(34) & " type=" & chr(34) & "hidden" & chr(34) & " value=" & chr(34) & Length & chr(34) & ">"
UploadStatus = UploadStatus & "<input name=" & chr(34) & "FileStatus_" & NumFile & chr(34) & " type=" & chr(34) & "hidden" & chr(34) & " value=" & chr(34) & StatusFile & chr(34) & ">"
UploadStatus = UploadStatus & "<input name=" & chr(34) & "NewFileName_" & NumFile & chr(34) & " type=" & chr(34) & "hidden" & chr(34) & " value=" & chr(34) & NewFileName & chr(34) & ">"
End If
End Sub
Public Sub SaveAs(newFilePath)
if len(ByteArray)>0 then SaveBinaryData newFilePath, ByteArray
End Sub
End Class
'****************************
' *
' JavaScript Functions *
' *
'****************************
if ThisPage <> "Progress" then
%>
<script language="JavaScript">
var GoUpload
var isMAC = (navigator.userAgent.toLowerCase().indexOf("mac") != -1);
var isIE = document.all;
var isNS6 = (!document.all && document.getElementById ? true : false);
var isNS7 = (navigator.userAgent.toLowerCase().indexOf("netscape/7") != -1);
var dwz_SendForm = false
function ProgressBar(){
if(dwz_SendForm){
return true
}
GoUpload = true
var FileFind = false
var ListVal = "<%
if RG_Files <> "" then
response.write(trim(replace(left(RG_Files,instr(RG_Files,"@_@_@")-1),"\","/")))
end if
%>"
if(ListVal!=""){
var tmp = ListVal.split("@_@_@")
FieldListVal = tmp[0].split("|")
for(i=0;i<FieldListVal.length;i++){
FieldVal = FieldListVal[i].split(";")
var FileName = "file:///"+Dwz_findObj(FieldVal[<%=IndexFieldName%>]).value
if(FileName!="file:///"){
field = Dwz_findObj(FieldVal[<%=IndexFieldName%>])
if(field){
FileFind = true
VerifyFile(field, FieldVal[12], FieldVal[13], FieldVal[4], FieldVal[3])
}
}
}
}
if(!GoUpload){
alert("Upload Aborted")
return false
}
dimW = 350
dimH = 210
PosL = (screen.width-dimW)/2
PosT = (screen.height-dimH)/2
mailWin = ""
<%if ProgressMail<>"" then%>
ProgressURL = "<%=getProgressPath()%><%=dwzFolderName%>/FrameSetMail.asp?ProgressMailPage=<%=ProgressMail%>&SendMailID=<%=session.SessionID%>"
mailWin = window.open(ProgressURL,'progressMailBarPage','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+dimW+',height='+dimH+',top='+PosT+',left='+PosL)
<%end if%>
<%if ProgressBar<>"" then%>
if(FileFind){
ProgressURL = '<%=getProgressPath()%><%=dwzFolderName%>/FrameSet.asp?ProgressPage=<%=ProgressBar%>&UploadID=<%=UploadID%>'
var v = window.open(ProgressURL,'progressBarPage','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,width='+dimW+',height='+dimH+',top='+PosT+',left='+PosL)
}
<%end if%>
dwz_SendForm = true
setTimeout("dwzSendForm('<%=RG_formName%>')",500)
return false
}
function dwzSendForm(myForm){
//Verify if in the page
//there is my WYSIWYG Html Editor
/*
var oForm = null
el = document.getElementsByTagName("IFRAME")
for(x=0;x<el.length;x++){
iframe = el[x].getAttribute("ID")
if(iframe.substring(iframe.length-8)=="___Frame" && FCKeditorAPI){
editorName = iframe.substring(0,iframe.length-8)
oForm = FCKeditorAPI.__Instances[editorName].LinkedField.form ;
break
}
}
if(oForm){
oForm.submit() ;
}else{
*/
var el = document.getElementsByTagName("FORM")
for(x=0;x<el.length;x++){
if(el[x].id.toLowerCase()==myForm.toLowerCase() || el[x].getAttribute("id").toLowerCase()==myForm.toLowerCase() || el[x].getAttribute("name").toLowerCase()==myForm.toLowerCase()){
el[x].submit()
break
}
}
//}
}
function dwz_setEvent(field,evt){
if(isNS7){
if(evt=="click"){
dwz_getImageDimensions(field)
}
}else if(isNS6){
if(evt=="click"){
dwz_getImageDimensions(field)
}
}else{
if(evt=="change"){
dwz_getImageDimensions(field)
}
}
}
function dwz_getImageDimensions(field){
field.imageSize = -1
field.imageWidth = -1
field.imageHeight = -1
field.imageExt = "-1"
if(field.value==""){
return
}
ext = field.value.substring(field.value.lastIndexOf(".")).toLowerCase()
field.imageExt = ext
if(ext==".gif" || ext==".jpg" || ext==".jpeg" || ext==".png" || ext==".bmp"){
var myImage = null
if(isMAC && isIE){
myImage = document.createElement('IMG');
myImage.name = 'myVoidImage';
}else{
myImage = new Image();
}
myImage.field = field
myImage.onload = setImageDimensions
myImage.src = "file:///" + field.value.replace(/:\\/gi,'|/');
}
}
function setImageDimensions(myImage){
var img = (myImage && !isNS6 ? myImage : this);
img.field.imageWidth = img.width
img.field.imageHeight = img.height
img.field.imageSize = img.fileSize
}
function VerifyFile(field, maxW, maxH, maxSize, extension){
var errorMsg="";
//Verify extension
if(extension!=""){
extension = extension.toLowerCase()
ext = extension.split(",")
var ris = false
for(g=0;g<ext.length;g++){
ext[g] = Trim(ext[g])
if(ext[g].charAt(0)!="."){
ext[g] = "." + ext[g]
}
if(field.imageExt.toLowerCase()==ext[g]){
ris = true
break
}
}
if(ris==false){
errorMsg+="File extension allowed for this file is: "+extension+" Actual extension is "+field.imageExt+"\n";
}
}
if(field.imageExt==".gif" || field.imageExt==".jpg" || field.imageExt==".jpeg" || field.imageExt==".png" || field.imageExt==".bmp"){
//Verify Size
if(maxSize!="" && ((parseInt(field.imageSize)/1000) > parseInt(maxSize))){
errorMsg+="Maximum size allowed for this file is: "+maxSize+" Kb - Actual size is "+parseInt(field.imageSize/1000)+" Kb\n";
}
//Verify With
if(maxW!="" && parseInt(field.imageWidth)>parseInt(maxW)){
errorMsg+="Maximum width allowed for this image is: "+maxW+" pixels - Actual width is "+field.imageWidth+" pixels\n";
}
//verify height
if(maxH!="" && parseInt(field.imageHeight)>parseInt(maxH)){
errorMsg+="Maximum width allowed for this image is: "+maxH+" pixels - Actual width is "+field.imageHeight+" pixels\n";
}
}
if(errorMsg!=""){alert(field.value.replace("file:///","")+"\n\n"+errorMsg);}
if(errorMsg!=""){GoUpload=false}
}
function Trim(TRIM_VALUE){
if(TRIM_VALUE.length < 1){
return "";
}
TRIM_VALUE = RTrim(TRIM_VALUE);
TRIM_VALUE = LTrim(TRIM_VALUE);
return TRIM_VALUE;
} //End Function
function RTrim(VALUE){
var w_space = String.fromCharCode(32);
var v_length = VALUE.length;
var strTemp = "";
if(v_length < 0){
return "";
}
var iTemp = v_length -1;
while(iTemp > -1){
if(VALUE.charAt(iTemp) == w_space){
}else{
strTemp = VALUE.substring(0,iTemp +1);
break;
}
iTemp = iTemp-1;
} //End While
return strTemp;
} //End Function
function LTrim(VALUE){
var w_space = String.fromCharCode(32);
if(v_length < 1){
return"";
}
var v_length = VALUE.length;
var strTemp = "";
var iTemp = 0;
while(iTemp < v_length){
if(VALUE.charAt(iTemp) == w_space){
}else{
strTemp = VALUE.substring(iTemp,v_length);
break;
}
iTemp = iTemp + 1;
} //End While
return strTemp;
} //End Function
function Dwz_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
</script>
<%end if%>