<% Dim admin_flag,CssList,StyleConn admin_flag=",21," If not Dvbbs.master or instr(","&session("flag")&",",admin_flag)=0 Then Head() Errmsg=ErrMsg + "
  • 本页面为管理员专用,请登录后进入。

  • 您没有管理本页面的权限。<.li>" dvbbs_error() Call Footer() Response.End End If Select Case Request("action") Case "" Main() Case "doout" doout() Case "load" Load() Case "doload" doLoad() Case "doupdate" doupdate() End Select Sub doupdate() Dim Rs,node,inid,cssid,RsSkin,i,cssdom,toid If Request.form("submit")="" Then Head() Readme() Setup1 Else If Request.form("inid")="" Then Head() Errmsg=ErrMsg + "
  • 必须选择源模板." dvbbs_error() Call Footer() Exit Sub End If If Request.form("toid")="" Then Head() Errmsg=ErrMsg + "
  • 必须选择目标模板." dvbbs_error() Call Footer() Exit Sub End If If SkinConnection(Request.Form("skinmdb")) Then inid=Request.form("inid") toid=Request.form("toid") Set Rs=StyleConn.Execute("select * From Dv_style Where ID="&CLng(inid)) Set RsSkin=Server.CreateObject("adodb.recordset") RsSkin.open "Select * From Dv_Style Where Id="& CLng(toid),Conn,1,3 For i=2 to 19 If Request.form(RsSkin(i).Name)="1" Then RsSkin(i)=Rs(RsSkin(i).Name) End If Next RsSkin.update RsSkin.Close If Request.form("Forum_CSS")="1" Then Set CssList=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) Set cssdom=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) CssList.LoadXML Rs("Forum_CSS") Set Rs=Dvbbs.Execute("select Forum_Css From Dv_Setup") cssdom.LoadXMl Rs(0) SetTid toid Rem 删除该模板的CSS样式 For Each Node in cssdom.documentElement.selectNodes("css[tid='"&toid&"']") cssdom.documentElement.removeChild(node) Next For Each Node in CssList.documentElement.selectNodes("css") cssdom.documentElement.appendChild(node) Next i=1 For Each Node in cssdom.documentElement.selectNodes("css/@filename") Node.text="aspsky_"&i i=i+1 Next i=1 For Each Node in cssdom.documentElement.selectNodes("css/@id") Node.text=i i=i+1 Next Dvbbs.Execute("Update Dv_Setup Set Forum_Css='"&Dvbbs.Checkstr(cssdom.xml)&"'") End If Dvbbs.loadSetup() Dvbbs.Loadstyle() createsccfile() Head() Dv_suc("模板覆盖更新完成!") Call Footer() Else Head() Errmsg=ErrMsg + "
  • 目标数据库"& Request.Form("skinmdb")&"不存在或有错误.
  • " dvbbs_error() Call Footer() End If End If End Sub Sub Load() If Request("setup")="" or Request.form("submit")="" Then Head() Readme() Setup1 ElseIf Request("setup")="1" Then Head() Setup2 End If Footer() End Sub Sub doload() Dim Rs,node,skid,cssid,RsSkin,i,cssdom If Request.form("skid")="" Then Head() Errmsg=ErrMsg + "
  • 必须选择要导入的模板." dvbbs_error() Call Footer() Exit Sub End If If SkinConnection(Request.Form("skinmdb")) Then Set Rs=Dvbbs.Execute("select Forum_Css From Dv_Setup") Set CssList=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) Set cssdom=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) cssdom.LoadXMl Rs(0) Set Rs=Nothing For Each skid in Request.form("skid") Set Rs=StyleConn.Execute("select * From Dv_style Where ID="&CLng(skid)) Set cssid=Request.Form("cssid_"&skid) Set RsSkin=Server.CreateObject("adodb.recordset") RsSkin.open "Select * From Dv_Style Where Id=0",Conn,1,3 RsSkin.AddNew RsSkin("StyleName")=Request.Form("StyleName"&skid) RsSkin("Main_Style")=Rs("Main_Style") RsSkin("Style_Pic")=Rs("Style_Pic") RsSkin("page_index")=Rs("page_index") RsSkin("page_dispbbs")=Rs("page_dispbbs") RsSkin("page_showerr")=Rs("page_showerr") RsSkin("page_login")=Rs("page_login") RsSkin("page_online")=Rs("page_online") RsSkin("page_usermanager")=Rs("page_usermanager") RsSkin("page_fmanage")=Rs("page_fmanage") RsSkin("page_boardstat")=Rs("page_boardstat") RsSkin("page_paper_even_toplist")=Rs("page_paper_even_toplist") RsSkin("page_query")=Rs("page_query") RsSkin("page_show")=Rs("page_show") RsSkin("page_dispuser")=Rs("page_dispuser") RsSkin("page_help_permission")=Rs("page_help_permission") RsSkin("page_postjob")=Rs("page_postjob") RsSkin("page_post")=Rs("page_post") RsSkin("page_boardhelp")=Rs("page_boardhelp") CssList.LoadXML Rs("Forum_CSS") Set CssList=OutCSSDom(cssid) RsSkin.Update RsSkin.MoveLast SetTid(RsSkin("id")) RsSkin.Close For Each Node in CssList.documentElement.selectNodes("css") cssdom.documentElement.appendChild(node) Next Next i=1 For Each Node in cssdom.documentElement.selectNodes("css/@filename") Node.text="aspsky_"&i i=i+1 Next i=1 For Each Node in cssdom.documentElement.selectNodes("css/@id") Node.text=i i=i+1 Next Dvbbs.Execute("Update Dv_Setup Set Forum_Css='"&Dvbbs.Checkstr(cssdom.xml)&"'") Dvbbs.loadSetup() Dvbbs.Loadstyle() createsccfile() Head() Dv_suc("模板成功导入") Call Footer() Else Head() Errmsg=ErrMsg + "
  • 目标数据库"& Request.Form("skinmdb")&"不存在或有错误.
  • " dvbbs_error() Call Footer() End If End Sub Sub createsccfile() On error resume Next Dim Fso,filename,Forum_CSS Set FSO=Server.CreateObject("Scripting.FileSystemObject") If Err Then err.Clear Errmsg=ErrMsg + "
  • 您的服务器不支持写文件,CSS文件写入失败,请手工操作或把生成文件的内容清空!
  • " Dvbbs_error() Exit Sub End If For Each filename In Application(Dvbbs.CacheName & "_csslist").documentElement.selectNodes("css/@filename") If filename.text<>"" Then If InStr(filename.text,".")=0 Then Dvbbs.SkinID=filename.selectSingleNode("../tid").text Dvbbs.LoadTemplates("") Forum_CSS=filename.selectSingleNode("../cssdata").text Forum_CSS=Replace(Forum_CSS,"{$width}",Dvbbs.mainsetting(0)) Forum_CSS=Replace(Forum_CSS,"{$PicUrl}",filename.selectSingleNode("../@picurl").text) Fso.CreateTextFile(server.MapPath("../skins/"& filename.text &".css")).WriteLine(Forum_CSS) If Err Then err.Clear Errmsg=ErrMsg + "
  • 您的服务器不支持写文件,CSS文件写入失败,请手工操作或把生成文件的内容清空!
  • " Dvbbs_error() Exit Sub End If End If End If Next Set FSO=Nothing End Sub Sub SetTid(id) Dim Node For Each Node in CssList.documentElement.selectNodes("css/tid") node.text=id Next End Sub Sub Setup2() If SkinConnection(Request.Form("skinmdb")) Then Dim Rs,node Set CssList=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) Set Rs=StyleConn.Execute("select ID,StyleName ,Forum_CSS,DateAndTime,readme From Dv_style") %>
    <% do while not Rs.eof CssList.LoadXMl Rs("Forum_CSS") %> <% Rs.movenext loop Rs.close:Set Rs=Nothing Set Rs=StyleConn.Execute("select * From Dv_style") Dim Rs1 Set Rs1=Dvbbs.Execute("select ID,StyleName From Dv_style") %>
    模板和CSS的导入[追加模式]
    您现在要执行的是模板和CSS的导入,把需要导入的勾上再提交
    选择 日期 模版名称 附加说明 适用的CSS样式
    "> <%=rs("DateAndTime")%> " value="<%=Rs("StyleName")%>">
    <%=rs("readme")%>
    <% For Each Node in CssList.documentElement.selectNodes("css") %> " value="<%=node.selectSingleNode("@id").text%>"> <%=node.selectSingleNode("@type").text%> <% Next %>
    数据库:" readonly>

    <% For i= 2 to 20%> <%Next%>
    模板和CSS的导入[覆盖模式]
    请在源模板中选择一份,再在目标(论坛)的模板中选择一份.然后提交,覆盖操作每次只可以处理一份模板.
    选择源模板 选择被覆盖的目标模板
    <% i =0 do while not Rs.eof%>
    " <% If i= 0 Then Response.Write " checked"%>><%=Rs("StyleName")%>
    • 日期:<%=Rs("DateAndTime")%>
    • 说明:<%=Rs("readme")%>
    <% i=1 Rs.movenext loop %>
    <% i =0 do while not Rs1.eof%>
    ><%=Rs1(1)%>
    <% i=1 Rs1.movenext loop %>
    数据项目 操作选择
    <%=Rs(i).name%> 覆盖
    数据库:" readonly>
    <% Else Errmsg=ErrMsg + "
  • 数据库"& Request.Form("skinmdb")&"不存在或有错误.
  • " dvbbs_error() End If End Sub Sub Main Head() Readme() Skinlist() Footer() End Sub Sub Setup1()%>
    模板和CSS的入
    您现在要执行的是模板和CSS的导入,请设置好要导入的源数据库名称,然后提交.
    数据库:
    <% End Sub Sub doout() Dim Rs,node,skid,cssid,RsSkin,i If Request.form("skid")="" Then Head() Errmsg=ErrMsg + "
  • 必须选择要导出的模板." dvbbs_error() Call Footer() Exit Sub End If If SkinConnection(Request.Form("skinmdb")) Then Set Rs=Dvbbs.Execute("select Forum_Css From Dv_Setup") Set CssList=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) CssList.LoadXMl Rs(0) Set Rs=Nothing For Each skid in Request.form("skid") Set Rs=Dvbbs.Execute("select * From Dv_style Where ID="&CLng(skid)) Set cssid=Request.Form("cssid_"&skid) Set RsSkin=Server.CreateObject("adodb.recordset") RsSkin.open "Select * From Dv_Style Where Id=0",StyleConn,1,3 RsSkin.AddNew RsSkin("StyleName")=Request.Form("StyleName"&skid) RsSkin("Main_Style")=Rs("Main_Style") RsSkin("Style_Pic")=Rs("Style_Pic") RsSkin("page_index")=Rs("page_index") RsSkin("page_dispbbs")=Rs("page_dispbbs") RsSkin("page_showerr")=Rs("page_showerr") RsSkin("page_login")=Rs("page_login") RsSkin("page_online")=Rs("page_online") RsSkin("page_usermanager")=Rs("page_usermanager") RsSkin("page_fmanage")=Rs("page_fmanage") RsSkin("page_boardstat")=Rs("page_boardstat") RsSkin("page_paper_even_toplist")=Rs("page_paper_even_toplist") RsSkin("page_query")=Rs("page_query") RsSkin("page_show")=Rs("page_show") RsSkin("page_dispuser")=Rs("page_dispuser") RsSkin("page_help_permission")=Rs("page_help_permission") RsSkin("page_postjob")=Rs("page_postjob") RsSkin("page_post")=Rs("page_post") RsSkin("page_boardhelp")=Rs("page_boardhelp") RsSkin("Forum_CSS")=OutCSSDom(cssid).xml RsSkin("DateAndTime")=Now() RsSkin("Readme")=Request.Form("readme"&skid) RsSkin.Update RsSkin.Close Next Head() Dv_suc "模板数据已经保存到您的论坛根目录下的skins下,文件名为"&Request.Form("skinmdb") Call Footer() Else Head() Errmsg=ErrMsg + "
  • 目标数据库"& Request.Form("skinmdb")&"不存在或有错误.
  • " dvbbs_error() Call Footer() End If End Sub Function OutCSSDom(IDlist) Dim XML Set XML=CssList.cloneNode(True) Dim Node,cssid,id cssid="" For Each id in IDlist If IsNumeric(id) and id<>"" Then If cssid="" Then cssid="@id !="&id&" " Else cssid=cssid & "and @id !="&Id&" " End If End If Next If CssID<>"" Then CssID="["&CssID&"]" For Each Node in XML.documentElement.SelectNodes("css"&CSSID) XML.documentElement.removeChild(node) Next Set OutCSSDom=XML End Function Function SkinConnection(mdbname) On Error Resume Next Set StyleConn = Server.CreateObject("ADODB.Connection") StyleConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(MyDbPath &"skins/"&mdbname) If Err Then err.Clear SkinConnection=False Else SkinConnection=True End If End Function Sub Readme() %>
    Dvbbs 7.1.0 Sp1 模板和CSS导入和导出管理
    请选择操作: 导 出 | 导 入

    <% End Sub Sub Skinlist() Dim Rs,node Set Rs=Dvbbs.Execute("select Forum_Css From Dv_Setup") Set CssList=Server.CreateObject("Msxml2.FreeThreadedDOMDocument"& MsxmlVersion) CssList.LoadXMl Rs(0) Set Rs=Nothing Set Rs=Dvbbs.Execute("select ID,StyleName From Dv_style") %>
    <% do while not Rs.eof %> <% Rs.movenext loop Rs.close:Set Rs=Nothing %>
    模板和CSS的导出
    您现在要执行的是模板和CSS的导出,把需要导出的勾上,设置好保存的数据库名称,然后提交.
    选择 模版名称 附加说明 适用的CSS样式
    "> " value="<%=Rs("StyleName")%>">
    <% For Each Node in CssList.documentElement.selectNodes("css[tid='"& Rs("id") &"']") %> " value="<%=node.selectSingleNode("@id").text%>"> <%=node.selectSingleNode("@type").text%> <% Next %>
    导出到数据库:
    <% End Sub %>