📄 loadskin.asp
字号:
<!--#include file="../conn.asp"-->
<!-- #include file="inc/const.asp" -->
<!--#include file="../inc/dv_loadcache.asp"-->
<%Head()%>
<table border="0" cellspacing="1" cellpadding="5" align=center width="95%" class="tableBorder">
<tr>
<th colspan="3" align="center" ID="TableTitleLink">
<a href="?">论坛风格及模版数据管理</a>
</th>
</tr>
<tr>
<td class="forumrow">
注意<br>
1,确认模版数据库名正确;<br>
2,如模版数据库放在skin目录下,即填写:Skins/Dv_skin.mdb;<br>
3,模版数据库内备份的表名为Dv_Style,请不要更改;<br>
4,模版数据包括论坛CSS设置,与及所有论坛图片设置.
</td>
</tr>
<tr>
<td class="forumHeaderBackgroundAlternate"><b>
<a href="?">论坛模版导出</a> | <a href="?action=load">论坛模版导入</a> | <a href="?action=OutputCss">论坛风格CSS导出</a> | <a href="?action=LoadCss">论坛风格CSS导入</a></b>
</td>
</tr>
</table><br>
<%
Dim admin_flag
Dim skid,sname,act,mdbname,StyleConn,SucMsg
admin_flag=",21,"
mdbname = "../Skins/Dv_skin.mdb"
If not Dvbbs.master or instr(","&session("flag")&",",admin_flag)=0 Then
Errmsg=ErrMsg + "<BR><li>本页面为管理员专用,请<a href=../admin_login.asp target=_top>登录</a>后进入。<br><li>您没有管理本页面的权限。"
dvbbs_error()
Else
Select Case Request("action")
Case "inputskin"
Call inputskin()
Case "loadskin"
Call loadskin()
Case "load"
Call load("loadthis")
Case "rename"
Call rename()
Case "savenm"
Call savenm()
Case "CreatMdb"
Call CreateStyleMdb()
Case "DelFields"
Call DelFields()
Case "OutputCss"
Call OutputCss()
Case "LoadCss"
Call LoadCss()
Case Else
Call MAIN()
End Select
End If
If Errmsg<>"" Then dvbbs_error()
If IsObject(StyleConn) Then
StyleConn.close
Set StyleConn=Nothing
End IF
Call Footer()
'导出CSS风格数据
Sub OutputCss()
Dim Rs,Sql,CssStyle
Set Rs=Dvbbs.Execute("Select Top 1 Forum_Css From Dv_setup")
If not Rs.eof Then
CssStyle = Rs(0)
End If
Set Rs=Nothing
If Request.Form("ReAct") = "SaveCss" Then
mdbname=Dvbbs.Checkstr(trim(Request.form("skinmdb")))
If mdbname="" Then
Errmsg=ErrMsg + "<li>请填写导出模版保存的表名"
Exit Sub
End If
SkinConnection(mdbname)
If IsFoundTable("Dv_Css",1)=False Then
'创建独立CSS数据表
Dim CreatStr
CreatStr = "CREATE TABLE Dv_Css (ID int IDENTITY (1, 1) NOT NULL CONSTRAINT PK_Dv_Css PRIMARY KEY,"&_
"Forum_Css text,Add_Time datetime default now())"
StyleConn.Execute(CreatStr)
End If
If Not IsEmpty(Request.Form("skid")) Then
Dim StyleData
Dim CssName,CssData,CssPic,CssID,i
Dim Temp0,Temp1,Temp2,Temp3
Dim SelID
SelID = Replace(Trim(Request.Form("skid"))," ","")
SelID = ","&SelID&","
StyleData = Split(CssStyle,"@@@")
CssName = Split(StyleData(0),"|||")
CssData = Split(StyleData(1),"|||")
CssPic = Split(StyleData(2),"|||")
CssID = Split(StyleData(3),"|||")
For i=0 To Ubound(CssName)
If Instr(SelID,","&i&",") Then
Temp0 = Temp0 & CssName(i) & "|||"
Temp1 = Temp1 & CssData(i) & "|||"
Temp2 = Temp2 & CssPic(i) & "|||"
Temp3 = Temp3 & CssID(i) & "|||"
End If
Next
CssStyle = Temp0 & "@@@"& Temp1 & "@@@"& Temp2 & "@@@"& Temp3
End If
Sql = "insert into Dv_Css(Forum_Css)Values('"&Dvbbs.checkstr(CssStyle)&"') "
StyleConn.Execute(Sql)
Dv_suc("成功导出所选风格。")
Else
Call CssList(CssStyle,0)
End If
End Sub
'导入CSS风格数据
Sub LoadCss()
Dim Rs,Sql,CssStyle
mdbname=Dvbbs.Checkstr(trim(Request.form("skinmdb")))
If mdbname="" Then
Errmsg=ErrMsg + "<li>请填写导出模版保存的表名"
Exit Sub
End If
If Request.Form("ReAct") = "ShowCss" Then
Call LoadCssStep1()
ElseIf Request.Form("ReAct") = "Loadthis" Then
Dim skid
skid = Request.Form("skid")
If Not IsNumeric(skid) Then
skid=1
Else
skid=Cint(Skid)
End If
SkinConnection(mdbname)
Set Rs=StyleConn.Execute("Select Top 1 Forum_Css From Dv_Css where id="&skid)
If not Rs.eof Then
CssStyle = Rs(0)
End If
Set Rs=Nothing
Call CssList(CssStyle,skid)
ElseIf Request.Form("ReAct") = "SaveCss" Then
Dim cid
cid = Request.Form("cid")
Dim CssStyle1,CssStyle2,i
Dim Temp1,Temp2
Set Rs=Dvbbs.Execute("Select Top 1 Forum_Css From Dv_setup")
If not Rs.eof Then
CssStyle1 = Rs(0)
End If
Rs.Close
SkinConnection(mdbname)
Set Rs=StyleConn.Execute("Select Top 1 Forum_Css From Dv_Css where id="&Dvbbs.Checkstr(cid))
If not Rs.eof Then
CssStyle2 = Rs(0)
End If
Rs.Close
Set Rs=Nothing
Temp1 = Split(CssStyle1,"@@@")
Temp2 = Split(CssStyle2,"@@@")
'对要导入的CSS进行对应模板ID检测
Dim SysSkinID,TempCssID,TempCssStr
Set Rs=Dvbbs.Execute("Select Top 1 ID From Dv_Style")
SysSkinID = Rs(0)
TempCssID = Split(Temp2(3),"|||")
For i = 0 To Ubound(TempCssID)-1
Set Rs=Dvbbs.Execute("Select ID From Dv_Style Where ID = " & TempCssID(i))
If Rs.Eof And Rs.Bof Then
TempCssStr = TempCssStr & SysSkinID & "|||"
Else
TempCssStr = TempCssStr & TempCssID(i) & "|||"
End If
Next
Rs.Close
Set Rs=Nothing
CssStyle = Temp1(0)&Temp2(0) &"@@@"& Temp1(1)&Temp2(1) &"@@@" & Temp1(2)&Temp2(2) &"@@@" & Temp1(3)&TempCssStr
Sql = "Update Dv_setup set Forum_Css = '"&Dvbbs.Checkstr(CssStyle)&"'"
Dvbbs.Execute(Sql)
ReloadSetup()
TemplatesToCache()
Dv_suc("成功导入所选风格,建议您到风格模板总管理的CSS设置中进行CSS对应模板的设置。")
ElseIf Request.Form("ReAct") = "DllCss" Then
Dim DelID
DelID = Request.Form("skid")
If DelID="" Then
Errmsg=ErrMsg + "<li>请选取要删除的风格备份!"
Exit Sub
End If
Sql = "Delete From Dv_Css where id in ("&Dvbbs.Checkstr(DelID)&")"
SkinConnection(mdbname)
StyleConn.Execute(Sql)
Dv_suc("成功删除所选取的风格备份。")
Else
Call load("LoadCss")
End If
End Sub
Sub LoadCssStep1()
SkinConnection(mdbname)
%>
<table border="0" cellspacing="1" cellpadding="4" align=center width="95%" class="tableBorder">
<tr><th width="100%" colspan="3">导入论坛CSS列表</th></tr>
<tr>
<td width="40%" align="center" class="bodytitle">按备份时间选取需要导入的数据</td>
<td width="20%" align="center" class="bodytitle">选择</td>
</tr>
<form action="?action=LoadCss" method=post name=even>
<%
Dim Rs,i
i=0
Set Rs=StyleConn.Execute("Select * From Dv_Css")
Do While Not Rs.Eof
%>
<tr>
<td class="forumrow"><%=Rs("Add_Time")%></td>
<td class="forumrow" align="center">
<input type="submit" name="submit" value="导入" onclick="selForm(this.form.skid,<%=i%>,this.form.ReAct);">
<input type="checkbox" name="skid" value="<%=Rs("id")%>">
</td>
</tr>
<%
i = i+1
Rs.MoveNext
Loop
Set Rs = Nothing
%>
<tr>
<td colspan="3" align=center class="forumRowHighlight">
导入的数据库:<input type="text" name="skinmdb" size="30" value="<%=mdbname%>">
<input type="hidden" name="ReAct" value="DllCss">
<input type=submit name=Submit value="删除" onclick="{if(confirm('注意:所删除的模版将不能恢复!')){this.document.even.submit();return true;}return false;}"> <input type=checkbox name=chkall value=on onclick="CheckAll(this.form)">全选</td>
</tr>
</form>
</table>
<SCRIPT LANGUAGE="JavaScript">
<!--
function selForm(skid,n,act){
if (n==0){
skid.checked=true;
}else
{
skid[n].checked=true;
}
act.value="Loadthis";
}
//-->
</SCRIPT>
<%
End Sub
'CSS列表
'Forum_CSS 规则
'风格名称|||@@@风格CSS内容|||@@@风格图片目录|||@@@对应的模板ID|||
Sub CssList(CssData,Cid)
Dim StyleData,CssName,CssID,i
If Request("action")="LoadCss" Then
sname="导入"
act="LoadCss"
mdbname=Dvbbs.Checkstr(trim(Request.form("skinmdb")))
If mdbname="" Then
Errmsg=ErrMsg + "<li>请填写导出模版保存的表名"
Exit Sub
End If
Else
sname="导出"
act="OutputCss"
End If
StyleData = Split(CssData,"@@@")
CssName = Split(StyleData(0),"|||")
CssID = Split(StyleData(3),"|||")
%>
<table border="0" cellspacing="1" cellpadding="4" align=center width="95%" class="tableBorder">
<tr><th width="100%" colspan="2">论坛CSS列表</th></tr>
<tr>
<td width="70%" align="center" class="bodytitle">风格名称</td>
<td width="30%" align="center" class="bodytitle">选择</td>
</tr>
<form action="?action=<%=act%>" method=post name=even>
<%
Dim MyTempLateName
MyTempLateName=TempLateName
For i=0 To Ubound(CssName)-1
%>
<tr>
<td class="forumrow" align="center">
<%If sname="导出" Then Response.Write MyTempLateName(CssID(i))&"-- "%>
<%=CssName(i)%></td>
<td class="forumrow" align="center"><input type="checkbox" name="skid" value="<%=i%>"></td>
</tr>
<%
Next
%>
<tr>
<td colspan="2" align=center class="forumRowHighlight">
<%=sname%>的数据库:<input type="text" name="skinmdb" size="30" value="<%=mdbname%>">
<input type="submit" name="submit" value="<%=sname%>">
<input type="hidden" name="ReAct" value="SaveCss">
<input type="hidden" name="Cid" value="<%=Cid%>"><input type=checkbox name=chkall value=on onclick="CheckAll(this.form)">全选</td>
</tr>
</form>
</table>
<%
End Sub
Sub MAIN()
If Request("action")="loadthis" Then
sname="导入"
act="loadskin"
mdbname=Dvbbs.Checkstr(trim(Request.form("skinmdb")))
If mdbname="" Then
Errmsg=ErrMsg + "<li>请填写导出模版保存的表名"
Exit Sub
End If
Else
sname="导出"
act="inputskin"
End If
%>
<table border="0" cellspacing="1" cellpadding="4" align=center width="95%" class="tableBorder">
<tr><th width="100%" colspan="4"><%=sname%>论坛模版列表</th></tr>
<tr>
<td width="10%" align="center" class="bodytitle">序号</td>
<td width="65%" align="center" class="bodytitle">模版名称</td>
<td width="20%" align="center" class="bodytitle">操作</td>
<td width="5%" align="center" class="bodytitle">选择</td>
</tr>
<form action="?action=<%=act%>" method=post name=even>
<%
If act="loadskin" Then
SkinConnection(mdbname)
set Rs=StyleConn.Execute("select id,StyleName from Dv_Style order by id ")
Else
set Rs=Dvbbs.Execute("select id,StyleName from Dv_Style order by id ")
End If
do while not Rs.eof
%>
<tr>
<td class="forumrow"><%=Rs("id")%></td>
<td class="forumrow"><%=Rs("StyleName")%></td>
<td class="forumrow" align=center>
<a href="?action=rename&act=<%=act%>&skid=<%=Rs("id")%>&mdbname=<%=mdbname%>" >改名</a>
<%If act<>"loadskin" Then
Response.Write " | <a href=""template.asp?action=manage&mostyle=编 辑&StyleID="&Rs("id")&""" >编辑</a>"
End If %>
</td>
<td class="forumrow" align=center><input type="checkbox" name="skid" value="<%=Rs("id")%>"></td>
</tr>
<% Rs.movenext
loop
Rs.close:Set Rs=Nothing
%>
<tr>
<td colspan="4" align=center class="forumRowHighlight">
<%=sname%>的数据库:<input type="text" name="skinmdb" size="30" value="<%=mdbname%>">
<input type="submit" name="submit" value="<%=sname%>">
<input type=submit name=Submit value=删除 onclick="{if(confirm('注意:所删除的模版将不能恢复!')){this.document.even.submit();return true;}return false;}"> <input type=checkbox name=chkall value=on onclick="CheckAll(this.form)">全选</td>
</tr>
</form>
</table>
<%
End Sub
Sub SkinConnection(mdbname)
On Error Resume Next
Set StyleConn = Server.CreateObject("ADODB.Connection")
StyleConn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(mdbname)
If Err.Number ="-2147467259" Then
Errmsg=ErrMsg + "<li>"&Server.MapPath(mdbname)&"数据库不存在。"
Dvbbs_error()
Response.end
End If
End Sub
Sub inputskin()
Dim TempRs
skid=Dvbbs.checkstr(Request("skid"))
mdbname=Dvbbs.Checkstr(Trim(Request.form("skinmdb")))
If skid="" or Isnull(skid) or Not IsNumeric(Replace(Replace(skid,",","")," ","")) Then
Errmsg=ErrMsg + "<li>您还未选取要导出的模版,或参数有错误!"
Exit Sub
End If
If mdbname="" Then
Errmsg=ErrMsg + "<li>请请填写导出模版数据库名"
Exit Sub
End If
If Request("submit")="删除" Then
If instr(","&skid&",",","&Dvbbs.cachedata(17,0)&",") Then
Errmsg=ErrMsg + "<BR><li>本模板是默认模版,不允许删除。"
Exit Sub
End If
Set Rs=Dvbbs.Execute("select Count(*) From [Dv_Board] Where sid in ("&skid&")")
If Rs(0)>0 Then
Set Rs=Nothing
Errmsg=ErrMsg + "<BR><li>本模板尚有分论坛在使用,不能删除。"
Dvbbs_error()
End If
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -