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

📄 bbsxp_class.asp

📁 闻名一时的bbsxp超快论坛系统现在放出最新版2008版本给希望装论坛的朋友借鉴安装调试
💻 ASP
📖 第 1 页 / 共 3 页
字号:
End Function

Function ForumList(GroupID,ParentID,Selected)
	sql="Select ForumID,ForumName From ["&TablePrefix&"Forums] where GroupID="&GroupID&" and ParentID="&ParentID&" and SortOrder>0 and IsActive=1 order by SortOrder"
	Set Rs1=Execute(sql)
		Do While Not Rs1.EOF
			if RS1("ForumID")=Selected then
				ForumsList=ForumsList&"<option value='"&RS1("ForumID")&"' selected>"&string(ii," ")&"-&raquo; "&RS1("ForumName")&"</option>"
			else
				ForumsList=ForumsList&"<option value='"&RS1("ForumID")&"'>"&string(ii," ")&"-&raquo; "&RS1("ForumName")&"</option>"
			end if
			ii=ii+1
			ForumList GroupID,RS1("ForumID"),Selected
			ii=ii-1
		Rs1.MoveNext
		loop
	Rs1.Close
	Set Rs1 = Nothing
End Function

Function ForumTree(selec)
	if selec=0 then
		Set Rs1=Execute("Select * from ["&TablePrefix&"Groups] where GroupID="&GroupID&"")
		if not Rs1.eof then
			ForumTreeList="<span id=TempGroup"&GroupID&"><a onmouseover=Ajax_CallBack(false,'TempGroup"&GroupID&"','loading.asp?menu=ForumTree&GroupID="&GroupID&"') href=Default.asp?GroupID="&Rs1("GroupID")&">"&Rs1("GroupName")&"</a></span> → "&ForumTreeList&""
		end if
	else
		Set Rs1=Execute("Select * From ["&TablePrefix&"Forums] where ForumID="&selec&"")
		if not Rs1.eof then
			ForumTreeList="<span id=tempForum"&selec&"><a onmouseover=Ajax_CallBack(false,'tempForum"&selec&"','loading.asp?menu=ForumTree&ParentID="&selec&"') href=ShowForum.asp?ForumID="&Rs1("ForumID")&">"&Rs1("ForumName")&"</a></span> → "&ForumTreeList&""
			ForumTree Rs1("ParentID")
		end if
	end if
	Rs1.Close
	Set Rs1 = Nothing
	ForumTree=ForumTreeList
End Function



Function ClubTree()
	Set Rs1=Execute("Select * From ["&TablePrefix&"Groups] where SortOrder>0 order by SortOrder")
	do while not Rs1.eof
		ClubTreeList=ClubTreeList&"<div class=menuitems><a href=Default.asp?GroupID="&Rs1("GroupID")&">"&Rs1("GroupName")&"</a></div>"
		Rs1.Movenext
	loop
	Rs1.Close
	Set Rs1 = Nothing
	ClubTree="<a onmouseover="&Chr(34)&"showmenu(event,'"&ClubTreeList&"')"&Chr(34)&" href=Default.asp>"&SiteConfig("SiteName")&"</a>" 
End Function


''''''''''''''''''''''''''''''''
Sub ConciseMsg(Message)
	Response.write(Message)	
	Response.End
End Sub
''''''''''''''''''''''''
Sub Log(Message)
	MessageXML=MessageXML&"<Message>"&Message&"</Message>"&vbCrlf
	MessageXML=MessageXML&"<REMOTE_ADDR>"&REMOTE_ADDR&"</REMOTE_ADDR>"&vbCrlf
	MessageXML=MessageXML&"<Request_Method>"&Escape(Request.ServerVariables("Request_method"))&"</Request_Method>"&vbCrlf
	MessageXML=MessageXML&"<Server_Name>"&Escape(Request.ServerVariables("server_name"))&"</Server_Name>"&vbCrlf
	MessageXML=MessageXML&"<Script_Name>"&Escape(Request.ServerVariables("script_name"))&"</Script_Name>"&vbCrlf
	MessageXML=MessageXML&"<Query_String>"&Escape(Request.ServerVariables("Query_String"))&"</Query_String>"&vbCrlf
	MessageXML=MessageXML&"<Request_Form>"&Escape(Request.Form)&"</Request_Form>"&vbCrlf
	MessageXML=MessageXML&"<All_Http>"&Escape(Request.ServerVariables("All_Http"))&"</All_Http>"&vbCrlf

	Execute("insert into ["&TablePrefix&"EventLog] (UserName,ErrNumber,MessageXML) values ('"&CookieUserName&"','"&Err.Number&"','"&MessageXML&"')")
End Sub
''''''''''''''''''''''''''''''''

Function AjaxShowPage(TotalPage,PageIndex,url)
	AjaxShowPage=""
	AjaxShowPage="<span class='PageInation' style='float:right;'><a class=MultiPages>"&PageIndex&"/"&TotalPage&"</a>"
	if PageIndex<6 then
		PageLong=11-PageIndex
	elseif TotalPage-PageIndex<6 then
		PageLong=10-(TotalPage-PageIndex)
	else
		PageLong=5
	end if
	
	for i=1 to TotalPage
		if i < PageIndex+PageLong and i > PageIndex-PageLong or i=1 or i=TotalPage then
			if PageIndex=i then
				AjaxShowPage=AjaxShowPage&"<a class=CurrentPage>"& i &"</a>"
			else
				AjaxShowPage=AjaxShowPage&"<a class=PageNum href=""Javascript:Ajax_CallBack(false,'CommentArea','"&url&"&PageIndex="&i&"')"">"& i &"</a>"
			end if
		end if
	next
	AjaxShowPage=AjaxShowPage&"</span>"
End Function




''''''''''''''''''''''''''''''''

Sub UpdateStatistics(DaysUsers,DaysTopics,DaysPosts)

	sql="Select * from ["&TablePrefix&"Statistics] where DateDiff("&SqlChar&"d"&SqlChar&",DateCreated,"&SqlNowString&")=0"
	Rs.open sql,conn,1,3
	if Rs.eof then
		Rs.Addnew
		
		TotalUsers=Execute("Select count(UserID) from ["&TablePrefix&"Users]")(0)
		TotalTopics=Execute("Select count(ThreadID) from ["&TablePrefix&"Threads] where Visible=1")(0)
		TotalPosts=Execute("Select sum(TotalReplies) as TotalPosts from ["&TablePrefix&"Threads] where Visible=1")(0)
		
		
		if IsNull(TotalPosts) then
		TotalPosts=0
		else
		NewestUserName=Execute("Select Top 1 UserName from ["&TablePrefix&"Users] order by UserID desc")(0)
		end if

		Rs("TotalUsers")=TotalUsers
		Rs("TotalTopics")=TotalTopics
		Rs("TotalPosts")=TotalPosts
		Rs("NewestUserName")=NewestUserName
		
		Execute("update ["&TablePrefix&"Forums] Set TodayPosts=0")
		Rs("DaysUsers")=Rs("DaysUsers")+int(DaysUsers)
		Rs("DaysTopics")=Rs("DaysTopics")+int(DaysTopics)
		Rs("DaysPosts")=Rs("DaysPosts")+int(DaysPosts)
		Rs("DateCreated")=date()
	else
		Rs("TotalUsers")=Rs("TotalUsers")+DaysUsers
		Rs("TotalTopics")=Rs("TotalTopics")+DaysTopics
		Rs("TotalPosts")=Rs("TotalPosts")+DaysPosts
		Rs("DaysUsers")=Rs("DaysUsers")+DaysUsers
		Rs("DaysTopics")=Rs("DaysTopics")+DaysTopics
		Rs("DaysPosts")=Rs("DaysPosts")+DaysPosts
	end if
	Rs.update
	Rs.close
End Sub



Sub UpForumMostRecent(ForumID)
		sql="Select top 1 * from ["&TablePrefix&"Threads] where ForumID="&ForumID&" and Visible=1 order by LastTime DESC"
		Set Rs2=Execute(sql)
		if Rs2.Eof then Exit sub
		MostRecentThreadID=Rs2("ThreadID")
		MostRecentPostSubject=Rs2("Topic")
		MostRecentPostAuthor=Rs2("LastName")
		MostRecentPostDate=Rs2("LastTime")
		Rs2.close
		Set Rs2 = Nothing
		Execute("update ["&TablePrefix&"Forums] Set MostRecentThreadID="&MostRecentThreadID&",MostRecentPostSubject='"&MostRecentPostSubject&"',MostRecentPostAuthor='"&MostRecentPostAuthor&"',MostRecentPostDate='"&FormatTime(MostRecentPostDate)&"' where ForumID="&ForumID&"")
End Sub



Sub UpdateThreadStatic(ThreadID)
	TotalReplies=Execute("select count(PostID) from ["&TablePrefix&"Posts] where ThreadID="&ThreadID&" and ParentID>0 and Visible=1")(0)
	DeletedCount=Execute("select count(PostID) from ["&TablePrefix&"Posts] where ThreadID="&ThreadID&" and Visible=2")(0)
	HiddenCount=Execute("select count(PostID) from ["&TablePrefix&"Posts] where ThreadID="&ThreadID&" and Visible=0")(0)
	Visible=Execute("select Visible from ["&TablePrefix&"Posts] where ThreadID="&ThreadID&" and ParentID=0")(0)

	Execute("update ["&TablePrefix&"Threads] set TotalReplies="&TotalReplies&",DeletedCount="&DeletedCount&",HiddenCount="&HiddenCount&",Visible="&Visible&" where ThreadID="&ThreadID&"")
End Sub



Sub SendMail(MailAddRecipient,MailSubject,MailBody)
if  MailAddRecipient=""or MailSubject="" or MailBody="" then Exit Sub

on error resume next
MailSubject="("&SiteConfig("SiteName")&")"&MailSubject
MailBody=MailBody&"<br><br><br><a target=_blank href="&SiteConfig("SiteUrl")&"/Default.asp>"&SiteConfig("SiteName")&"</a> 管理团队<br><br><a target=_blank href=http://www.bbsxp.com>BBSXP</a>  &copy; 1998-"&year(now)&" <a target=_blank href=http://www.yuzi.net>YUZI Corporation.</a>"
if SiteConfig("SelectMailMode")="JMail.Message" then
	Set JMail=Server.CreateObject("JMail.Message")
		JMail.Charset=BBSxpCharset
		JMail.ContentType = "text/html"
		'JMail.ContentType = "text/plain"
		JMail.From = SiteConfig("SmtpServerMail")

			AddRecipientArray=split(MailAddRecipient,";")
			For i=0 to Ubound(AddRecipientArray)
				if ""&AddRecipientArray(i)&""<>"" then JMail.AddRecipient AddRecipientArray(i)
			Next

		JMail.Subject = MailSubject
		JMail.Body = MailBody
		JMail.MailServerUserName = SiteConfig("SmtpServerUserName")
		JMail.MailServerPassword = SiteConfig("SmtpServerPassword")
		JMail.Send SiteConfig("SmtpServer")
	Set JMail=nothing
elseif SiteConfig("SelectMailMode")="Persits.MailSender" then
	Set AspEmail = Server.CreateObject("Persits.MailSender")
 		AspEmail.Host = SiteConfig("SmtpServer")
		AspEmail.Username = SiteConfig("SmtpServerUserName")
		AspEmail.Password = SiteConfig("SmtpServerPassword")
		AspEmail.From = SiteConfig("SmtpServerMail")

			AddRecipientArray=split(MailAddRecipient,";")
			For i=0 to Ubound(AddRecipientArray)
				if ""&AddRecipientArray(i)&""<>"" then AspEmail.AddAddress AddRecipientArray(i)
			Next

		AspEmail.Subject = MailSubject
		AspEmail.Body = MailBody
		AspEmail.IsHTML = true
		AspEmail.Charset = BBSxpCharset
		AspEmail.Send
	Set AspEmail=Nothing
elseif SiteConfig("SelectMailMode")="CDO.Message" then
	Set CDO=Server.CreateObject("CDO.Message")
		CDO.From = SiteConfig("SmtpServerMail")
		CDO.To = MailAddRecipient
		CDO.Subject = MailSubject
		CDO.HtmlBody = MailBody
		'CDO.TextBody = MailBody
		CDO.HTMLBodyPart.Charset=BBSxpCharset
		CDO.Send
	Set CDO=Nothing
end if

If Err Then Response.Write ""&MailAddRecipient&"邮件发送失败!错误原因:" & Err.Description & "<br>"
On Error GoTo 0

End Sub

Sub LoadingEmailXml(emailType)
	Set EmailsXMLDOM = Server.CreateObject("Microsoft.XMLDOM")
		EmailsXMLDOM.Load(Server.MapPath("Xml/emails.xml"))
		MailSubject = EmailsXMLDOM.documentElement.selectSingleNode("//emails/"&emailType&"/subject").Text
		Mailbody = EmailsXMLDOM.documentElement.selectSingleNode("//emails/"&emailType&"/body").Text
		Mailbody = Replace(Mailbody,CHR(10),"<br>")
	Set EmailsXMLDOM = Nothing
End Sub


''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Function CheckUser(UserName)
	if Len(UserName) < SiteConfig("UserNameMinLength") then CheckUser=CheckUser&"<li>您的用户名长度不能少于 "&SiteConfig("UserNameMinLength")&" 个字节</li>"
	if Len(UserName) > SiteConfig("UserNameMaxLength") then CheckUser=CheckUser&"<li>您的用户名长度不能超过 "&SiteConfig("UserNameMaxLength")&" 个字节</li>"

	
	
	ErrorChar=array(" ","

⌨️ 快捷键说明

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