style.aspx
上传用户:avia982301
上传日期:2008-10-30
资源大小:557k
文件大小:50k
源码类别:

.net编程

开发平台:

C#

  1. <!--#include file = "private.aspx"-->
  2. <%
  3. '######################################
  4. ' eWebEditor v4.00 - Advanced online web based WYSIWYG HTML editor.
  5. ' Copyright (c) 2003-2007 eWebSoft.com
  6. '
  7. ' For further information go to http://www.ewebsoft.com/
  8. ' This copyright notice MUST stay intact for use.
  9. '######################################
  10. %>
  11. <%
  12. sPosition = sPosition & "样式管理"
  13. If sAction = "STYLEPREVIEW" Then
  14. Call InitStyle()
  15. Call ShowStylePreview()
  16. Response.End
  17. End If
  18. Call Header()
  19. Call ShowPosition()
  20. Call Content()
  21. Call Footer()
  22. %>
  23. <script language="vb" runat="server">
  24. Dim sStyleID, sStyleName, sStyleDir, sStyleCSS, sStyleUploadDir, sStyleWidth, sStyleHeight, sStyleMemo, nStyleIsSys, sStyleStateFlag, sStyleDetectFromWord, sStyleInitMode, sStyleBaseUrl, sStyleUploadObject, sStyleAutoDir, sStyleBaseHref, sStyleContentPath, sStyleAutoRemote, sStyleShowBorder, sAutoDetectLanguage, sDefaultLanguage, sStyleAllowBrowse
  25. Dim sSLTFlag, sSLTMinSize, sSLTOkSize, sSYFlag, sSYText, sSYFontColor, sSYFontSize, sSYFontName, sSYPicPath, sSLTSYObject, sSLTSYExt, sSYMinSize, sSYShadowColor, sSYShadowOffset
  26. Dim sStyleFileExt, sStyleFlashExt, sStyleImageExt, sStyleMediaExt, sStyleRemoteExt, sStyleFileSize, sStyleFlashSize, sStyleImageSize, sStyleMediaSize, sStyleRemoteSize
  27. Dim sToolBarID, sToolBarName, sToolBarOrder, sToolBarButton
  28. Dim nStyleID
  29. Sub Content()
  30. Select Case sAction
  31. Case "UPDATECONFIG"
  32. Call DoUpdateConfig()
  33. Case "COPY"
  34. Call InitStyle()
  35. Call DoCopy()
  36. Call ShowStyleList()
  37. Case "STYLEADD"
  38. Call ShowStyleForm("ADD")
  39. Case "STYLESET"
  40. Call InitStyle()
  41. Call ShowStyleForm("SET")
  42. Case "STYLEADDSAVE"
  43. Call CheckStyleForm()
  44. Call DoStyleAddSave()
  45. Case "STYLESETSAVE"
  46. Call CheckStyleForm()
  47. Call DoStyleSetSave()
  48. Case "STYLEDEL"
  49. Call InitStyle()
  50. Call DoStyleDel()
  51. Call ShowStyleList()
  52. Case "CODE"
  53. Call InitStyle()
  54. Call ShowStyleCode()
  55. Case "TOOLBAR"
  56. Call InitStyle()
  57. Call ShowToolBarList()
  58. Case "TOOLBARADD"
  59. Call InitStyle()
  60. Call DoToolBarAdd()
  61. Call ShowToolBarList()
  62. Case "TOOLBARMODI"
  63. Call InitStyle()
  64. Call DoToolBarModi()
  65. Call ShowToolBarList()
  66. Case "TOOLBARDEL"
  67. Call InitStyle()
  68. Call DoToolBarDel()
  69. Call ShowToolBarList()
  70. Case "BUTTONSET"
  71. Call InitStyle()
  72. Call InitToolBar()
  73. Call ShowButtonList()
  74. Case "BUTTONSAVE"
  75. Call InitStyle()
  76. Call InitToolBar()
  77. Call DoButtonSave()
  78. Case Else
  79. Call ShowStyleList()
  80. End Select
  81. End Sub
  82. Sub ShowPosition()
  83. Response.Write ("<table border=0 cellspacing=1 align=center class=navi>" & _
  84. "<tr><th>" & sPosition & "</th></tr>" & _
  85. "<tr><td align=center>[<a href='?'>所有样式列表</a>]&nbsp;&nbsp;&nbsp;&nbsp;[<a href='?action=styleadd'>新建一样式</a>]&nbsp;&nbsp;&nbsp;&nbsp;[<a href='?action=updateconfig'>更新所有样式的前台配置文件</a>]&nbsp;&nbsp;&nbsp;&nbsp;[<a href='#' onclick='history.back()'>返回前一页</a>]</td></tr>" & _
  86. "</table><br>")
  87. End Sub
  88. Sub ShowMessage(str)
  89. Response.Write ("<table border=0 cellspacing=1 align=center class=list><tr><td>" & str & "</td></tr></table><br>")
  90. End Sub
  91. Sub ShowStyleList()
  92. Call ShowMessage("<b class=blue>以下为当前所有样式列表:</b>")
  93. Response.Write ("<table border=0 cellpadding=0 cellspacing=1 class=list align=center>" & _
  94. "<form action='?action=del' method=post name=myform>" & _
  95. "<tr align=center>" & _
  96. "<th width='10%'>样式名</th>" & _
  97. "<th width='10%'>最佳宽度</th>" & _
  98. "<th width='10%'>最佳高度</th>" & _
  99. "<th width='45%'>说明</th>" & _
  100. "<th width='25%'>管理</th>" & _
  101. "</tr>")
  102. Dim sManage, i, aCurrStyle
  103. For i = 1 To Ubound(aStyle)
  104. aCurrStyle = Split(aStyle(i), "|||")
  105. sManage = "<a href='?action=stylepreview&id=" & i & "' target='_blank'>预览</a>|<a href='?action=code&id=" & i & "'>代码</a>|<a href='?action=styleset&id=" & i & "'>设置</a>|<a href='?action=toolbar&id=" & i & "'>工具栏</a>|<a href='?action=copy&id=" & i & "'>拷贝</a>|<a href='?action=styledel&id=" & i & "' onclick=""return confirm('提示:您确定要删除此样式吗?')"">删除</a>"
  106. Response.Write ("<tr align=center>" & _
  107. "<td>" & outHTML(aCurrStyle(0)) & "</td>" & _
  108. "<td>" & aCurrStyle(4) & "</td>" & _
  109. "<td>" & aCurrStyle(5) & "</td>" & _
  110. "<td align=left>" & outHTML(aCurrStyle(26)) & "</td>" & _
  111. "<td>" & sManage & "</td>" & _
  112. "</tr>")
  113. Next
  114. Response.Write ("</table><br>")
  115. Call ShowMessage("<b class=blue>提示:</b>你可以通过""拷贝""一样式以达到快速新建样式的目的。")
  116. End Sub
  117. Sub DoCopy()
  118. Dim i, b, sNewID, sNewName
  119. b = False
  120. i = 0
  121. Do While b = False
  122. i = i + 1
  123. sNewName = sStyleName & i
  124. If StyleName2ID(sNewName) = -1 Then
  125. b = True
  126. End If
  127. Loop
  128. Dim nNewStyleID
  129. nNewStyleID = Ubound(aStyle) + 1
  130. Redim Preserve aStyle(nNewStyleID)
  131. aStyle(nNewStyleID) = sNewName & Mid(aStyle(nStyleID), Len(sStyleName)+1)
  132. Dim nToolbarNum, nNewToolbarID, aCurrToolbar
  133. nToolbarNum = Ubound(aToolbar)
  134. For i = 1 To nToolbarNum
  135. aCurrToolbar = Split(aToolbar(i), "|||")
  136. If aCurrToolbar(0) = sStyleID Then
  137. nNewToolbarID = Ubound(aToolbar) + 1
  138. Redim Preserve aToolbar(nNewToolbarID)
  139. aToolbar(nNewToolbarID) = nNewStyleID & "|||" & aCurrToolbar(1) & "|||" & aCurrToolbar(2) & "|||" & aCurrToolbar(3)
  140. End If
  141. Next
  142. Call WriteConfig()
  143. Call WriteStyle(nNewStyleID)
  144. Call GoUrl("?")
  145. End Sub
  146. Function StyleName2ID(str)
  147. Dim i
  148. StyleName2ID = -1
  149. For i = 1 To UBound(aStyle)
  150. If Lcase(Split(aStyle(i), "|||")(0)) = Lcase(str) Then
  151. StyleName2ID = i
  152. Exit Function
  153. End If
  154. Next
  155. End Function
  156. Sub ShowStyleForm(sFlag)
  157. Dim s_Title, s_Button, s_Action
  158. Dim s_FormStateFlag, s_FormDetectFromWord, s_FormInitMode, s_FormBaseUrl, s_FormUploadObject, s_FormAutoDir, s_FormAutoRemote, s_FormShowBorder, s_FormAutoDetectLanguage, s_FormDefaultLanguage, s_FormSLTFlag, s_FormSYFlag, s_FormSLTSYObject, s_FormAllowBrowse
  159. If sFlag = "ADD" Then
  160. sStyleID = ""
  161. sStyleName = ""
  162. sStyleDir = "standard"
  163. sStyleCSS = "office"
  164. sStyleUploadDir = "UploadFile/"
  165. sStyleBaseHref = "http://Localhost/eWebEditor/"
  166. sStyleContentPath = "UploadFile/"
  167. sStyleWidth = "600"
  168. sStyleHeight = "400"
  169. sStyleMemo = ""
  170. nStyleIsSys = 0
  171. s_Title = "新增样式"
  172. s_Action = "StyleAddSave"
  173. sStyleFileExt = "rar|zip|exe|doc|xls|chm|hlp"
  174. sStyleFlashExt = "swf"
  175. sStyleImageExt = "gif|jpg|jpeg|bmp"
  176. sStyleMediaExt = "rm|mp3|wav|mid|midi|ra|avi|mpg|mpeg|asf|asx|wma|mov"
  177. sStyleRemoteExt = "gif|jpg|bmp"
  178. sStyleFileSize = "500"
  179. sStyleFlashSize = "100"
  180. sStyleImageSize = "100"
  181. sStyleMediaSize = "100"
  182. sStyleRemoteSize = "100"
  183. sStyleStateFlag = "1"
  184. sStyleAutoRemote = "1"
  185. sStyleShowBorder = "0"
  186. sAutoDetectLanguage = "1"
  187. sDefaultLanguage = "zh-cn"
  188. sStyleAllowBrowse = "0"
  189. sStyleUploadObject = "0"
  190. sStyleAutoDir = "0"
  191. sStyleDetectFromWord = "1"
  192. sStyleInitMode = "EDIT"
  193. sStyleBaseUrl = "0"
  194. sSLTFlag = "0"
  195. sSLTMinSize = "300"
  196. sSLTOkSize = "120"
  197. sSYFlag = "0"
  198. sSYText = "版权所有..."
  199. sSYFontColor = "000000"
  200. sSYFontSize = "12"
  201. sSYFontName = "宋体"
  202. sSYPicPath = ""
  203. sSLTSYObject = "0"
  204. sSLTSYExt = "bmp|jpg|jpeg|gif"
  205. sSYMinSize = "100"
  206. sSYShadowColor = "FFFFFF"
  207. sSYShadowOffset = "1"
  208. Else
  209. sStyleName = inHTML(sStyleName)
  210. sStyleDir = inHTML(sStyleDir)
  211. sStyleCSS = inHTML(sStyleCSS)
  212. sStyleUploadDir = inHTML(sStyleUploadDir)
  213. sStyleBaseHref = inHTML(sStyleBaseHref)
  214. sStyleContentPath = inHTML(sStyleContentPath)
  215. sStyleMemo = inHTML(sStyleMemo)
  216. sSYText = inHTML(sSYText)
  217. sSYFontColor = inHTML(sSYFontColor)
  218. sSYFontSize = inHTML(sSYFontSize)
  219. sSYFontName = inHTML(sSYFontName)
  220. sSYPicPath = inHTML(sSYPicPath)
  221. s_Title = "设置样式"
  222. s_Action = "StyleSetSave"
  223. End If
  224. s_FormStateFlag = InitSelect("d_stateflag", Split("显示|不显示", "|"), Split("1|0", "|"), sStyleStateFlag, "")
  225. s_FormAutoRemote = InitSelect("d_autoremote", Split("自动上传|不自动上传", "|"), Split("1|0", "|"), sStyleAutoRemote, "")
  226. s_FormShowBorder = InitSelect("d_showborder", Split("默认显示|默认不显示", "|"), Split("1|0", "|"), sStyleShowBorder, "")
  227. s_FormAutoDetectLanguage = InitSelect("d_autodetectlanguage", Split("自动检测|不自动检测", "|"), Split("1|0", "|"), sAutoDetectLanguage, "")
  228. s_FormDefaultLanguage = InitSelect("d_defaultlanguage", Split("简体中文|繁体中文|英文", "|"), Split("zh-cn|zh-tw|en", "|"), sDefaultLanguage, "")
  229. s_FormAllowBrowse = InitSelect("d_allowbrowse", Split("是,开启|否,关闭", "|"), Split("1|0", "|"), sStyleAllowBrowse, "")
  230. s_FormUploadObject = InitSelect("d_uploadobject", Split("ASP.net上传|ASPUpload上传组件|SA-FileUp上传组件|LyfUpload上传组件", "|"), Split("0|1|2|3", "|"), sStyleUploadObject, "")
  231. s_FormAutoDir = InitSelect("d_autodir", Split("不使用|年目录|年月目录|年月日目录", "|"), Split("0|1|2|3", "|"), sStyleAutoDir, "")
  232. s_FormDetectFromWord = InitSelect("d_detectfromword", Split("自动检测有提示|不自动检测", "|"), Split("1|0", "|"), sStyleDetectFromWord, "")
  233. s_FormInitMode = InitSelect("d_initmode", Split("代码模式|编辑模式|文本模式|预览模式", "|"), Split("CODE|EDIT|TEXT|VIEW", "|"), sStyleInitMode, "")
  234. s_FormBaseUrl = InitSelect("d_baseurl", Split("相对路径|绝对根路径|绝对全路径", "|"), Split("0|1|2", "|"), sStyleBaseUrl, "")
  235. s_FormSLTFlag = InitSelect("d_sltflag", Split("使用|不使用", "|"), Split("1|0", "|"), sSLTFlag, "")
  236. s_FormSYFlag = InitSelect("d_syflag", Split("不使用|文字水印|图片水印", "|"), Split("0|1|2", "|"), sSYFlag, "")
  237. s_FormSLTSYObject = InitSelect("d_sltsyobject", Split(".NET自带图形处理|AspJpeg图形组件", "|"), Split("0|1", "|"), sSLTSYObject, "")
  238. s_Button = "<tr><td align=center colspan=4><input type=submit value='  提交  ' align=absmiddle>&nbsp;<input type=reset name=btnReset value='  重填  '></td></tr>"
  239. Response.Write ("<table border=0 cellpadding=0 cellspacing=1 align=center class=form>" & _
  240. "<form action='?action=" & s_Action & "&id=" & sStyleID & "' method=post name=myform>" & _
  241. "<tr><th colspan=4>&nbsp;&nbsp;" & s_Title & "(鼠标移到输入框可看说明,带*号为必填项)</th></tr>" & _
  242. "<tr><td width='15%'>样式名称:</td><td width='35%'><input type=text class=input size=20 name=d_name title='引用此样式的名字,不要加特殊符号,最大50个字符长度' value=""" & sStyleName & """> <span class=red>*</span></td><td width='15%'>初始模式:</td><td width='35%'>" & s_FormInitMode & " <span class=red>*</span></td></tr>" & _
  243. "<tr><td width='15%'>上传组件:</td><td width='35%'>" & s_FormUploadObject & " <span class=red>*</span></td><td width='15%'>自动目录:</td><td width='35%'>" & s_FormAutoDir & " <span class=red>*</span></td></tr>" & _
  244. "<tr><td width='15%'>图片目录:</td><td width='35%'><input type=text class=input size=20 name=d_dir title='存放此样式图片文件的目录名,必须在ButtonImage下,最大50个字符长度' value=""" & sStyleDir & """> <span class=red>*</span></td><td width='15%'>样式目录:</td><td width='35%'><input type=text class=input size=20 name=d_css title='存放此样式css文件的目录名,必须在CSS下,最大50个字符长度' value=""" & sStyleCSS & """> <span class=red>*</span></td></tr>" & _
  245. "<tr><td width='15%'>最佳宽度:</td><td width='35%'><input type=text class=input name=d_width size=20 title='最佳引用效果的宽度,数字型' value='" & sStyleWidth & "'> <span class=red>*</span></td><td width='15%'>最佳高度:</td><td width='35%'><input type=text class=input name=d_height size=20 title='最佳引用效果的高度,数字型' value='" & sStyleHeight & "'> <span class=red>*</span></td></tr>" & _
  246. "<tr><td width='15%'>状 态 栏:</td><td width='35%'>" & s_FormStateFlag & " <span class=red>*</span></td><td width='15%'>Word粘贴:</td><td width='35%'>" & s_FormDetectFromWord & " <span class=red>*</span></td></tr>" & _
  247. "<tr><td width='15%'>远程文件:</td><td width='35%'>" & s_FormAutoRemote & " <span class=red>*</span></td><td width='15%'>指导方针:</td><td width='35%'>" & s_FormShowBorder & " <span class=red>*</span></td></tr>" & _
  248. "<tr><td width='15%'>自动语言检测:</td><td width='35%'>" & s_FormAutoDetectLanguage & " <span class=red>*</span></td><td width='15%'>默认语言:</td><td width='35%'>" & s_FormDefaultLanguage & " <span class=red>*</span></td></tr>" & _
  249. "<tr><td width='15%'>上传文件浏览:</td><td width='35%'>" & s_FormAllowBrowse & " <span class=red>*</span></td><td width='15%'>&nbsp;</td><td width='35%'>&nbsp;</td></tr>" & _
  250. "<tr><td>备注说明:</td><td colspan=3><input type=text name=d_memo size=90 title='此样式的说明,更有利于调用' value=""" & sStyleMemo & """></td></tr>" & _
  251. "<tr><td colspan=4><span class=red>&nbsp;&nbsp;&nbsp;上传文件及系统文件路径相关设置(只有在使用相对路径模式时,才要设置显示路径和内容路径):</span></td></tr>" & _
  252. "<tr><td width='15%'>路径模式:</td><td width='35%'>" & s_FormBaseUrl & " <span class=red>*</span> <a href='#baseurl'>说明</a></td><td width='15%'>上传路径:</td><td width='35%'><input type=text class=input size=20 name=d_uploaddir title='上传文件所存放路径,相对eWebEditor根目录文件的路径,最大50个字符长度' value=""" & sStyleUploadDir & """> <span class=red>*</span></td></tr>" & _
  253. "<tr><td width='15%'>显示路径:</td><td width='35%'><input type=text class=input size=20 name=d_basehref title='显示内容页所存放路径,必须以&quot;/&quot;开头,最大50个字符长度' value=""" & sStyleBaseHref & """></td><td width='15%'>内容路径:</td><td width='35%'><input type=text class=input size=20 name=d_contentpath title='实际保存在内容中的路径,相对显示路径的路径,不能以&quot;/&quot;开头,最大50个字符长度' value=""" & sStyleContentPath & """></td></tr>" & _
  254. "<tr><td colspan=4><span class=red>&nbsp;&nbsp;&nbsp;允许上传文件类型及文件大小设置(文件大小单位为KB,0表示没有限制):</span></td></tr>" & _
  255. "<tr><td width='15%'>图片类型:</td><td width='35%'><input type=text class=input name=d_imageext size=20 title='用于图片相关的上传,最大250个字符长度' value='" & sStyleImageExt & "'></td><td width='15%'>图片限制:</td><td width='35%'><input type=text class=input name=d_imagesize size=20 title='数字型,单位KB' value='" & sStyleImageSize & "'></td></tr>" & _
  256. "<tr><td width='15%'>Flash类型:</td><td width='35%'><input type=text class=input name=d_flashext size=20 title='用于插入Flash动画,最大250个字符长度' value='" & sStyleFlashExt & "'></td><td width='15%'>Flash限制:</td><td width='35%'><input type=text class=input name=d_flashsize size=20 title='数字型,单位KB' value='" & sStyleFlashSize & "'></td></tr>" & _
  257. "<tr><td width='15%'>媒体类型:</td><td width='35%'><input type=text class=input name=d_mediaext size=20 title='用于插入媒体文件,最大250个字符长度' value='" & sStyleMediaExt & "'></td><td width='15%'>媒体限制:</td><td width='35%'><input type=text class=input name=d_mediasize size=20 title='数字型,单位KB' value='" & sStyleMediaSize & "'></td></tr>" & _
  258. "<tr><td width='15%'>其它类型:</td><td width='35%'><input type=text class=input name=d_fileext size=20 title='用于插入其它文件,最大250个字符长度' value='" & sStyleFileExt & "'></td><td width='15%'>其它限制:</td><td width='35%'><input type=text class=input name=d_filesize size=20 title='数字型,单位KB' value='" & sStyleFileSize & "'></td></tr>" & _
  259. "<tr><td width='15%'>远程类型:</td><td width='35%'><input type=text class=input name=d_remoteext size=20 title='用于自动上传远程文件,最大250个字符长度' value='" & sStyleRemoteExt & "'></td><td width='15%'>远程限制:</td><td width='35%'><input type=text class=input name=d_remotesize size=20 title='数字型,单位KB' value='" & sStyleRemoteSize & "'></td></tr>" & _
  260. "<tr><td colspan=4><span class=red>&nbsp;&nbsp;&nbsp;缩略图及水印相关设置:</span></td></tr>" & _
  261. "<tr><td width='15%'>图形处理组件:</td><td width='35%'>" & s_FormSLTSYObject & "</td><td width='15%'>处理图形扩展名:</td><td width='35%'><input type=text name=d_sltsyext size=20 class=input value=""" & sSLTSYExt & """></td></tr>" & _
  262. "<tr><td width='15%'>缩略图使用状态:</td><td width='35%'>" & s_FormSLTFlag & "</td><td width='15%'>缩略图长度条件</td><td width='35%'><input type=text name=d_sltminsize size=20 class=input title='图形的长度只有达到此最小长度要求时才会生成缩略图,数字型' value='" & sSLTMinSize & "'>px</td></tr>" & _
  263. "<tr><td width='15%'>缩略图生成长度:</td><td width='35%'><input type=text name=d_sltoksize size=20 class=input title='生成的缩略图长度值,数字型' value='" & sSLTOkSize & "'>px</td><td width='15%'>&nbsp;</td><td width='35%'>&nbsp;</td></tr>" & _
  264. "<tr><td width='15%'>水印使用状态:</td><td width='35%'>" & s_FormSYFlag & "</td><td width='15%'>水印宽度条件:</td><td width='35%'><input type=text name=d_syminsize size=20 class=input title='图形的宽度只有达到此最小宽度要求时才会生成水印,数字型' value='" & sSYMinSize & "'>px</td></tr>" & _
  265. "<tr><td width='15%'>文字水印内容:</td><td width='35%'><input type=text name=d_sytext size=20 class=input title='当使用文字水印时的文字内容' value=""" & sSYText & """></td><td width='15%'>文字水印字体颜色:</td><td width='35%'><input type=text name=d_syfontcolor size=20 class=input title='当使用文字水印时文字的颜色' value=""" & sSYFontColor & """></td></tr>" & _
  266. "<tr><td width='15%'>文字水印阴影颜色:</td><td width='35%'><input type=text name=d_syshadowcolor size=20 class=input title='当使用文字水印时的文字阴影颜色' value=""" & sSYShadowColor & """></td><td width='15%'>文字水印阴影大小:</td><td width='35%'><input type=text name=d_syshadowoffset size=20 class=input title='当使用文字水印时文字的阴影大小' value=""" & sSYShadowOffset & """>px</td></tr>" & _
  267. "<tr><td width='15%'>文字水印字体大小:</td><td width='35%'><input type=text name=d_syfontsize size=20 class=input title='当使用文字水印时文字的字体大小' value=""" & sSYFontSize & """>px</td><td width='15%'>文字水印字体名称:</td><td width='35%'><input type=text name=d_syfontname size=20 class=input title='当使用文字水印时文字的字体名' value=""" & sSYFontName & """></td></tr>" & _
  268. "<tr><td width='15%'>图片水印图片路径:</td><td width='35%'><input type=text name=d_sypicpath size=20 class=input title='当使用图片水印时图片的路径' value=""" & sSYPicPath & """></td><td width='15%'></td><td width='35%'></td></tr>" & _
  269. s_Button & _
  270. "</form>" & _
  271. "</table><br>")
  272. Dim sMsg
  273. sMsg = "<a name=baseurl></a><p><span class=blue><b>路径模式设置说明:</b></span><br>" & _
  274. "<b>相对路径:</b>指所有的相关上传或自动插入文件路径,编辑后都以""UploadFile/...""或""../UploadFile/...""形式呈现,当使用此模式时,显示路径和内容路径必填,显示路径必须以""/""开头和结尾,内容路径设置中不能以""/""开头。<br>" & _
  275. "<b>绝对根路径:</b>指所有的相关上传或自动插入文件路径,编辑后都以""/eWebEditor/UploadFile/...""这种形式呈现,当使用此模式时,显示路径和内容路径不必填。<br>" & _
  276. "<b>绝对全路径:</b>指所有的相关上传或自动插入文件路径,编辑后都以""http://xxx.xxx.xxx/eWebEditor/UploadFile/...""这种形式呈现,当使用此模式时,显示路径和内容路径不必填。</p>"
  277. Call ShowMessage(sMsg)
  278. End Sub
  279. Sub InitStyle()
  280. Dim b, aCurrStyle
  281. b = False
  282. sStyleID = Trim(Request("id"))
  283. If IsNumeric(sStyleID) = True Then
  284. nStyleID = Clng(sStyleID)
  285. If nStyleID <= Ubound(aStyle) Then
  286. aCurrStyle = Split(aStyle(nStyleID), "|||")
  287. sStyleName = aCurrStyle(0)
  288. sStyleDir = aCurrStyle(1)
  289. sStyleCSS = aCurrStyle(2)
  290. sStyleUploadDir = aCurrStyle(3)
  291. sStyleBaseHref = aCurrStyle(22)
  292. sStyleContentPath = aCurrStyle(23)
  293. sStyleWidth = aCurrStyle(4)
  294. sStyleHeight = aCurrStyle(5)
  295. sStyleMemo = aCurrStyle(26)
  296. 'nStyleIsSys = aCurrStyle()
  297. sStyleFileExt = aCurrStyle(6)
  298. sStyleFlashExt = aCurrStyle(7)
  299. sStyleImageExt = aCurrStyle(8)
  300. sStyleMediaExt = aCurrStyle(9)
  301. sStyleRemoteExt = aCurrStyle(10)
  302. sStyleFileSize = aCurrStyle(11)
  303. sStyleFlashSize = aCurrStyle(12)
  304. sStyleImageSize = aCurrStyle(13)
  305. sStyleMediaSize = aCurrStyle(14)
  306. sStyleRemoteSize = aCurrStyle(15)
  307. sStyleStateFlag = aCurrStyle(16)
  308. sStyleAutoRemote = aCurrStyle(24)
  309. sStyleShowBorder = aCurrStyle(25)
  310. sAutoDetectLanguage = aCurrStyle(27)
  311. sDefaultLanguage = aCurrStyle(28)
  312. sStyleUploadObject = aCurrStyle(20)
  313. sStyleAutoDir = aCurrStyle(21)
  314. sStyleDetectFromWord = aCurrStyle(17)
  315. sStyleInitMode = aCurrStyle(18)
  316. sStyleBaseUrl = aCurrStyle(19)
  317. sSLTFlag = aCurrStyle(29)
  318. sSLTMinSize = aCurrStyle(30)
  319. sSLTOkSize = aCurrStyle(31)
  320. sSYFlag = aCurrStyle(32)
  321. sSYText = aCurrStyle(33)
  322. sSYFontColor = aCurrStyle(34)
  323. sSYFontSize = aCurrStyle(35)
  324. sSYFontName = aCurrStyle(36)
  325. sSYPicPath = aCurrStyle(37)
  326. sSLTSYObject = aCurrStyle(38)
  327. sSLTSYExt = aCurrStyle(39)
  328. sSYMinSize = aCurrStyle(40)
  329. sSYShadowColor = aCurrStyle(41)
  330. sSYShadowOffset = aCurrStyle(42)
  331. sStyleAllowBrowse = aCurrStyle(43)
  332. b = True
  333. End If
  334. End If
  335. If b = False Then
  336. GoError ("无效的样式ID号,请通过页面上的链接进行操作!")
  337. End If
  338. End Sub
  339. Sub CheckStyleForm()
  340. sStyleName = Trim(Request("d_name"))
  341. sStyleDir = Trim(Request("d_dir"))
  342. sStyleCSS = Trim(Request("d_css"))
  343. sStyleUploadDir = Trim(Request("d_uploaddir"))
  344. sStyleBaseHref = Trim(Request("d_basehref"))
  345. sStyleContentPath = Trim(Request("d_contentpath"))
  346. sStyleWidth = Trim(Request("d_width"))
  347. sStyleHeight = Trim(Request("d_height"))
  348. sStyleMemo = Trim(Request("d_memo"))
  349. sStyleImageExt = Request("d_imageext")
  350. sStyleFlashExt = Request("d_flashext")
  351. sStyleMediaExt = Request("d_mediaext")
  352. sStyleRemoteExt = Request("d_remoteext")
  353. sStyleFileExt = Request("d_fileext")
  354. sStyleImageSize = Request("d_imagesize")
  355. sStyleFlashSize = Request("d_flashsize")
  356. sStyleMediaSize = Request("d_mediasize")
  357. sStyleRemoteSize = Request("d_remotesize")
  358. sStyleFileSize = Request("d_filesize")
  359. sStyleStateFlag = Request("d_stateflag")
  360. sStyleAutoRemote = Request("d_autoremote")
  361. sStyleShowBorder = Request("d_showborder")
  362. sAutoDetectLanguage = Request("d_autodetectlanguage")
  363. sDefaultLanguage = Request("d_defaultlanguage")
  364. sStyleUploadObject = Request("d_uploadobject")
  365. sStyleAutoDir = Request("d_autodir")
  366. sStyleDetectFromWord = Request("d_detectfromword")
  367. sStyleInitMode = Request("d_initmode")
  368. sStyleBaseUrl = Request("d_baseurl")
  369. sSLTFlag = Trim(Request("d_sltflag"))
  370. sSLTMinSize = Trim(Request("d_sltminsize"))
  371. sSLTOkSize = Trim(Request("d_sltoksize"))
  372. sSYFlag = Trim(Request("d_syflag"))
  373. sSYText = Trim(Request("d_sytext"))
  374. sSYFontColor = Trim(Request("d_syfontcolor"))
  375. sSYFontSize = Trim(Request("d_syfontsize"))
  376. sSYFontName = Trim(Request("d_syfontname"))
  377. sSYPicPath = Trim(Request("d_sypicpath"))
  378. sSLTSYObject = Trim(Request("d_sltsyobject"))
  379. sSLTSYExt = Trim(Request("d_sltsyext"))
  380. sSYMinSize = Trim(Request("d_syminsize"))
  381. sSYShadowColor = Trim(Request("d_syshadowcolor"))
  382. sSYShadowOffset = Trim(Request("d_syshadowoffset"))
  383. sStyleAllowBrowse = Trim(Request("d_allowbrowse"))
  384. sStyleUploadDir = Replace(sStyleUploadDir, "", "/")
  385. sStyleBaseHref = Replace(sStyleBaseHref, "", "/")
  386. sStyleContentPath = Replace(sStyleContentPath, "", "/")
  387. If Right(sStyleUploadDir, 1) <> "/" Then sStyleUploadDir = sStyleUploadDir & "/"
  388. If Right(sStyleBaseHref, 1) <> "/" Then sStyleBaseHref = sStyleBaseHref & "/"
  389. If Right(sStyleContentPath, 1) <> "/" Then sStyleContentPath = sStyleContentPath & "/"
  390. If sStyleName = "" Or GetTrueLen(sStyleName) > 50 Then
  391. GoError ("样式名不能为空,且不大于50个字符长度!")
  392. End If
  393. If IsSafeStr(sStyleName) = False Then
  394. GoError ("样式名请勿包含特殊字符!")
  395. End If
  396. If sStyleDir = "" Or GetTrueLen(sStyleDir) > 50 Then
  397. GoError ("按钮图片目录名不能为空,且不大于50个字符长度!")
  398. End If
  399. If IsSafeStr(sStyleDir) = False Then
  400. GoError ("按钮图片目录名请勿包含特殊字符!")
  401. End If
  402. If sStyleCSS = "" Or GetTrueLen(sStyleCSS) > 50 Then
  403. GoError ("样式CSS目录名不能为空,且不大于50个字符长度!")
  404. End If
  405. If IsSafeStr(sStyleCSS) = False Then
  406. GoError ("样式CSS目录名请勿包含特殊字符!")
  407. End If
  408. If sStyleUploadDir = "" Or GetTrueLen(sStyleUploadDir) > 50 Then
  409. GoError ("上传路径不能为空,且不大于50个字符长度!")
  410. End If
  411. If IsSafeStr(sStyleUploadDir) = False Then
  412. GoError ("上传路径请勿包含特殊字符!")
  413. End If
  414. Select Case sStyleBaseUrl
  415. Case "0"
  416. If sStyleBaseHref = "" Or GetTrueLen(sStyleBaseHref) > 50 Then
  417. GoError ("当使用相对路径模式时,显示路径不能为空,且不大于50个字符长度!")
  418. End If
  419. If IsSafeStr(sStyleBaseHref) = False Then
  420. GoError ("当使用相对路径模式时,显示路径请勿包含特殊字符!")
  421. End If
  422. If Left(sStyleBaseHref, 1) <> "/" Then
  423. GoError ("当使用相对路径模式时,显示路径必须以&quot;/&quot;开头!")
  424. End If
  425. If sStyleContentPath = "" Or GetTrueLen(sStyleContentPath) > 50 Then
  426. GoError ("当使用相对路径模式时,内容路径不能为空,且不大于50个字符长度!")
  427. End If
  428. If IsSafeStr(sStyleContentPath) = False Then
  429. GoError ("当使用相对路径模式时,内容路径请勿包含特殊字符!")
  430. End If
  431. If Left(sStyleContentPath, 1) = "/" Then
  432. GoError ("当使用相对路径模式时,内容路径不能以&quot;/&quot;开头!")
  433. End If
  434. Case "1", "2"
  435. sStyleBaseHref = ""
  436. sStyleContentPath = ""
  437. End Select
  438. If IsNumeric(sStyleWidth) = False Then
  439. GoError ("请填写有效的最佳引用宽度!")
  440. End If
  441. If IsNumeric(sStyleHeight) = False Then
  442. GoError ("请填写有效的最佳引用高度!")
  443. End If
  444. If GetTrueLen(sStyleImageExt) > 250 Then
  445. GoError ("图片文件类型不能大于250个字符长度!")
  446. End If
  447. If GetTrueLen(sStyleFlashExt) > 250 Then
  448. GoError ("Flash文件类型不能大于250个字符长度!")
  449. End If
  450. If GetTrueLen(sStyleMediaExt) > 250 Then
  451. GoError ("媒体文件类型不能大于250个字符长度!")
  452. End If
  453. If GetTrueLen(sStyleFileExt) > 250 Then
  454. GoError ("其它文件类型不能大于250个字符长度!")
  455. End If
  456. If GetTrueLen(sStyleRemoteExt) > 250 Then
  457. GoError ("远程文件类型不能大于250个字符长度!")
  458. End If
  459. If IsNumeric(sStyleImageSize) = False Then
  460. GoError ("请填写有效的图片限制大小!")
  461. End If
  462. If IsNumeric(sStyleFlashSize) = False Then
  463. GoError ("请填写有效的Flash限制大小!")
  464. End If
  465. If IsNumeric(sStyleMediaSize) = False Then
  466. GoError ("请填写有效的媒体文件限制大小!")
  467. End If
  468. If IsNumeric(sStyleFileSize) = False Then
  469. GoError ("请填写有效的其它文件限制大小!")
  470. End If
  471. If IsNumeric(sStyleRemoteSize) = False Then
  472. GoError ("请填写有效的远程文件限制大小!")
  473. End If
  474. If IsNumeric(sSLTMinSize) = False Then
  475. GoError ("请填写有效的缩略图使用最小长度条件,不能为空,且为数字型!")
  476. End If
  477. If IsNumeric(sSLTOkSize) = False Then
  478. GoError ("请填写有效的缩略图生成长度,不能为空,且为数字型!")
  479. End If
  480. If IsNumeric(sSYMinSize) = False Then
  481. GoError ("请填写有效的水印的最小宽度条件,不能为空,且为数字型!")
  482. End If
  483. If sSYText = "" Then
  484. GoError ("请填写有效水印文字内容,不能为空!")
  485. End If
  486. If isValidColor(sSYFontColor) = False Then
  487. GoError ("请填写有效的水印文字颜色,6位长度,如黑色:000000!")
  488. End If
  489. If isValidColor(sSYShadowColor) = False Then
  490. GoError ("请填写有效的水印文字阴影颜色,6位长度,如白色:FFFFFF!")
  491. End If
  492. If IsNumeric(sSYShadowOffset) = False Then
  493. GoError ("请填写有效的水印文字阴影大小,不能为空,且为数字型!")
  494. End If
  495. If IsNumeric(sSYFontSize) = False Then
  496. GoError ("请填写有效的水印文字大小,不能为空,且为数字型!")
  497. End If
  498. If sSYFontName = "" Then
  499. GoError ("请填写水印文字字体名称,不能为空!")
  500. End If
  501. End Sub
  502. Sub DoStyleAddSave()
  503. If StyleName2ID(sStyleName) <> -1 Then
  504. GoError ("此样式名已经存在,请用另一个样式名!")
  505. End If
  506. Dim nNewStyleID
  507. nNewStyleID = Ubound(aStyle) + 1
  508. Redim Preserve aStyle(nNewStyleID)
  509. aStyle(nNewStyleID) = sStyleName & "|||" & sStyleDir & "|||" & sStyleCSS & "|||" & sStyleUploadDir & "|||" & sStyleWidth & "|||" & sStyleHeight & "|||" & sStyleFileExt & "|||" & sStyleFlashExt & "|||" & sStyleImageExt & "|||" & sStyleMediaExt & "|||" & sStyleRemoteExt & "|||" & sStyleFileSize & "|||" & sStyleFlashSize & "|||" & sStyleImageSize & "|||" & sStyleMediaSize & "|||" & sStyleRemoteSize & "|||" & sStyleStateFlag & "|||" & sStyleDetectFromWord & "|||" & sStyleInitMode & "|||" & sStyleBaseUrl & "|||" & sStyleUploadObject & "|||" & sStyleAutoDir & "|||" & sStyleBaseHref & "|||" & sStyleContentPath & "|||" & sStyleAutoRemote & "|||" & sStyleShowBorder & "|||" & sStyleMemo & "|||" & sAutoDetectLanguage & "|||" & sDefaultLanguage & "|||" & sSLTFlag & "|||" & sSLTMinSize & "|||" & sSLTOkSize & "|||" & sSYFlag & "|||" & sSYText & "|||" & sSYFontColor & "|||" & sSYFontSize & "|||" & sSYFontName & "|||" & sSYPicPath & "|||" & sSLTSYObject & "|||" & sSLTSYExt & "|||" & sSYMinSize & "|||" & sSYShadowColor & "|||" & sSYShadowOffset & "|||" & sStyleAllowBrowse
  510. Call WriteConfig()
  511. Call WriteStyle(nNewStyleID)
  512. Call ShowMessage("<b><span class=red>样式增加成功!</span></b><li><a href='?action=toolbar&id=" & nNewStyleID & "'>设置此样式下的工具栏</a>")
  513. End Sub
  514. Sub DoUpdateConfig()
  515. Dim i
  516. Call WriteConfig()
  517. For i = 1 To UBound(aStyle)
  518. Call WriteStyle(i)
  519. Next
  520. Call ShowMessage("<b><span class=red>所有样式的前台配置文件更新操作成功!</span></b><li><a href='?'>返回所有样式列表</a>")
  521. End Sub
  522. Sub DoStyleSetSave()
  523. Dim n, s_OldStyleName
  524. sStyleID = Trim(Request("id"))
  525. If IsNumeric(sStyleID) = True Then
  526. n = StyleName2ID(sStyleName)
  527. If CStr(n) <> sStyleID And n <> -1 Then
  528. GoError ("此样式名已经存在,请用另一个样式名!")
  529. End If
  530. If Clng(sStyleID) < 1 And Clng(sStyleID)>UBound(aStyle) Then
  531. GoError ("无效的样式ID号,请通过页面上的链接进行操作!")
  532. End If
  533. s_OldStyleName = Split(aStyle(Clng(sStyleID)), "|||")(0)
  534. aStyle(Clng(sStyleID)) = sStyleName & "|||" & sStyleDir & "|||" & sStyleCSS & "|||" & sStyleUploadDir & "|||" & sStyleWidth & "|||" & sStyleHeight & "|||" & sStyleFileExt & "|||" & sStyleFlashExt & "|||" & sStyleImageExt & "|||" & sStyleMediaExt & "|||" & sStyleRemoteExt & "|||" & sStyleFileSize & "|||" & sStyleFlashSize & "|||" & sStyleImageSize & "|||" & sStyleMediaSize & "|||" & sStyleRemoteSize & "|||" & sStyleStateFlag & "|||" & sStyleDetectFromWord & "|||" & sStyleInitMode & "|||" & sStyleBaseUrl & "|||" & sStyleUploadObject & "|||" & sStyleAutoDir & "|||" & sStyleBaseHref & "|||" & sStyleContentPath & "|||" & sStyleAutoRemote & "|||" & sStyleShowBorder & "|||" & sStyleMemo & "|||" & sAutoDetectLanguage & "|||" & sDefaultLanguage & "|||" & sSLTFlag & "|||" & sSLTMinSize & "|||" & sSLTOkSize & "|||" & sSYFlag & "|||" & sSYText & "|||" & sSYFontColor & "|||" & sSYFontSize & "|||" & sSYFontName & "|||" & sSYPicPath & "|||" & sSLTSYObject & "|||" & sSLTSYExt & "|||" & sSYMinSize & "|||" & sSYShadowColor & "|||" & sSYShadowOffset & "|||" & sStyleAllowBrowse
  535. Else
  536. GoError ("无效的样式ID号,请通过页面上的链接进行操作!")
  537. End If
  538. Call WriteConfig()
  539. If LCase(s_OldStyleName) <> LCase(sStyleName) Then
  540. Call DeleteFile(s_OldStyleName)
  541. End If
  542. Call WriteStyle(Clng(sStyleID))
  543. Call ShowMessage("<b><span class=red>样式修改成功!</span></b><li><a href='?action=stylepreview&id=" & sStyleID & "' target='_blank'>预览此样式</a><li><a href='?action=toolbar&id=" & sStyleID & "'>设置此样式下的工具栏</a>")
  544. End Sub
  545. Sub DoStyleDel()
  546. aStyle(Clng(sStyleID)) = ""
  547. Call WriteConfig()
  548. Call DeleteFile(sStyleName)
  549. Call GoUrl("?")
  550. End Sub
  551. Sub ShowStylePreview()
  552. Response.Write ("<html><head>" & _
  553. "<title>样式预览</title>" & _
  554. "<meta http-equiv='Content-Type' content='text/html; charset=gb2312'>" & _
  555. "</head><body>" & _
  556. "<input type=hidden name=content1  value=''>" & _
  557. "<iframe ID='eWebEditor1' src='../ewebeditor.htm?id=content1&style=" & sStyleName & "' frameborder=0 scrolling=no width='" & sStyleWidth & "' HEIGHT='" & sStyleHeight & "'></iframe>" & _
  558. "</body></html>")
  559. End Sub
  560. Sub ShowStyleCode()
  561. Response.Write ("<table border=0 cellspacing=1 align=center class=list>" & _
  562. "<tr><th>样式(" & outHTML(sStyleName) & ")的最佳调用代码如下(其中XXX按实际关联的表单项进行修改):</th></tr>" & _
  563. "<tr><td><textarea rows=5 cols=65 style='width:100%'><IFRAME ID=""eWebEditor1"" SRC=""ewebeditor.htm?id=XXX&style=" & sStyleName & """ FRAMEBORDER=""0"" SCROLLING=""no"" WIDTH=""" & sStyleWidth & """ HEIGHT=""" & sStyleHeight & """></IFRAME></textarea></td></tr>" & _
  564. "</table>")
  565. End Sub
  566. Sub ShowToolBarList()
  567. Call ShowMessage("<b class=blue>样式(" & outHTML(sStyleName) & ")下的工具栏管理:</b>")
  568. Dim s_AddForm, s_ModiForm, i, aCurrToolbar
  569. If nStyleIsSys = 1 Then
  570. s_AddForm = ""
  571. Else
  572. Dim nMaxOrder
  573. nMaxOrder = 0
  574. For i = 1 To UBound(aToolbar)
  575. aCurrToolbar = Split(aToolbar(i), "|||")
  576. If aCurrToolbar(0) = sStyleID Then
  577. If Clng(aCurrToolbar(3)) > nMaxOrder Then
  578. nMaxOrder = Clng(aCurrToolbar(3))
  579. End If
  580. End If
  581. Next
  582. nMaxOrder = nMaxOrder + 1
  583. s_AddForm = "<hr width='80%' align=center size=1><table border=0 cellpadding=4 cellspacing=0 align=center>" & _
  584. "<form action='?id=" & sStyleID & "&action=toolbaradd' name='addform' method=post>" & _
  585. "<tr><td>工具栏名:<input type=text name=d_name size=20 class=input value='工具栏" & nMaxOrder & "'> 排序号:<input type=text name=d_order size=5 value='" & nMaxOrder & "' class=input> <input type=submit name=b1 value='新增工具栏'></td></tr>" & _
  586. "</form></table><hr width='80%' align=center size=1>"
  587. End If
  588. Dim s_Manage, s_SubmitButton
  589. s_ModiForm = "<form action='?id=" & sStyleID & "&action=toolbarmodi' name=modiform method=post>" & _
  590. "<table border=0 cellpadding=0 cellspacing=1 align=center class=form>" & _
  591. "<tr align=center><th>ID</th><th>工具栏名</th><th>排序号</th><th>操作</th></tr>"
  592. For i = 1 To UBound(aToolbar)
  593. aCurrToolbar = Split(aToolbar(i), "|||")
  594. If aCurrToolbar(0) = sStyleID Then
  595. s_Manage = "<a href='?id=" & sStyleID & "&action=buttonset&toolbarid=" & i & "'>按钮设置</a>"
  596. s_Manage = s_Manage & "|<a href='?id=" & sStyleID & "&action=toolbardel&delid=" & i & "'>删除</a>"
  597. s_ModiForm = s_ModiForm & "<tr align=center>" & _
  598. "<td>" & i & "</td>" & _
  599. "<td><input type=text name='d_name" & i & "' value=""" & inHTML(aCurrToolbar(2)) & """ size=30 class=input></td>" & _
  600. "<td><input type=text name='d_order" & i & "' value='" & aCurrToolbar(3) & "' size=5 class=input></td>" & _
  601. "<td>" & s_Manage & "</td>" & _
  602. "</tr>"
  603. End If
  604. Next
  605. s_SubmitButton = "<tr><td colspan=4 align=center><input type=submit name=b1 value='  修改  '></td></tr>"
  606. s_ModiForm = s_ModiForm & s_SubmitButton & "</table></form>"
  607. Response.Write (s_AddForm & s_ModiForm)
  608. End Sub
  609. Sub DoToolBarAdd()
  610. Dim s_Name, s_Order
  611. s_Name = Trim(Request("d_name"))
  612. s_Order = Trim(Request("d_order"))
  613. If s_Name = "" Or GetTrueLen(s_Name) > 50 Then
  614. GoError ("工具栏名不能为空,且长度不能大于50个字符长度!")
  615. End If
  616. If IsNumeric(s_Order) = False Then
  617. GoError ("无效的工具栏排序号,排序号必须为数字!")
  618. End If
  619. Dim nToolbarNum
  620. nToolbarNum = Ubound(aToolbar) + 1
  621. Redim Preserve aToolbar(nToolbarNum)
  622. aToolbar(nToolbarNum) = sStyleID & "||||||" & s_Name & "|||" & s_Order
  623. Call WriteConfig()
  624. Call WriteStyle(Clng(sStyleID))
  625. Response.Write ("<script language=javascript>alert(""工具栏(" & outHTML(s_Name) & ")增加操作成功!"");</s" & "cript>")
  626. Call GoUrl("?action=toolbar&id=" & sStyleID)
  627. End Sub
  628. Sub DoToolBarModi()
  629. Dim s_Name, s_Order, i, aCurrToolbar
  630. For i = 1 To UBound(aToolbar)
  631. aCurrToolbar = Split(aToolbar(i), "|||")
  632. If aCurrToolbar(0) = sStyleID Then
  633. s_Name = Trim(Request("d_name" & i))
  634. s_Order = Trim(Request("d_order" & i))
  635. If s_Name = "" Or IsNumeric(s_Order) = False Then 
  636. aCurrToolbar(0) = ""
  637. s_Name = ""
  638. End If
  639. aToolbar(i) = aCurrToolbar(0) & "|||" & aCurrToolbar(1) & "|||" & s_Name & "|||" & s_Order
  640. End If
  641. Next
  642. Call WriteConfig()
  643. Call WriteStyle(Clng(sStyleID))
  644. Response.Write ("<script language=javascript>alert('工具栏修改操作成功!');</s" & "cript>")
  645. Call GoUrl("?action=toolbar&id=" & sStyleID)
  646. End Sub
  647. Sub DoToolBarDel()
  648. Dim s_DelID
  649. s_DelID = Trim(Request("delid"))
  650. If IsNumeric(s_DelID) = True Then
  651. aToolbar(Clng(s_DelID)) = ""
  652. Call WriteConfig()
  653. Call WriteStyle(Clng(sStyleID))
  654. Response.Write ("<script language=javascript>alert('工具栏(ID:" & s_DelID & ")删除操作成功!');</s" & "cript>")
  655. Call GoUrl("?action=toolbar&id=" & sStyleID)
  656. End If
  657. End Sub
  658. Sub InitToolBar()
  659. Dim b, aCurrToolbar, nToolbarID
  660. b = False
  661. sToolBarID = Trim(Request("toolbarid"))
  662. If IsNumeric(sToolBarID) = True Then
  663. If Clng(sToolBarID) <= UBound(aToolbar) And Clng(sToolBarID) > 0 Then
  664. aCurrToolbar = Split(aToolbar(Clng(sToolbarID)), "|||")
  665. sToolBarName = aCurrToolbar(2)
  666. sToolBarOrder = aCurrToolbar(3)
  667. sToolBarButton = aCurrToolbar(1)
  668. b = True
  669. End If
  670. End If
  671. If b = False Then
  672. GoError ("无效的工具栏ID号,请通过页面上的链接进行操作!")
  673. End If
  674. End Sub
  675. Sub ShowButtonList()
  676. Call ShowMessage("<b class=blue>当前样式:<span class=red>" & outHTML(sStyleName) & "</span>&nbsp;&nbsp;当前工具栏:<span class=red>" & outHTML(sToolBarName) & "</span></b>")
  677. Dim i, n
  678. Dim s_Option1
  679. s_Option1 = ""
  680. For i = 1 To UBound(aButton, 1)
  681. If aButton(i, 8) = 1 Then
  682. s_Option1 = s_Option1 & "<option value='" & aButton(i, 1) & "'>" & aButton(i, 2) & "</option>"
  683. End If
  684. Next
  685. Dim aSelButton, s_Option2, s_Temp
  686. aSelButton = Split(sToolBarButton, "|")
  687. s_Option2 = ""
  688. For i = 0 To UBound(aSelButton)
  689. s_Temp = Code2Title(aSelButton(i))
  690. If s_Temp <> "" Then
  691. s_Option2 = s_Option2 & "<option value='" & aSelButton(i) & "'>" & s_Temp & "</option>"
  692. End If
  693. Next
  694. Response.Write ("<s" & "cript language=javascript>" & VBCrlf & _
  695. "function Add() {" & VBCrlf & _
  696. " var sel1=document.myform.d_b1;" & VBCrlf & _
  697. " var sel2=document.myform.d_b2;" & VBCrlf & _
  698. " if (sel1.selectedIndex<0) {" & VBCrlf & _
  699. " alert(""请选择一个待选按钮!"");" & VBCrlf & _
  700. " return;" & VBCrlf & _
  701. " }" & VBCrlf & _
  702. " sel2.options[sel2.length]=new Option(sel1.options[sel1.selectedIndex].innerHTML,sel1.options[sel1.selectedIndex].value);" & VBCrlf & _
  703. "}" & VBCrlf & _
  704. "" & VBCrlf & _
  705. "function Del() {" & VBCrlf & _
  706. " var sel=document.myform.d_b2;" & VBCrlf & _
  707. " var nIndex = sel.selectedIndex;" & VBCrlf & _
  708. " var nLen = sel.length;" & VBCrlf & _
  709. " if (nLen<1) return;" & VBCrlf & _
  710. " if (nIndex<0) {" & VBCrlf & _
  711. " alert(""请选择一个已选按钮!"");" & VBCrlf & _
  712. " return;" & VBCrlf & _
  713. " }" & VBCrlf & _
  714. " for (var i=nIndex;i<nLen-1;i++) {" & VBCrlf & _
  715. " sel.options[i].value=sel.options[i+1].value;" & VBCrlf & _
  716. " sel.options[i].innerHTML=sel.options[i+1].innerHTML;" & VBCrlf & _
  717. " }" & VBCrlf & _
  718. " sel.length=nLen-1;" & VBCrlf & _
  719. "}" & VBCrlf & _
  720. "" & VBCrlf & _
  721. "function Up() {" & VBCrlf & _
  722. " var sel=document.myform.d_b2;" & VBCrlf & _
  723. " var nIndex = sel.selectedIndex;" & VBCrlf & _
  724. " var nLen = sel.length;" & VBCrlf & _
  725. " if ((nLen<1)||(nIndex==0)) return;" & VBCrlf & _
  726. " if (nIndex<0) {" & VBCrlf & _
  727. " alert(""请选择一个要移动的已选按钮!"");" & VBCrlf & _
  728. " return;" & VBCrlf & _
  729. " }" & VBCrlf & _
  730. " var sValue=sel.options[nIndex].value;" & VBCrlf & _
  731. " var sHTML=sel.options[nIndex].innerHTML;" & VBCrlf & _
  732. " sel.options[nIndex].value=sel.options[nIndex-1].value;" & VBCrlf & _
  733. " sel.options[nIndex].innerHTML=sel.options[nIndex-1].innerHTML;" & VBCrlf & _
  734. " sel.options[nIndex-1].value=sValue;" & VBCrlf & _
  735. " sel.options[nIndex-1].innerHTML=sHTML;" & VBCrlf & _
  736. " sel.selectedIndex=nIndex-1;" & VBCrlf & _
  737. "}" & VBCrlf & _
  738. "" & VBCrlf & _
  739. "function Down() {" & VBCrlf & _
  740. " var sel=document.myform.d_b2;" & VBCrlf & _
  741. " var nIndex = sel.selectedIndex;" & VBCrlf & _
  742. " var nLen = sel.length;" & VBCrlf & _
  743. " if ((nLen<1)||(nIndex==nLen-1)) return;" & VBCrlf & _
  744. " if (nIndex<0) {" & VBCrlf & _
  745. " alert(""请选择一个要移动的已选按钮!"");" & VBCrlf & _
  746. " return;" & VBCrlf & _
  747. " }" & VBCrlf & _
  748. " var sValue=sel.options[nIndex].value;" & VBCrlf & _
  749. " var sHTML=sel.options[nIndex].innerHTML;" & VBCrlf & _
  750. " sel.options[nIndex].value=sel.options[nIndex+1].value;" & VBCrlf & _
  751. " sel.options[nIndex].innerHTML=sel.options[nIndex+1].innerHTML;" & VBCrlf & _
  752. " sel.options[nIndex+1].value=sValue;" & VBCrlf & _
  753. " sel.options[nIndex+1].innerHTML=sHTML;" & VBCrlf & _
  754. " sel.selectedIndex=nIndex+1;" & VBCrlf & _
  755. "}" & VBCrlf & _
  756. "" & VBCrlf & _
  757. "function checkform() {" & VBCrlf & _
  758. " var sel=document.myform.d_b2;" & VBCrlf & _
  759. " var nLen = sel.length;" & VBCrlf & _
  760. " var str="""";" & VBCrlf & _
  761. " for (var i=0;i<nLen;i++) {" & VBCrlf & _
  762. " if (i>0) str+=""|"";" & VBCrlf & _
  763. " str+=sel.options[i].value;" & VBCrlf & _
  764. " }" & VBCrlf & _
  765. " document.myform.d_button.value=str;" & VBCrlf & _
  766. " return true;" & VBCrlf & _
  767. "}" & VBCrlf & _
  768. "" & VBCrlf & _
  769. "</s" & "cript>")
  770. Dim s_SubmitButton
  771. If nStyleIsSys = 1 Then
  772. s_SubmitButton = ""
  773. Else
  774. s_SubmitButton = "<input type=submit name=b value=' 保存设置 '>"
  775. End If
  776. Response.Write ("<table border=0 cellpadding=5 cellspacing=0 align=center>" & _
  777. "<form action='?action=buttonsave&id=" & sStyleID & "&toolbarid=" & sToolBarID & "' method=post name=myform onsubmit='return checkform()'>" & _
  778. "<tr align=center><td>可选按钮</td><td></td><td>已选按钮</td><td></td></tr>" & _
  779. "<tr align=center>" & _
  780. "<td><select name='d_b1' size=20 style='width:250px' ondblclick='Add()'>" & s_Option1 & "</select></td>" & _
  781. "<td><input type=button name=b1 value=' → ' onclick='Add()'><br><br><input type=button name=b1 value=' ← ' onclick='Del()'></td>" & _
  782. "<td><select name='d_b2' size=20 style='width:250px' ondblclick='Del()'>" & s_Option2 & "</select></td>" & _
  783. "<td><input type=button name=b3 value='↑' onclick='Up()'><br><br><br><input type=button name=b4 value='↓' onclick='Down()'></td>" & _
  784. "</tr>" & _
  785. "<input type=hidden name='d_button' value=''>" & _
  786. "<tr><td colspan=4 align=right>" & s_SubmitButton & "</td></tr>" & _
  787. "</form></table>")
  788. Response.Write ("<table border=0 cellspacing=1 align=center class=list>" & _
  789. "<tr><th colspan=4>以下是按钮图片对照表(部分下拉框或特殊按钮可能没图):</th></tr>")
  790. n = 0
  791. Dim m
  792. m = 0
  793. For i = 1 To UBound(aButton)
  794. If aButton(i, 8) = 1 Then
  795. m = m + 1
  796. n = m Mod 4
  797. If n = 1 Then
  798. Response.Write ("<tr>")
  799. End If
  800. Response.Write ("<td>")
  801. If aButton(i, 3) <> "" Then
  802. Response.Write ("<img border=0 align=absmiddle src='../buttonimage/" & sStyleDir & "/" & aButton(i, 3) & "'>")
  803. End If
  804. Response.Write (aButton(i, 2))
  805. Response.Write ("</td>")
  806. If n = 0 Then
  807. Response.Write ("</tr>")
  808. End If
  809. End If
  810. Next
  811. If n > 0 Then
  812. For i = 1 To 4 - n
  813. Response.Write ("<td>&nbsp;</td>")
  814. Next
  815. Response.Write ("</tr>")
  816. End if
  817. Response.Write ("</table>")
  818. End Sub
  819. Function Code2Title(s_Code)
  820. Dim i
  821. Code2Title = ""
  822. For i = 1 To UBound(aButton)
  823. If UCase(aButton(i, 1)) = UCase(s_Code) Then
  824. Code2Title = aButton(i, 2)
  825. Exit Function
  826. End If
  827. Next
  828. End Function
  829. Sub DoButtonSave()
  830. Dim s_Button, nToolBarID, aCurrToolbar
  831. s_Button = Trim(Request("d_button"))
  832. nToolBarID = Clng(sToolBarID)
  833. aCurrToolbar = Split(aToolbar(nToolBarID), "|||")
  834. aToolbar(nToolBarID) = aCurrToolbar(0) & "|||" & s_Button & "|||" & aCurrToolbar(2) & "|||" & aCurrToolbar(3)
  835. Call WriteConfig()
  836. Call WriteStyle(Clng(sStyleID))
  837. Call ShowMessage("<b><span class=red>工具栏按钮设置保存成功!</span></b><li><a href='?action=stylepreview&id=" & sStyleID & "' target='_blank'>预览此样式</a><li><a href='?action=toolbar&id=" & sStyleID & "'>返回工具栏管理</a><li><a href='?action=buttonset&id=" & sStyleID & "&toolbarid=" & sToolBarID & "'>重新设置此工具栏下的按钮</a>")
  838. End Sub
  839. Function InitSelect(s_FieldName, a_Name, a_Value, v_InitValue, s_AllName)
  840. Dim i
  841. InitSelect = "<select name='" & s_FieldName & "' size=1>"
  842. If s_AllName <> "" Then
  843. InitSelect = InitSelect & "<option value=''>" & s_AllName & "</option>"
  844. End If
  845. For i = 0 To UBound(a_Name)
  846. InitSelect = InitSelect & "<option value=""" & inHTML(a_Value(i)) & """"
  847. If a_Value(i) = v_InitValue Then
  848. InitSelect = InitSelect & " selected"
  849. End If
  850. InitSelect = InitSelect & ">" & outHTML(a_Name(i)) & "</option>"
  851. Next
  852. InitSelect = InitSelect & "</select>"
  853. End Function
  854. Sub WriteStyle(n_StyleID)
  855. Dim sConfig
  856. Dim aTmpStyle
  857. sConfig = ""
  858. aTmpStyle = Split(aStyle(n_StyleID), "|||")
  859. sConfig = sConfig & "config.ButtonDir = """ & aTmpStyle(1) & """;" & Vbcrlf
  860. sConfig = sConfig & "config.StyleUploadDir = """ & aTmpStyle(3) & """;" & Vbcrlf
  861. sConfig = sConfig & "config.InitMode = """ & aTmpStyle(18) & """;" & Vbcrlf
  862. sConfig = sConfig & "config.AutoDetectPasteFromWord = """ & aTmpStyle(17) & """;" & Vbcrlf
  863. sConfig = sConfig & "config.BaseUrl = """ & aTmpStyle(19) & """;" & Vbcrlf
  864. sConfig = sConfig & "config.BaseHref = """ & aTmpStyle(22) & """;" & Vbcrlf
  865. sConfig = sConfig & "config.AutoRemote = """ & aTmpStyle(24) & """;" & Vbcrlf
  866. sConfig = sConfig & "config.ShowBorder = """ & aTmpStyle(25) & """;" & Vbcrlf
  867. sConfig = sConfig & "config.StateFlag = """ & aTmpStyle(16) & """;" & Vbcrlf
  868. sConfig = sConfig & "config.CssDir = """ & aTmpStyle(2) & """;" & Vbcrlf
  869. sConfig = sConfig & "config.AutoDetectLanguage = """ & aTmpStyle(27) & """;" & Vbcrlf
  870. sConfig = sConfig & "config.DefaultLanguage = """ & aTmpStyle(28) & """;" & Vbcrlf
  871. sConfig = sConfig & "config.AllowBrowse = """ & aTmpStyle(43) & """;" & Vbcrlf
  872. sConfig = sConfig & Vbcrlf
  873. sConfig = sConfig & "function showToolbar(){" & Vbcrlf
  874. sConfig = sConfig & Vbcrlf
  875. sConfig = sConfig & chr(9) & "document.write ("""
  876. sConfig = sConfig & "<table border=0 cellpadding=0 cellspacing=0 width='100%' class='Toolbar' id='eWebEditor_Toolbar'>"
  877. Dim s_Order, s_ID, n, aTmpToolbar
  878. s_Order = ""
  879. s_ID = ""
  880. For n = 1 To UBound(aToolbar)
  881. If aToolbar(n) <> "" Then
  882. aTmpToolbar = Split(aToolbar(n), "|||")
  883. If aTmpToolbar(0) = CStr(n_StyleID) Then
  884. If s_ID <> "" Then
  885. s_ID = s_ID & "|"
  886. s_Order = s_Order & "|"
  887. End If
  888. s_ID = s_ID & CStr(n)
  889. s_Order = s_Order & aTmpToolbar(3)
  890. End If
  891. End If
  892. Next
  893. Dim a_ID, a_Order, aTmpButton, i
  894. If s_ID <> "" Then
  895. a_ID = Split(s_ID, "|")
  896. a_Order = Split(s_Order, "|")
  897. For n = 0 To UBound(a_Order)
  898. a_Order(n) = Clng(a_Order(n))
  899. a_ID(n) = Clng(a_ID(n))
  900. Next
  901. a_ID = Sort(a_ID, a_Order)
  902. For n = 0 To UBound(a_ID)
  903. aTmpToolbar = Split(aToolbar(a_ID(n)), "|||")
  904. aTmpButton = Split(aTmpToolbar(1), "|")
  905. sConfig = sConfig & "<tr><td><div class=yToolbar>"
  906. For i = 0 To UBound(aTmpButton)
  907. If UCase(aTmpButton(i)) = "MAXIMIZE" Then
  908. sConfig = sConfig & """);" & Vbcrlf
  909. sConfig = sConfig & Vbcrlf
  910. sConfig = sConfig & chr(9) & "if (sFullScreen==""1""){" & Vbcrlf
  911. sConfig = sConfig & chr(9) & chr(9) & "document.write (""" & Code2HTML("Minimize", aTmpStyle(1)) & """);" & Vbcrlf
  912. sConfig = sConfig & chr(9) & "}else{" & Vbcrlf
  913. sConfig = sConfig & chr(9) & chr(9) & "document.write (""" & Code2HTML(aTmpButton(i), aTmpStyle(1)) & """);" & Vbcrlf
  914. sConfig = sConfig & chr(9) & "}" & Vbcrlf
  915. sConfig = sConfig & Vbcrlf
  916. sConfig = sConfig & chr(9) & "document.write ("""
  917. Else
  918. sConfig = sConfig & Code2HTML(aTmpButton(i), aTmpStyle(1))
  919. End If
  920. Next
  921. sConfig = sConfig & "</div></td></tr>"
  922. Next
  923. Else
  924. sConfig = sConfig & "<tr><td></td></tr>"
  925. End If
  926. sConfig = sConfig & "</table>"");" & Vbcrlf
  927. sConfig = sConfig & Vbcrlf
  928. sConfig = sConfig & "}" & Vbcrlf
  929. Call WriteFile("../style/" & LCase(aTmpStyle(0)) & ".js", sConfig)
  930. End Sub
  931. Function Code2HTML(s_Code, s_ButtonDir)
  932. Dim i
  933. Code2HTML = ""
  934. For i = 1 To UBound(aButton, 1)
  935. If UCase(aButton(i, 1)) = UCase(s_Code) Then
  936. Select Case aButton(i, 5)
  937. Case 0
  938. Code2HTML = "<DIV CLASS=" & aButton(i, 7) & " TITLE='""+lang[""" & aButton(i, 1) & """]+""' onclick=""" & aButton(i, 6) & """><IMG CLASS=Ico SRC='buttonimage/" & s_ButtonDir & "/" & aButton(i, 3) & "'></DIV>"
  939. Case 1
  940. If aButton(i, 4) <> "" Then
  941. Code2HTML = "<SELECT CLASS=" & aButton(i, 7) & " onchange=""" & aButton(i, 6) & """>" & aButton(i, 4) & "</SELECT>"
  942. Else
  943. Code2HTML = "<SELECT CLASS=" & aButton(i, 7) & " onchange=""" & aButton(i, 6) & """>""+lang[""" & aButton(i, 1) & """]+""</SELECT>"
  944. End If
  945. Case 2
  946. Code2HTML = "<DIV CLASS=" & aButton(i, 7) & ">" & aButton(i, 4) & "</DIV>"
  947. End Select
  948. Exit Function
  949. End If
  950. Next
  951. End Function
  952. Sub DeleteFile(s_StyleName)
  953. On Error Resume Next
  954. Dim oFSO, sMapFileName
  955. oFSO = Server.CreateObject("Scripting.FileSystemObject")
  956. sMapFileName = Server.MapPath("../style/" & LCase(s_StyleName) & ".js")
  957. If oFSO.FileExists(sMapFileName) Then
  958. oFSO.DeleteFile(sMapFileName)
  959. End If
  960. oFSO = Nothing
  961. End Sub
  962. Sub GoUrl(url)
  963. Response.Write ("<script language=javascript>location.href=""" & url & """;</s" & "cript>")
  964. Response.End
  965. End Sub
  966. Function isValidColor(str)
  967. Dim re As Regex
  968. re = new Regex("[A-Fa-f0-9]{6}")
  969. isValidColor = re.IsMatch(str)
  970. End Function
  971. </script>