⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 loadskin.asp

📁 前台及后台用户名密码都是:gz35gz35.com
💻 ASP
📖 第 1 页 / 共 2 页
字号:
<!--#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 + -