asp 文本编辑器

<!--#include file = "Include/Startup.asp"-->

<%
' 初始输入参数
Dim sContentID, sStyleID, sFullScreen
Dim sStyleName, sStyleDir, sStyleCSS, sStyleUploadDir, nStateFlag, sDetectFromWord, sInitMode, sBaseUrl, sBaseHref, sAutoRemote, sShowBorder
Dim sVersion, sReleaseDate, sLicense

Dim aButtonCode(), aButtonHTML()
Dim sToolBar, sToolBarNormal, sToolBarFullScreen

' 初始化
Call Init()

%>


<html>
<head>
<title>eWebEditor - eWebSoft在线编辑器</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<link href="css/<%=sStyleCSS%>/Editor.css" type="text/css" rel="stylesheet">

<Script Language=Javascript>
var sPath = document.location.pathname;
sPath = sPath.substr(0, sPath.length-14);

var sLinkFieldName = "<%=sContentID%>" ;
var sLinkOriginalFileName = "<%=Request.QueryString("originalfilename")%>" ;
var sLinkSaveFileName = "<%=Request.QueryString("savefilename")%>" ;
var sLinkSavePathFileName = "<%=Request.QueryString("savepathfilename")%>" ;

// 全局设置对象
var config = new Object() ;
config.Version = "<%=sVersion%>" ;
config.ReleaseDate = "<%=sReleaseDate%>" ;
config.License = "<%=sLicense%>" ;
config.StyleName = "<%=sStyleName%>";
config.StyleMenuHeader = "<head><link href=/""+sPath+"css/<%=sStyleCSS%>/MenuArea.css/" type=/"text/css/" rel=/"stylesheet/"></head><body scroll=/"no/" onConTextMenu=/"event.returnValue=false;/">";
config.StyleDir = "<%=sStyleDir%>";
config.StyleUploadDir = "<%=sStyleUploadDir%>";
config.InitMode = "<%=sInitMode%>";
config.AutoDetectPasteFromWord = <%=sDetectFromWord%>;
config.BaseUrl = "<%=sBaseUrl%>";
config.BaseHref = "<%=sBaseHref%>";
config.AutoRemote = "<%=sAutoRemote%>";
config.ShowBorder = "<%=sShowBorder%>";

var sBaseHref = "";
if(config.BaseHref!=""){
 sBaseHref = "<base href=/"" + document.location.protocol + "//" + document.location.host + config.BaseHref + "/">";
}
config.StyleEditorHeader = "<head><link href=/"" + sPath + "css/<%=sStyleCSS%>/EditorArea.css/" type=/"text/css/" rel=/"stylesheet/">" + sBaseHref + "</head><body MONOSPACE>" ;
</Script>
<Script Language=Javascript src="include/editor.js"></Script>
<Script Language=Javascript src="include/table.js"></Script>
<Script Language=Javascript src="include/menu.js"></Script>

<script language="javascript" event="onerror(msg, url, line)" for="window">
return true ;  // 隐藏错误
</script>

</head>

<body SCROLLING=no onConTextMenu="event.returnValue=false;">

<table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%'>
<tr><td>

 <%=sToolBar%>

</td></tr>
<tr><td height='100%'>

 <table border=0 cellpadding=0 cellspacing=0 width='100%' height='100%'>
 <tr><td height='100%'>
 <input type="hidden" ID="ContentEdit" value="">
 <input type="hidden" ID="ModeEdit" value="">
 <input type="hidden" ID="ContentLoad" value="">
 <input type="hidden" ID="ContentFlag" value="0">
 <iframe class="Composition" ID="eWebEditor" MARGINHEIGHT="1" MARGINWIDTH="1" width="100%" height="100%" scrolling="yes">
 </iframe>
 </td></tr>
 </table>

</td></tr>

<% If nStateFlag = 1 Then %>
<tr><td height=25>

 <TABLE border="0" cellPadding="0" cellSpacing="0" width="100%" class=StatusBar height=25>
 <TR valign=middle>
 <td>
  <table border=0 cellpadding=0 cellspacing=0 height=20>
  <tr>
  <td width=10></td>
  <td class=StatusBarBtnOff id=eWebEditor_CODE onClick="setMode('CODE')"><img border=0 src="buttonimage/<%=sStyleDir%>/modecode.gif" width=50 height=15 align=absmiddle></td>
  <td width=5></td>
  <td class=StatusBarBtnOff id=eWebEditor_EDIT onClick="setMode('EDIT')"><img border=0 src="buttonimage/<%=sStyleDir%>/modeedit.gif" width=50 height=15 align=absmiddle></td>
  <td width=5></td>
  <td class=StatusBarBtnOff id=eWebEditor_TEXT onClick="setMode('TEXT')"><img border=0 src="buttonimage/<%=sStyleDir%>/modetext.gif" width=50 height=15 align=absmiddle></td>
  <td width=5></td>
  <td class=StatusBarBtnOff id=eWebEditor_VIEW onClick="setMode('VIEW')"><img border=0 src="buttonimage/<%=sStyleDir%>/modepreview.gif" width=50 height=15 align=absmiddle></td>
  </tr>
  </table>
 </td>
 <td align=center id=eWebEditor_License style="font-size:9pt"></td>
 <td align=right>
  <table border=0 cellpadding=0 cellspacing=0 height=20>
  <tr>
  <td style="cursor:pointer;" onClick="sizeChange(300)"><img border=0 SRC="buttonimage/<%=sStyleDir%>/sizeplus.gif" width=20 height=20 alt="增高编辑区"></td>
  <td width=5></td>
  <td style="cursor:pointer;" onClick="sizeChange(-300)"><img border=0 SRC="buttonimage/<%=sStyleDir%>/sizeminus.gif" width=20 height=20 alt="减小编辑区"></td>
  <td width=40></td>
  </tr>
  </table>
 </td>
 </TR>
 </Table>

</td></tr>
<% End If %>

</table>

<div id="eWebEditor_Temp_HTML" style="VISIBILITY: hidden; OVERFLOW: hidden; POSITION: absolute; WIDTH: 1px; HEIGHT: 1px"></div>

<form id="eWebEditor_UploadForm" action="upload.asp?action=remote&type=remote&style=<%=sStyleName%>" method="post" target="eWebEditor_UploadTarget">
<input type="hidden" name="eWebEditor_UploadText">
</form>
<iframe name="eWebEditor_UploadTarget" width=0 height=0></iframe>
<div id=divProcessing style="width:200px;height:30px;position:absolute;display:none">
<table border=0 cellpadding=0 cellspacing=1 bgcolor="#000000" width="100%" height="100%"><tr><td bgcolor=#3A6EA5><marquee align="middle" behavior="alternate" scrollamount="5" style="font-size:9pt"><font color=#FFFFFF>...远程文件收集中...请等待...</font></marquee></td></tr></table>
</div>

</body>
</html>


<%


' 显示调用错误提示
Sub ShowErr(str)
 Call DBConnEnd()
 Response.Write "调用错误:" & str
 Response.End
End Sub

' 初始化
Sub Init()
 ' 取全屏标志
 sFullScreen = Trim(Request.QueryString("fullscreen"))
 ' 取对应的内容ID
 sContentID = Trim(Request.QueryString("id"))
 If sContentID = "" Then ShowErr "请传入调用参数ID,即隐藏的内容表单项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)
  
  ' 是否在内存中
  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


 ' 初始化数据库连接
 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参数传入,如果要使用默认值,请留空!"
 End If
 oRs.Close

 ' 取版本号及发布日期
 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()
 ' 断开数据库连接
 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


' 初始化按钮数组
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) = "<DIV CLASS=""" & oRs("B_Class") & """ TITLE=""" & oRs("B_Title") & """ οnclick=""" & oRs("B_Event") & """><IMG CLASS=""Ico"" SRC=""buttonimage/" & sStyleDir & "/" & oRs("B_Image") & """></DIV>"
  Case 1
   aButtonHTML(i) = "<SELECT CLASS=""" & oRs("B_Class") & """ οnchange=""" & oRs("B_Event") & """>" & oRs("B_HTML") & "</SELECT>"
  Case 2
   aButtonHTML(i) = "<DIV CLASS=""" & oRs("B_Class") & """>" & oRs("B_HTML") & "</DIV>"
  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 = "<table border=0 cellpadding=0 cellspacing=0 width='100%' class='Toolbar' id='eWebEditor_Toolbar'>"
  sToolBarFullScreen = "<table border=0 cellpadding=0 cellspacing=0 width='100%' class='Toolbar' id='eWebEditor_Toolbar'>"
  Do While Not oRs.Eof
   sToolBarNormal = sToolBarNormal & "<tr><td><div class=yToolbar>"
   sToolBarFullScreen = sToolBarFullScreen & "<tr><td><div class=yToolbar>"
   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 & "</div></td></tr>"
   sToolBarFullScreen = sToolBarFullScreen & "</div></td></tr>"
   oRs.MoveNext
  Loop
  sToolBarNormal = sToolBarNormal & "</table>"
  sToolBarFullScreen = sToolBarFullScreen & "</table>"
 Else
  ShowErr "对应样式没有设置工具栏!"
 End If
 oRs.Close
End Sub
%> 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值