<%
' 顯示調(diào)用錯誤提示
Sub ShowErr(str)
Call DBConnEnd()
Response.Write "調(diào)用錯誤:" & str
Response.End
End Sub
' 初始化
Sub Init()
' 取全屏標志
sFullScreen = Trim(Request.QueryString("fullscreen"))
' 取對應(yīng)的內(nèi)容ID
sContentID = Trim(Request.QueryString("id"))
If sContentID = "" Then ShowErr "請傳入調(diào)用參數(shù)ID,即隱藏的內(nèi)容表單項ID!"
' 取樣式初始值
sStyleName = Get_SafeStr(Trim(Request.QueryString("style")))
If sStyleName = "" Then sStyleName = "standard"
Dim s_SelfUrl, s_ApplicationName, n_Application, i
s_SelfUrl = UCase(Request.ServerVariables("SERVER_NAME") & ":" & Request.ServerVariables("SERVER_PORT") & Request.ServerVariables("SCRIPT_NAME") & "?style=" & sStyleName)
n_Application = 0
Dim aApplicationName, aApplicationUrl, aApplicationValue
aApplicationName = Application("eWebEditor_ApplicationName")
aApplicationUrl = Application("eWebEditor_ApplicationUrl")
If IsArray(aApplicationName) = True Then
n_Application = UBound(aApplicationName)
' 是否在內(nèi)存中
For i = 1 To n_Application
If aApplicationUrl(i) = s_SelfUrl Then
s_ApplicationName = aApplicationName(i)
aApplicationValue = Application(s_ApplicationName)
sStyleID = aApplicationValue(0)
sStyleName = aApplicationValue(1)
sStyleDir = aApplicationValue(2)
sStyleCSS = aApplicationValue(3)
sStyleUploadDir = aApplicationValue(4)
nStateFlag = aApplicationValue(5)
sDetectFromWord = aApplicationValue(6)
sInitMode = aApplicationValue(7)
sBaseUrl = aApplicationValue(8)
sVersion = aApplicationValue(9)
sReleaseDate = aApplicationValue(10)
sLicense = aApplicationValue(11)
sToolBarNormal = aApplicationValue(12)
sToolBarFullScreen = aApplicationValue(13)
sBaseHref = aApplicationValue(14)
sAutoRemote = aApplicationValue(15)
sShowBorder = aApplicationValue(16)
If sFullScreen = "1" Then
sToolBar = sToolBarFullScreen
Else
sToolBar = sToolBarNormal
End If
Exit Sub
End If
Next
End If
' 初始化數(shù)據(jù)庫連接
Call DBConnBegin()
sSql = "select * from ewebeditor_style where s_name='" & sStyleName & "'"
oRs.Open sSql, oConn, 0, 1
If Not oRs.Eof Then
sStyleID = oRs("S_ID")
sStyleName = oRs("S_Name")
sStyleDir = oRs("S_Dir")
sStyleCSS = oRs("S_CSS")
sStyleUploadDir = oRs("S_UploadDir")
nStateFlag = oRs("S_StateFlag")
sAutoRemote = CStr(oRs("S_AutoRemote"))
sShowBorder = CStr(oRs("S_ShowBorder"))
sDetectFromWord = oRs("S_DetectFromWord")
sInitMode = oRs("S_InitMode")
sBaseUrl = oRs("S_BaseUrl")
sBaseHref = oRs("S_BaseHref")
Else
ShowErr "無效的樣式Style參數(shù)傳入,如果要使用默認值,請留空!"
End If
oRs.Close
' 取版本號及發(fā)布日期
sSql = "select sys_version,sys_releasedate,sys_license from ewebeditor_system"
oRs.Open sSql, oConn, 0, 1
sVersion = oRs(0)
sReleaseDate = oRs(1)
sLicense = oRs(2)
oRs.Close
' 取所有按鈕
Call InitButtonArray()
' 取樣式下的工具欄及按鈕
Call InitToolBar()
' 斷開數(shù)據(jù)庫連接
Call DBConnEnd()
If sFullScreen = "1" Then
sToolBar = sToolBarFullScreen
Else
sToolBar = sToolBarNormal
End If
n_Application = n_Application + 1
If n_Application = 1 Then
Redim aApplicationName(1)
Redim aApplicationUrl(1)
Else
Redim Preserve aApplicationName(n_Application)
Redim Preserve aApplicationUrl(n_Application)
End If
Redim aApplicationValue(16)
s_ApplicationName = "eWebEditor" & n_Application
aApplicationName(n_Application) = s_ApplicationName
aApplicationUrl(n_Application) = s_SelfUrl
aApplicationValue(0) = sStyleID
aApplicationValue(1) = sStyleName
aApplicationValue(2) = sStyleDir
aApplicationValue(3) = sStyleCSS
aApplicationValue(4) = sStyleUploadDir
aApplicationValue(5) = nStateFlag
aApplicationValue(6) = sDetectFromWord
aApplicationValue(7) = sInitMode
aApplicationValue(8) = sBaseUrl
aApplicationValue(9) = sVersion
aApplicationValue(10) = sReleaseDate
aApplicationValue(11) = sLicense
aApplicationValue(12) = sToolBarNormal
aApplicationValue(13) = sToolBarFullScreen
aApplicationValue(14) = sBaseHref
aApplicationValue(15) = sAutoRemote
aApplicationValue(16) = sShowBorder
Application.Lock
Application("eWebEditor_ApplicationName") = aApplicationName
Application("eWebEditor_ApplicationUrl") = aApplicationUrl
Application(s_ApplicationName) = aApplicationValue
Application.Unlock
End Sub
' 初始化按鈕數(shù)組
Sub InitButtonArray()
Dim i
sSql = "select * from ewebeditor_button order by b_order asc"
oRs.Open sSql, oConn, 0, 1
i = 0
Do While Not oRs.Eof
i = i + 1
Redim Preserve aButtonCode(i)
Redim Preserve aButtonHTML(i)
aButtonCode(i) = oRs("B_Code")
Select Case oRs("B_Type")
Case 0
aButtonHTML(i) = ""
Case 1
aButtonHTML(i) = ""
Case 2
aButtonHTML(i) = "
" & oRs("B_HTML") & "
"
End Select
oRs.MoveNext
Loop
oRs.Close
End Sub
' 由按鈕代碼得到按鈕的最終輸出
Function Code2HTML(s_Code)
Dim i
Code2HTML = ""
For i = 1 To UBound(aButtonCode)
If UCase(aButtonCode(i)) = UCase(s_Code) Then
Code2HTML = aButtonHTML(i)
Exit Function
End If
Next
End Function
' 初始化工具欄
Sub InitToolBar()
Dim aButton, n
sSql = "select t_button from ewebeditor_toolbar where s_id=" & sStyleID & " order by t_order asc"
oRs.Open sSql, oConn, 0, 1
If Not oRs.Eof Then
sToolBarNormal = "
"
sToolBarFullScreen = "
"
Do While Not oRs.Eof
sToolBarNormal = sToolBarNormal & "
"
sToolBarFullScreen = sToolBarFullScreen & "
"
aButton = Split(oRs("T_Button"), "|")
For n = 0 To UBound(aButton)
sToolBarNormal = sToolBarNormal & Code2HTML(aButton(n))
If UCase(aButton(n)) = "MAXIMIZE" Then
aButton(n) = "Minimize"
End If
sToolBarFullScreen = sToolBarFullScreen & Code2HTML(aButton(n))
Next
sToolBarNormal = sToolBarNormal & "