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

📄 other.asp

📁 YxBBs是由Y网出品的一套ASP论坛系统,拥有小巧、高速、简捷、易用等特点。在YxBBs1.X刚起步的时候经过了大量的版本测试,现在YxBBs完善了技术
💻 ASP
📖 第 1 页 / 共 3 页
字号:
<br><table width="98%" border="0" align="center" cellpadding="4" cellspacing="1" bgcolor="#FFFFFF">
<tr><th height="25" colspan="3">群发信件(给用户留言)</th>
</tr>
<tr><td height="25" colspan="3" align="center" bgcolor="#D7DAEA">注意:此操作可能将消耗大量服务器资源。请慎用!</td></tr>
<tr bgcolor="#DEDEDE"><td align='right' >接收用户:</td>
<td colspan='2'>
<select name='User' style='font-size: 9pt'>
<option value=0 selected>所有在线用户</option>
<option value=1>所有注册用户</option>
<option value=2>所有论坛版主</option>
<option value=3>所有总版主</option>
<option value=4>所有管理员</option>
<option value=5>管理团队(管理员+总版主+版主)</option>
</select></td></tr><tr bgcolor="#DEDEDE"><td align='right' >消息标题:</td>
<td colspan='2'><input name="Title" type="text" id="Title" size="40" maxlength="50"></td></tr><tr bgcolor="#DEDEDE">
  <td align='right' valign='top'>消息内容:</td>
  <td><TEXTAREA name=content  cols=90 rows='8' style='PADDING-RIGHT: 5px; PADDING-LEFT: 5px; PADDING-BOTTOM: 5px; PADDING-TOP: 5px;WIDTH: 100%;' onkeydown=presskey();></textarea></td>
<td valign='top'><input type='button' style='BACKGROUND: url(../images/plus.gif); width:20;height:20;border:0;cursor:hand' onclick='textarea_Size(3,this.form.content)' ><br><br><input type='button' style='BACKGROUND: url(../images/minus.gif); width:20;height:20;border:0;cursor:hand' onclick='textarea_Size(-3,this.form.content)'></td></tr>
<tr bgcolor="#CCCCCC"><td colspan='3' align='center'><input  type='submit' value='确定送出' name="ok">&nbsp;<input type='reset' value='取消重写'>
</td></tr></table></form><div id='MaoDiv' style='position: absolute; width:570px; height:160px; display:none;'><iframe id='MView' name='MView' src='about:blank' frameborder='0' scrolling='no' valign='top' width='100%' height='100%'></iframe></div>
<%
End Sub

Sub UpdateBbsDate
	Dim EssayNum,TopicNum,NewUser,TodayNum,UserNum,AllTable,I
	UserNum=YxBBs.Execute("Select Count(ID) From[YX_User]")(0)
	NewUser=YxBBs.execute("select Top 1 Name from [YX_User] order by ID desc")(0)
	AllTable=Split(YxBBs.BBSTable(0),",")
	For i=0 To uBound(AllTable)
		EssayNum=EssayNum+YxBBs.Execute("Select Count(BbsID) From[YX_Bbs"&AllTable(i)&"] where IsDel=False")(0)
		TodayNum=TodayNum+YxBBs.Execute("Select Count(BbsID) From[YX_Bbs"&AllTable(i)&"] where IsDel=False And DATEDIFF('d',LastTime,'"&YxBBs.NowBbsTime&"')<1")(0)
	Next
	TopicNum=YxBBs.Execute("Select Count(TopicID) From[YX_Topic]")(0)
	YxBBs.Execute("update [YX_Config] Set UserNum="&UserNum&",AllEssayNum="&EssayNum&",TopicNum="&TopicNum&",TodayNum="&TodayNum&",NewUser='"&NewUser&"'")
	Call Suc("论坛系统整理成功","论坛系统整理成功,整理后:<li>总帖数:"&EssayNum&" | 主题数:"&TopicNum&" | 今日帖数:"&TodayNum&" | 注册用户数:"&UserNum&" | 最新注册用户:"&NewUser&"","Other.Asp?Action=UpdateBbs")
	Cache.name="Config"
	Cache.clean()
End Sub

Sub UpdateTopic
	Dim Caption,Content,ID1,ID2,LastReply,Go,ReplyNum,AllTable,i,Temp,MaxID
	ID1=YxBBs.Fun.GetStr("id1")
	ID2=YxBBs.Fun.GetStr("id2")
	MaxID=YxBBs.execute("select max(TopicID)from [YX_Topic]")(0)
	IF ID1="" Then
		ID1=1:ID2=100
		Go= " 开始整理 "
	Else
		IF not isnumeric(ID1) or not isnumeric(ID2) then Call GoBack("","<li>请用数字填写!"):Exit Sub
		Set Rs=YxBBs.execute("Select TopicId,SqlTableID From [YX_Topic] where TopicID>="&ID1&" And Topicid<="&ID2&"")
		IF Rs.eof then
			If Int(ID2) < Int(MaxID) Then
				Call GoBack("数据据中没有数据","在ID:<font color=red>"&ID1&"</font> 至 <font color=red>"&ID2&"</font> 之间不存在帖子,请把结束ID的数字填大一些。")
			Else
				Call Suc("整理结束","全部整理成功!","Other.Asp?Action=UpdateBbs")
			End If
			Exit Sub
		End If
		AllTable=Split(YxBBs.BBSTable(0),",")
		Do while not rs.eof
		For i=0 To uBound(AllTable)
			IF Int(Rs(1))=Int(AllTable(i)) Then
				ReplyNum=YxBBs.execute("select count(BbsID) from [YX_bbs"&Rs(1)&"] where IsDel=False and ReplyTopicID="&Rs(0)&"")(0)
				YxBBs.execute("update [YX_Topic] Set ReplyNum="&ReplyNum&" where TopicID="&Rs(0)&"")
				Exit For
			End If
		Next
		Rs.Movenext
		Loop
		Rs.Close
		Temp=ID1
		ID1=int(ID2)+1
		ID2=int(ID2)+int(ID2)-int(Temp)+1
		Go=" 继续整理 "
	End IF
	Caption="主题帖子整理"
	Content="<form method=POST action='?Action=UpdateTopic' onSubmit='ok.disabled=true;ok.value=""正在整理-请稍等...""'>请填写你要整理的帖子的开始ID和结束ID:(两者之间不要相差太大)<br>你的论坛帖子最大的 ID 为:"&MaxID&"<br>初始ID:<input type=text name='ID1' size=20 value="&ID1&"><BR>结束ID:<input type=text name='ID2' size=20 value="&ID2&"><BR><input type=submit name='ok' value="&Go&"><input type=reset value=' 重 置 '> </p></form>"
	Call ShowTable(caption,Content)
End Sub

Sub UpdateAllUser
	Dim Caption,Content,ID1,ID2,GradeNum,GradeName,GradePic,GoodNum,EssayNum,UG,Go,AllTable,I,Temp,MaxID
	ID1=YxBBs.Fun.GetStr("id1"):ID2=YxBBs.Fun.GetStr("id2")
	MaxID=YxBBs.Execute("select max(id)from [YX_User]")(0)
	IF ID1="" Then
		ID1=1:ID2=100
		Go= " 开始整理 "
	Else
		IF not isnumeric(ID1) or not isnumeric(ID2) then Call GoBack("","<li>请用数字填写!"):Exit Sub
		Set Rs=YxBBs.Execute("Select Name,ClassID From [YX_User] where Id>="&ID1&" and id<="&ID2&"")
		IF Rs.eof then
			If Int(ID2) < Int(MaxID) Then
				Call GoBack("数据据中没有数据","在ID:<font color=red>"&ID1&"</font> 至 <font color=red>"&ID2&"</font> 之间不存在用户,请把结束ID的数字填大一些。")
			Else
				Call Suc("整理结束","全部整理成功!","Other.Asp?Action=UpdateBbs")
			End If		
			Exit Sub
		End if
		AllTable=Split(YxBBs.BBSTable(0),",")
		Do while not rs.eof
			EssayNum=0
			GoodNum=0
			For i=0 To uBound(AllTable)
				EssayNum=EssayNum+YxBBs.Execute("select Count(BbsID) from [YX_bbs"&AllTable(i)&"] where Name='"&Rs(0)&"'")(0)
			Next
				GoodNum=YxBBs.execute("select count(TopicID) from [YX_Topic] where Name='"&Rs(0)&"' And IsGood=True")(0)
			Set UG=YxBBs.execute("Select Top 1 GradeNum,GradeName,GradePic from YX_UserGrade Where ClassID="&Rs(1)&" And UserMinPostNum<="&EssayNum&" Order By UserMinPostNum Desc")
			If Not UG.Eof Then
				GradeNum=UG(0)
				GradeName=UG(1)
				GradePic=UG(2)
			End If
			UG.Close
			Set UG=Nothing
			YxBBs.Execute("update [YX_User] set EssayNum="&EssayNum&",GoodNum="&GoodNum&",GradeNum="&GradeNum&",GradeName='"&GradeName&"',GradePic='"&GradePic&"' where Name='"&Rs(0)&"'")
		Rs.Movenext
		Loop
		rs.close
		Temp=ID1
		ID1=int(ID2)+1
		ID2=int(ID2)+int(ID2)-int(Temp)+1
		Go=" 继续整理 "
	End IF
	Caption="用户整理修复"
	Content="<form method=POST action='?Action=UpdateAllUser' onSubmit='ok.disabled=true;ok.value=""正在整理-请稍等...""'>请填写你要整理用户的开始ID和结束ID:(两者之间不要相差太大)<br>论坛注册用户最大的 ID 为:"&MaxID&"<br>初始ID:<input type=text name='id1' size=20 value="&ID1&"><BR>结束ID:<input type=text name='id2' size=20 value="&ID2&"><BR><input name='ok'  type=submit value="&Go&" ><input type=reset value=' 重 置 '> </p></form>"
	Call ShowTable(caption,Content)
End Sub

Sub DelWuiong
	Dim ii,i,AllTable%>
	<table width="98%" border="0" align="center" cellpadding="4" cellspacing="1" bordercolor="#999999" bordercolordark="#FFFFFF" bgcolor="#FFFFFF">
	  <tbody>
	<tr><th height="25" colspan="2" >论坛垃圾清理</td>
	</tr>
	<tr><td bgcolor="#DEDEDE"><div align="center"><b><span id=YxBBsT name=YxBBsT>正在清理无效主题!请稍等...</span></b></div>
	    <table width="400" border="0" align="center" cellpadding="1" cellspacing="1">
	<tr><td bgcolor=#d7d7d7>
	<table width="400" border="0" cellspacing="0" cellpadding="1">
	<tr> 
	<td bgcolor=ffffff height=9><img src="../images/hr.gif" width=0 height=16 id=YxBBsimg name=YxBBsimg align=absmiddle></td>
	</tr></table>
	</td></tr></table>
	<div align="center"><span id=YxBBstxt name=YxBBstxt style="font-size:9pt">0</span><span style="font-size:9pt">%</span></div></td></tr>
	</tbody></table><br>
	<%Response.Flush
	AllTable=Split(YxBBs.BBSTable(0),",")
	For i=0 To uBound(AllTable)
		YxBBs.execute("delete * from [YX_bbs"&AllTable(i)&"] where TopicID<>0 and not exists (select name from [YX_topic] where [YX_bbs"&AllTable(i)&"].TopicId=[YX_Topic].TopicID)")
		YxBBs.execute("delete * from [YX_Topic] where SqlTableID="&AllTable(i)&" and not exists (select name from [YX_bbs"&AllTable(i)&"] where [YX_Topic].TopicID=[YX_bbs"&AllTable(i)&"].TopicId)")
	Next
	Call Table("无效主题清理完毕!","")
	
	Call PicPro(1,6,"正在清理无效回复帖子!请稍等...;")
	For i=0 To uBound(AllTable)
		Set Rs=YxBBs.Execute("select ReplyTopicID from [YX_bbs"&AllTable(i)&"] where ReplyTopicID<>0")
		Do While Not Rs.eof
			If YxBBs.execute("select TopicID from [YX_bbs"&AllTable(i)&"] where TopicID="&Rs(0)&"").eof Then
			YxBBs.Execute("Delete from [YX_bbs"&AllTable(i)&"] where ReplyTopicID="&Rs(0)&"")
			End IF
		Rs.MoveNext
		Loop
		Rs.Close
	Next
	Call Table("无效回复清理完毕!","")
	
	Call PicPro(2,6,"正在清理无效投票!请稍等...")
		YxBBs.execute("delete * from [YX_TopicVote] where  not exists (select name from [YX_Topic] where [YX_TopicVote].TopicID=[YX_Topic].TopicId)")
		YxBBs.execute("delete * from [YX_TopicVoteUser] where  not exists (select name from [YX_Topic] where [YX_TopicVoteUser].TopicID=[YX_Topic].TopicId)")
	Call Table("无效投票清理完毕!","")
	
	Call PicPro(3,6,"正在清理无效留言!请稍等...")
		YxBBs.execute("delete * from [YX_Sms] where not exists (select name from [YX_User] where [YX_Sms].MyName=[YX_User].Name)")
	Call Table("无效留言清理完毕!","")
	
	Call PicPro(4,6,"正在清理删除用户的帖子!请稍等...")
		For i=0 To uBound(AllTable)
		YxBBs.execute("delete * from [YX_bbs"&AllTable(i)&"] where not exists (select name from [YX_User] where [YX_bbs"&AllTable(i)&"].Name=[YX_User].Name)")

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -