<%@language=vbscript codepage=936 %> <% option explicit response.buffer=true Const PurviewLevel=2 '操作权限 Const CheckChannelID=0 '所属频道,0为不检测所属频道 Const PurviewLevel_Others="Skin" %> <% dim rs, sql dim Action,SkinID,FoundErr,ErrMsg Action=trim(request("Action")) SkinID=trim(request("SkinID")) %> 配色模板管理
配 色 模 板 管 理
管理导航: 配色模板管理首页 | 添加配色模板 | 配色模板导出 | 配色模板导入
<% select case Action case "Add","Modify" call ShowSkinSet() case "SaveAdd" call SaveAdd() case "SaveModify" call SaveModify() case "Set" call SetDefault() case "Del" call DelSkin() case "Export" call Export() case "DoExport" call DoExport() case "Import" call Import() case "Import2" call Import2() case "DoImport" call DoImport() case else call main() end select if FoundErr=True then call WriteErrMsg() end if call CloseConn() sub main() sql="select * from Skin" Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,1 %>
<%if not(rs.bof and rs.eof) then do while not rs.EOF %> <% rs.MoveNext loop %> <%end if%>
选择 ID 模板名称 效果图 设计者 模板类型 操作
" <%if rs("IsDefault")=true then response.write " checked"%> name="SkinID"> <%=rs("SkinID")%> <%=rs("SkinName")%> <%response.write ""%> <%response.write "" & rs("DesignerName") & ""%> <%if rs("DesignType")=1 then response.write "用户自定义" else response.write "系统提供"%> <% response.write "修改模板设置 " if rs("DesignType")=1 and rs("IsDefault")=False then response.write "删除模板" else response.write "        " end if %>
<% rs.close set rs=nothing end sub sub Export() sql="select * from Skin" Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,1 %>
<%if not(rs.bof and rs.eof) then do while not rs.EOF %> <% rs.MoveNext loop %> <%end if%>
配色模板导出
选择 ID 模板名称 效果图 设计者 模板类型
" name="SkinID" onclick="unselectall()"> <%=rs("SkinID")%> <%=rs("SkinName")%> <%response.write ""%> <%response.write "" & rs("DesignerName") & ""%> <%if rs("DesignType")=1 then response.write "用户自定义" else response.write "系统提供"%>
选中所有模板                  导出选中的模板到数据库:
<% rs.close set rs=nothing end sub sub Import() %>
配色模板导入(第一步)
    请输入要导入的模板数据库的文件名:
<% end sub sub Import2() on error resume next dim mdbname,tconn,trs mdbname=replace(trim(request.form("skinmdb")),"'","") if mdbname="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请填写导入模版数据库名" exit sub end if Set tconn = Server.CreateObject("ADODB.Connection") tconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdbname) if err.number<>0 then ErrMsg=ErrMsg & "
  • 数据库操作失败,请以后再试,错误原因:" & err.Description err.clear exit sub end if sql="select * from Skin" Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,tconn,1,1 %>
    <%if not(rs.bof and rs.eof) then do while not rs.EOF %> <% rs.MoveNext loop %> <%end if%>
    配色模板导入(第二步)
    选择 ID 模板名称 效果图 设计者 模板类型
    " name="SkinID" onclick="unselectall()"> <%=rs("SkinID")%> <%=rs("SkinName")%> <%response.write ""%> <%response.write "" & rs("DesignerName") & ""%> <%if rs("DesignType")=1 then response.write "用户自定义" else response.write "系统提供"%>
    选中所有模板                  
    <% rs.close set rs=nothing end sub sub ShowSkinSet() if Action="Add" then sql="select * from Skin where IsDefault=True" elseif Action="Modify" then if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定SkinID
  • " exit sub else SkinID=Clng(SkinID) end if sql="select * from Skin where SkinID=" & SkinID end if Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,1 if rs.bof and rs.eof then FoundErr=True ErrMsg=ErrMsg & "
  • 数据库出现错误!
  • " rs.close set rs=nothing exit sub end if dim Skin_CSS Skin_CSS=split(rs("Skin_CSS"),"|||") %>
    <%if Action="Add" then%> 添加新配色模板 <%else%> 修改模板设置 <%end if%>
    配色模板基本信息
    配色模板名称: " size="50" maxlength="50">
    配色模板预览图: <%if Action="Modify" and rs("DesignType")=0 then%> "> <%=rs("PicUrl")%> <%else%> " size="50" maxlength="100"> <%end if%>
    设计者姓名: <%if Action="Modify" and rs("DesignType")=0 then%> "> <%=rs("DesignerName")%> <%else%> " size="50" maxlength="30"> <%end if%>
    设计者Email: <%if Action="Modify" and rs("DesignType")=0 then%> "> <%=rs("DesignerEmail")%> <%else%> " size="50" maxlength="100"> <%end if%>
    设计者主页: <%if Action="Modify" and rs("DesignType")=0 then%> "> <%=rs("DesignerHomepage")%> <%else%> " size="50" maxlength="100"> <%end if%>
    模板配色设置(修改以下设置必须具备一定网页知识,不能使用单引号或双引号,否则会容易造成程序错误
    BODY标签
    控制整个页面风格的背景颜色或者背景图片等
    " size="50" maxlength="200">
    链接总的CSS定义
    可定义内容为链接字体颜色、样式等
    Body的CSS定义
    对应CSS中“BODY”,可定义内容为网页字体颜色、背景、浏览器边框等
    单元格的CSS定义
    对应CSS中的“TD”,这里为总的表格定义,为一般表格的的单元格风格设置,可定义内容为背景、字体颜色、样式等

    文本框的CSS定义
    对应CSS中的“INPUT”,这里为文本框的风格设置,可定义内容为背景、字体、颜色、边框等

    按钮的CSS定义
    对应CSS中的“BUTTON”,这里为按钮的风格设置,可定义内容为背景、字体、颜色、边框等
    下拉列表框的CSS定义
    对应CSS中的“SELECT”,这里为下拉列表框的风格设置,可定义内容为背景、字体、颜色、边框等
    表格边框的CSS定义
    对应CSS中的“.border”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=border
    表格边框的CSS定义
    对应CSS中的“.border2”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=border2
    标题文字的CSS定义一
    对应CSS中的“.title_txt”,可定义内容为字体、颜色等
    调用:Class=title_txt
    标题单元格的CSS定义一
    对应CSS中的“.title”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=title
    内容单元格的CSS定义一
    对应CSS中的“.tdbg”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg
    导航条内容的CSS定义
    对应CSS中的“.txt_css”,可定义内容为字体、颜色等
    调用:Class=txt_css
    [左分栏格式表格的CSS定义]
    ·左分栏-标题文字的CSS定义
    对应CSS中的“.title_lefttxt”,可定义内容为字体、颜色等
    调用:Class=title_lefttxt
    ·左分栏-标题单元格的CSS定义(1)
    对应CSS中的“.title_left”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=title_left
    ·左分栏-内容单元格的CSS定义(1)
    对应CSS中的“.tdbg_left”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_left
    ·左分栏-标题单元格的CSS定义(2)*
    对应CSS中的“.title_left2”,可定义内容为背景、背景图、字体及其颜色等(注:现只为绿雨飘香模板中使用)
    调用:Class=title_left2
    ·左分栏-内容单元格的CSS定义(2)*
    对应CSS中的“.tdbg_left2”,可定义内容为背景、背景图、字体及其颜色等(注:现为灰色阴影条的CSS)
    调用:Class=tdbg_left2
    ·左分栏-内容单元格背景的CSS定义
    对应CSS中的“.tdbg_leftall”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_leftall
    [中分栏格式表格的CSS定义]
    ·中分栏-标题文字的CSS定义
    对应CSS中的“.title_maintxt”,可定义内容为字体、颜色等
    调用:Class=title_maintxt
    ·中分栏-标题单元格的CSS定义(1)
    对应CSS中的“.title_main”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=title_main
    ·中分栏-内容单元格的CSS定义(1)
    对应CSS中的“.tdbg_main”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_main
    ·中分栏-标题单元格的CSS定义(2)
    对应CSS中的“.title_main2”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=title_main2
    ·中分栏-内容单元格的CSS定义(2)
    对应CSS中的“.tdbg_main2”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_main2
    ·中分栏-内容单元格背景的CSS定义
    对应CSS中的“.tdbg_mainall”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_mainall
    [右分栏格式表格的CSS定义]
    ·右分栏-标题文字的CSS定义
    对应CSS中的“.title_righttxt”,可定义内容为字体、颜色等
    调用:Class=title_righttxt
    ·右分栏-标题单元格的CSS定义(1)
    对应CSS中的“.title_right”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=title_right
    ·右分栏-内容单元格的CSS定义(1)
    对应CSS中的“.tdbg_right”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_right
    ·右分栏-标题单元格的CSS定义(2)*
    对应CSS中的“.title_right2”,可定义内容为背景、背景图、字体及其颜色等(注:备用的CSS)
    调用:Class=title_right2
    ·右分栏-内容单元格的CSS定义(2)*
    对应CSS中的“.tdbg_right2”,可定义内容为背景、背景图、字体及其颜色等(注:备用的CSS)
    调用:Class=tdbg_right2
    ·右分栏-内容单元格背景的CSS定义
    对应CSS中的“.tdbg_rightall”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=tdbg_rightall
    [顶部菜单表格的CSS定义]
    顶部菜单表格CSS定义
    对应CSS中的“.topborder”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=topborder
    顶部菜单表格CSS定义(Logo & Banner上方)
    对应CSS中的“.nav_top”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=nav_top
    顶部菜单表格CSS定义(Logo & Banner部分)
    对应CSS中的“.nav_main”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=nav_main
    顶部菜单表格CSS定义(Logo & Banner下方)
    对应CSS中的“.nav_bottom”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=nav_bottom
    顶部菜单表格CSS定义(导航菜单部分)
    对应CSS中的“.nav_menu”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=nav_menu
    下拉菜单CSS定义
    对应CSS中的“.menu”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=menu
    下拉菜单主体部分CSS定义
    对应CSS中的“td.MenuBody”,可定义内容为背景、背景图、字体及其颜色等
    调用:Class=MenuBody
    <%if Action="Add" then%> <%else%> <%end if%>
    <% rs.close set rs=nothing end sub %> <% sub SaveAdd() call CheckSkin() if FoundErr=True then exit sub sql="select top 1 * from Skin" Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,3 rs.addnew rs("IsDefault")=False rs("DesignType")=1 call SaveSkin() rs.close set rs=nothing call WriteSuccessMsg("成功添加新的配色模板:"& trim(request("SkinName"))) end sub sub SaveModify() if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定SkinID
  • " else SkinID=Clng(SkinID) end if call CheckSkin() if FoundErr=True then exit sub sql="select * from Skin where SkinID=" & SkinID Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,3 if rs.bof and rs.eof then FoundErr=True ErrMsg=ErrMsg & "
  • 找不到指定的配色模板!
  • " else call SaveSkin() call WriteSuccessMsg("保存配色模板设置成功!") end if rs.close set rs=nothing end sub sub SetDefault() if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定SkinID
  • " exit sub else SkinID=Clng(SkinID) end if conn.execute("update Skin set IsDefault=False where IsDefault=True") conn.execute("update Skin set IsDefault=True where SkinID=" & SkinID) call WriteSuccessMsg("成功将选定的模板设置为默认模板") end sub sub CheckSkin() if trim(request("SkinName"))="" then FoundErr=True ErrMsg=ErrMsg & "
  • 模板名称不能为空!
  • " end if if trim(request("PicUrl"))="" then FoundErr=True ErrMsg=ErrMsg & "
  • 模板预览图地址不能为空!
  • " end if if trim(request("DesignerName"))="" then FoundErr=True ErrMsg=ErrMsg & "
  • 模板设计者姓名不能为空!
  • " end if if trim(request("DesignerEmail"))="" then FoundErr=True ErrMsg=ErrMsg & "
  • 模板设计者邮箱不能为空!
  • " end if end sub sub SaveSkin() rs("SkinName")=trim(request("SkinName")) rs("PicUrl")=trim(request("PicUrl")) rs("DesignerName")=trim(request("DesignerName")) rs("DesignerEmail")=trim(request("DesignerEmail")) rs("DesignerHomePage")=trim(request("DesignerHomepage")) rs("Body")=trim(request("Body")) dim Skin_CSS Skin_CSS= request("Link") & "|||" & request("CSS_Body") & "|||" & request("TD") & "|||" & request("Input") & "|||" & request("Button") & "|||" & request("Select") & "|||" Skin_CSS=Skin_CSS & request("border") & "|||" & request("border2") & "|||" & request("title_txt") & "|||" & request("title") & "|||" & request("tdbg") & "|||" & request("txt_css") & "|||" Skin_CSS=Skin_CSS & request("title_lefttxt") & "|||" & request("title_left") & "|||" & request("tdbg_left") & "|||" & request("title_left2") & "|||" & request("tdbg_left2") & "|||" & request("tdbg_leftall") & "|||" Skin_CSS=Skin_CSS & request("title_maintxt") & "|||" & request("title_main") & "|||" & request("tdbg_main") & "|||" & request("title_main2") & "|||" & request("tdbg_main2") & "|||" & request("tdbg_mainall") & "|||" Skin_CSS=Skin_CSS & request("title_righttxt") & "|||" & request("title_right") & "|||" & request("tdbg_right") & "|||" & request("title_right2") & "|||" & request("tdbg_right2") & "|||" & request("tdbg_rightall") & "|||" Skin_CSS=Skin_CSS & request("topborder") & "|||" & request("nav_top") & "|||" & request("nav_main") & "|||" & request("nav_bottom") & "|||" & request("nav_menu") & "|||" & request("menu") & "|||" & request("MenuBody") rs("Skin_CSS")=Skin_CSS rs.update end sub sub DelSkin() if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定SkinID
  • " exit sub else SkinID=Clng(SkinID) end if sql="select * from Skin where SkinID=" & SkinID Set rs=Server.CreateObject("Adodb.RecordSet") rs.Open sql,conn,1,3 if rs.bof and rs.eof then FoundErr=True ErrMsg=ErrMsg & "
  • 找不到指定的配色模板!
  • " else if rs("DesignType")=0 then FoundErr=True ErrMsg=ErrMsg & "
  • 不能删除系统自带的模板!
  • " elseif rs("IsDefault")=True then FoundErr=True ErrMsg=ErrMsg & "
  • 当前模板为默认模板,不能删除。请先将默认模板改为其他模板后再来删除此模板。
  • " end if end if if FoundErr=True then rs.close set rs=nothing exit sub end if rs.delete rs.update rs.close set rs=nothing dim trs set trs=conn.execute("select SkinID from Skin where IsDefault=True") conn.execute("update ArticleClass set SkinID=" & trs(0) & " where SkinID=" & SkinID) conn.execute("update Article set SkinID=" & trs(0) & " where SkinID=" & SkinID) set trs=nothing call WriteSuccessMsg("成功删除选定的模板。并将使用此模板的栏目和文章改为使用默认模板。") end sub sub DoExport() on error resume next dim mdbname,tconn,trs SkinID=replace(SkinID,"'","") mdbname=replace(trim(request.form("skinmdb")),"'","") if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定要导出的模版
  • " end if if mdbname="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请填写导出模版数据库名" end if if FoundErr=True then exit sub end if Set tconn = Server.CreateObject("ADODB.Connection") tconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdbname) if err.number<>0 then ErrMsg=ErrMsg & "
  • 数据库操作失败,请以后再试,错误原因:" & err.Description err.clear exit sub end if tconn.execute("delete * from Skin") set rs=conn.execute("select * from Skin where SkinID in (" & SkinID &") order by SkinID ") set trs=server.CreateObject("adodb.recordset") trs.open "select * from Skin",tconn,1,3 do while not rs.eof trs.addnew trs("SkinName")=rs("SkinName") trs("PicUrl")=rs("PicUrl") trs("DesignerName")=rs("DesignerName") trs("DesignerEmail")=rs("DesignerEmail") trs("DesignerHomePage")=rs("DesignerHomePage") trs("Body")=rs("Body") trs("Skin_CSS")=rs("Skin_CSS") trs("IsDefault")=False trs("DesignType")=rs("DesignType") trs.update rs.movenext loop trs.close set trs=nothing rs.close set rs=nothing tconn.close set tconn=nothing call WriteSuccessMsg("已经成功将所选中的模板设置导出到指定的数据库中!

    你还需要将Skin文件夹中图片文件一起打包。") end sub sub DoImport() on error resume next dim mdbname,tconn,trs SkinID=replace(SkinID,"'","") mdbname=replace(trim(request.form("skinmdb")),"'","") if SkinID="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请指定要导入的模版
  • " end if if mdbname="" then FoundErr=True ErrMsg=ErrMsg & "
  • 请填写导出模版数据库名" end if if FoundErr=True then exit sub end if Set tconn = Server.CreateObject("ADODB.Connection") tconn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdbname) if err.number<>0 then ErrMsg=ErrMsg & "
  • 数据库操作失败,请以后再试,错误原因:" & err.Description err.clear exit sub end if set rs=tconn.execute(" select * from Skin where SkinID in (" & SkinID &") order by SkinID") set trs=server.CreateObject("adodb.recordset") trs.open "select * from Skin",conn,1,3 do while not rs.eof trs.addnew trs("SkinName")=rs("SkinName") trs("PicUrl")=rs("PicUrl") trs("DesignerName")=rs("DesignerName") trs("DesignerEmail")=rs("DesignerEmail") trs("DesignerHomePage")=rs("DesignerHomePage") trs("Body")=rs("Body") trs("Skin_CSS")=rs("Skin_CSS") trs("IsDefault")=False trs("DesignType")=rs("DesignType") trs.update rs.movenext loop trs.close set trs=nothing rs.close set rs=nothing tconn.close set tconn=nothing call WriteSuccessMsg("已经成功从指定的数据库中导入选中的模板!

    你还需要将图片文件复制到Skin目录中的相应文件夹中才真正完成导入工作。") end sub %>