📄 loadskin.asp
字号:
<!--#include file="../conn.asp"-->
<!--#include file="inc/const.asp"-->
<%
Dim admin_flag,CssList,StyleConn
Head()
admin_flag=",23,"
CheckAdmin(admin_flag)
Select Case Request("action")
Case ""
Main()
Case "doout"
doout()
Case "load"
Load()
Case "doload"
doLoad()
Case "doupdate"
doupdate()
End Select
Footer()
Sub doupdate()
Dim Rs,node,inid,cssid,RsSkin,i,cssdom,toid
If Request.form("submit")="" Then
Readme()
Setup1
Else
If Request.form("inid")="" Then
Errmsg=ErrMsg + "<BR><li>必须选择源模板."
dvbbs_error()
Exit Sub
End If
If Request.form("toid")="" Then
Errmsg=ErrMsg + "<BR><li>必须选择目标模板."
dvbbs_error()
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()
Dv_suc("模板覆盖更新完成!")
Else
Errmsg=ErrMsg + "<BR><li>目标数据库"& Request.Form("skinmdb")&"不存在或有错误.</li>"
dvbbs_error()
End If
End If
End Sub
Sub Load()
If Request("setup")="" or Request.form("submit")="" Then
Readme()
Setup1
ElseIf Request("setup")="1" Then
Setup2
End If
End Sub
Sub doload()
Dim Rs,node,skid,cssid,RsSkin,i,cssdom
If Request.form("skid")="" Then
Errmsg=ErrMsg + "<BR><li>必须选择要导入的模板."
dvbbs_error()
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")
RsSkin("page_indivgroup")=Rs("page_indivgroup")
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()
Dv_suc("模板成功导入")
Else
Errmsg=ErrMsg + "<BR><li>目标数据库"& Request.Form("skinmdb")&"不存在或有错误.</li>"
dvbbs_error()
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 + "<br /><li>您的服务器不支持写文件,CSS文件写入失败,请手工操作或把生成文件的内容清空!</li>"
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 + "<br /><li>您的服务器不支持写文件,CSS文件写入失败,请手工操作或把生成文件的内容清空!</li>"
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")
%>
<form method="post" action="Loadskin.asp?action=doload">
<table border="0" cellspacing="1" cellpadding="4" align="center" width="100%">
<tr><th colspan="5" style="text-align:center;">模板和CSS的导入[追加模式]</th>
</tr>
<tr>
<td class="forumrow" align="left" colspan="5" style="padding:10px;">您现在要执行的是模板和CSS的导入,把需要导入的勾上再提交</td>
</tr>
<tr>
<td width="40" align="center" class="bodytitle">选择</td>
<td width="100" align="center" class="bodytitle">日期</td>
<td width="100" align="center" class="bodytitle">模版名称</td>
<td width="150" class="bodytitle">附加说明</td>
<td width="302" class="bodytitle">适用的CSS样式</td>
</tr>
<%
do while not Rs.eof
CssList.LoadXMl Rs("Forum_CSS")
%>
<tr>
<td width="40" class="forumrow" align="center"><input type="checkbox" class="checkbox" name="skid" value="<%=Rs("id")%>"></td>
<td width="100" class="forumrow" align="center"><%=rs("DateAndTime")%></td>
<td width="100" class="forumrow" align="center"><Input tyle="text" Name="StyleName<%=Rs("id")%>" value="<%=Rs("StyleName")%>"></td>
<td width="150" class="forumrow"><div align="left">
<%=rs("readme")%>
</div></td>
<td width="402" class="forumrow">
<%
For Each Node in CssList.documentElement.selectNodes("css")
%>
<input type="checkbox" class="checkbox" name="cssid_<%=Rs("id")%>" value="<%=node.selectSingleNode("@id").text%>">
<%=node.selectSingleNode("@type").text%>
<%
Next
%>
</td>
</tr>
<% Rs.movenext
loop
Rs.close:Set Rs=Nothing
Set Rs=StyleConn.Execute("select * From Dv_style")
Dim Rs1,i
Set Rs1=Dvbbs.Execute("select ID,StyleName From Dv_style")
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -