📄 topicother.asp
字号:
End If
postoption = postoption & VoteForm &"|"
Else
VoteChildsEP_Item = Split(VoteChilds(3),"$$") '调查的积分
votenum_temp = Split(votenum(i),"$$")
num_tempstr = ""
If VoteChildsType="0" Then
'单选取出相应分数
VoteForm = Request.Form("postvote_"&i)
If Not Isnumeric(VoteForm) or VoteForm = "" Then
Response.redirect "showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>请检查是否有漏选的项目?</li>&action=OtherErr"
Else
VoteForm = Cint(VoteForm)
End If
postoption = postoption & VoteForm &"|"
votenum_temp(VoteForm) = Cint(votenum_temp(VoteForm))+1
For n=0 to Ubound(votenum_temp)-1
num_tempstr = num_tempstr & votenum_temp(n) &"$$"
Next
votenum(i) = num_tempstr
Else
'多选
VoteForm_Tempstr = ""
For each VoteForm in Request.Form("postvote_"&i)
If Not Isnumeric(VoteForm) or VoteForm = "" Then
Response.redirect "showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>请检查是否有漏选的项目?</li>&action=OtherErr"
Else
VoteForm = Cint(VoteForm)
End If
VoteForm_Tempstr = VoteForm_Tempstr & VoteForm &"$$"
votenum_temp(VoteForm) = Cint(votenum_temp(VoteForm))+1
Next
For n=0 to Ubound(votenum_temp)-1
num_tempstr = num_tempstr & votenum_temp(n) &"$$"
Next
votenum(i) = num_tempstr
postoption = postoption & VoteForm_Tempstr &"|"
End If
End If
votenum_1 = votenum_1 &votenum(i)&"|"
Next
postnum=1
Else
'单选及多选投票
votenum=Split(rs("votenum"),"|")
If Rs("votetype")=1 Then
For i = 0 to UBound(votenum)
postvote(i)=request("postvote_"&i&"")
Next
End If
For j = 0 to UBound(votenum)
If rs("votetype")=0 Then
If cint(request("postvote"))=j Then
votenum(j)=votenum(j)+1
postoption=j
End If
votenum_1=""&votenum_1&""&votenum(j)&"|"
postnum=1
Else
If postvote(j)<>"" Then
If cint(postvote(j))=j Then
votenum(j)=votenum(j)+1
postnum=postnum+1
postoption=postoption & j & ","
End If
End If
votenum_1=""&votenum_1&""&votenum(j)&"|"
End If
Next
If postnum="" or isnull(postnum) then
Dvbbs.AddErrCode(59)
Dvbbs.ShowErr
Exit Sub
End If
End If
votenumlen=len(votenum_1)
votenum_1=left(votenum_1,votenumlen-1)
rs("votenum")=votenum_1
rs("voters")=rs("voters")+1
rs.update
postoption = Dvbbs.Checkstr(postoption)
Dvbbs.Execute("update dv_Topic set VoteTotal=voteTotal+"&postnum&" where topicid="&Announceid)
Dvbbs.Execute("insert into dv_voteuser (voteid,userid,voteoption) values ("&voteid&","&Dvbbs.userid&",'"&postoption&"')")
End If
Rs.Close
Set Rs=Nothing
If Dvbbs.Board_Setting(53)<>"0" Then
SQL="update dv_topic set LastPostTime="&SqlNowString&" where Topicid="&announceid&" and istop=0"
Dvbbs.Execute(SQL)
End If
Response.Redirect Request.ServerVariables("HTTP_REFERER")
Dvbbs.ShowErr
End Sub
'================帖子投票===========================
'================打印帖子===========================
Sub PrintPage_Main()
If Dvbbs.BoardID = 0 Then
Response.Write "参数错误"
Response.End
End If
Set dv_ubb=new Dvbbs_UbbCode
Dv_ubb.PostType=1
Dvbbs.LoadTemplates("postjob")
If request("id")="" Then
Dvbbs.AddErrCode(43)
ElseIf Not Isnumeric(request("id")) Then
Dvbbs.AddErrCode(30)
Else
AnnounceID=Clng(request("id"))
End If
If Dvbbs.GroupSetting(2)="0" Then Dvbbs.AddErrcode(31)
Dvbbs.ShowErr()
EmotPath=Split(Dvbbs.Forum_emot,"|||")(0) 'em心情路径
abgcolor="tablebody1"
bgcolor="tablebody2"
Dim Tempwrite,Templist
Dim IsBest,Islock,IsDel,PostUserid
Set Rs=Dvbbs.Execute("select title,PostTable,isbest,locktopic,BoardID,PostUserid from Dv_topic where topicID="&AnnounceID)
If Not(Rs.Bof And Rs.Eof) Then
topic=Rs(0)
TotalUseTable=Rs(1)
IsBest = Rs(2)
Islock = Rs(3)
IsDel = Rs(4)
PostUserid = Rs(5)
Else
Dvbbs.AddErrCode(48)
Exit sub
End If
Rs.close:Set rs=Nothing
If IsBest=1 and Cint(Dvbbs.GroupSetting(41))=0 Then Dvbbs.AddErrCode(8) : Exit sub
If IsDel = 444 Then Dvbbs.AddErrCode(8) : Exit sub
If Dvbbs.Userid <> PostUserid And Cint(Dvbbs.GroupSetting(2)) = 0 Then Dvbbs.AddErrCode(31) : Exit Sub
Tempwrite=template.html(2)
Tempwrite=Replace(Tempwrite,"{$tablewidth}",Dvbbs.Mainsetting(0))
Tempwrite=Replace(Tempwrite,"{$forumname}",Dvbbs.Forum_info(0))
Tempwrite=Replace(Tempwrite,"{$forumurl}",Dvbbs.Get_ScriptNameUrl)
Tempwrite=Replace(Tempwrite,"{$boardtype}",Dvbbs.Boardtype)
Tempwrite=Replace(Tempwrite,"{$boardid}",Dvbbs.boardid)
Tempwrite=Replace(Tempwrite,"{$topic}",Dvbbs.HtmlEncode(Topic))
Tempwrite=Replace(Tempwrite,"{$announceid}",announceid)
'
Dim Page,Record_Count,n,Searchstr
If request("page")<>"" and IsNumeric(request("page")) Then
page=Clng(request("page"))
Else
page=1
End If
Record_Count = 0
Searchstr = "t="&Request.QueryString("t")&"&BoardID="&Dvbbs.boardid&"&id="&Request.QueryString("id")
If Not IsObject(Conn) Then ConnectionDatabase
Dvbbs.SqlQueryNum = Dvbbs.SqlQueryNum + 1
Sql="Select b.UserName,b.Topic,b.dateandtime,b.body,u.UserGroupID,b.postbuyuser,b.Ubblist,B.isbest,B.locktopic,B.GetMoneyType,B.ParentID,b.AnnounceID,b.RootID,b.signflag from "&TotalUseTable&" b left outer Join [Dv_user] u on b.PostUserID=u.userid where b.boardid="&dvbbs.boardid&" and b.rootid="&Announceid&" and b.locktopic<>2 and b.locktopic<>3 and (u.lockuser=0 or u.lockuser is null) order by b.announceid"
'Set Rs=Dvbbs.Execute(Sql)
Set Rs=server.createobject("adodb.recordset")
Rs.Open Sql,Conn,1,1
If Rs.Eof And Rs.Bof Then
Dvbbs.AddErrCode(48)
Exit Sub
Else
Record_Count = Rs.RecordCount
If Record_Count Mod Cint(Dvbbs.Board_Setting(27))=0 Then
n = Record_Count \ Cint(Dvbbs.Board_Setting(27))
Else
n = Record_Count \ Cint(Dvbbs.Board_Setting(27))+1
End If
Rs.MoveFirst
If page > n Then page = n
If page < 1 Then page = 1
If page > 1 Then
Rs.Move (page-1) * Clng(Dvbbs.Board_Setting(27))
End if
Sql = Rs.GetRows(Clng(Dvbbs.Board_Setting(27)))
'Sql=Rs.GetRows(-1)
Rs.Close:Set Rs=Nothing
For i=0 to Ubound(sql,2)
postbuyuser=Sql(5,i)
If Sql(9,i)=3 And Sql(10,i)=0 And Not Dvbbs.Boardmaster Then
If Instr(postbuyuser,"|||"&Dvbbs.MemberName&"|||")=0 Then Dvbbs.AddErrCode(8) : Exit Sub
End If
Ubblists=SQL(6,i)
If Sql(13,i)=2 Then
If Dvbbs.master Then
username=Sql(0,i)&" (匿名)"
Else
username="匿名用户"
End If
Else
username=Sql(0,i)
End If
ReplyID_a=Sql(11,i)
AnnounceID_a=Sql(11,i)
RootID_a=Sql(12,i)
Templist=Templist&template.html(3)
Templist=Replace(Templist,"{$username}",username)
Templist=Replace(Templist,"{$dateandtime}",Sql(2,i))
Templist=Replace(Templist,"{$topic}",Dvbbs.HtmlEncode(Sql(1,i)))
Templist=Replace(Templist,"{$body}",SimJsReplace(dv_ubb.Dv_UbbCode(SQL(3,i),SQL(4,i),1,1)))
Next
Tempwrite=Replace(Tempwrite,"{$bbslist}",Templist)
Dvbbs.stats=Dvbbs.HtmlEncode(Sql(1,0))
Dvbbs.head()
Response.write Tempwrite
Response.Write "<script language=""JavaScript"" src=""inc/Pagination.js""></script>"
Response.Write "<SCRIPT LANGUAGE=""JavaScript"">"
Response.Write "PageList("&page&",10,"&Dvbbs.Board_Setting(27)&","&Record_Count&",'"&Searchstr&"',2)</script>"
End if
Dvbbs.ShowErr()
Dvbbs.ActiveOnline
Dvbbs.Footer()
End Sub
Function SimJsReplace(str)
If IsNull(str) Or str="" Then Exit Function
str=Replace(str,"\","\\")
str=Replace(str,"'","\'")
SimJsReplace=str
End Function
'================打印帖子===========================
'================报告帖子===========================
Sub Report_Main()
Dvbbs.LoadTemplates("postjob")
Dvbbs.stats=template.Strings(0)
Dvbbs.Nav()
If Dvbbs.userid=0 Then
Dvbbs.AddErrCode(6)
End If
Dvbbs.ShowErr()
Dvbbs.head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
If Request("action")="send" then
Report_AnnounceInfo()
Else
Report_Pag()
End If
End Sub
Sub Report_AnnounceInfo()
Dim body,AnnounceID,writer,incept,topic,topic_1,Yrs
If Request("id")="" Or Not IsNumeric(Request("id")) Then
Dvbbs.AddErrCode(30)
Exit Sub
Else
AnnounceID=Clng(Request("id"))
End If
body=Dvbbs.checkStr(request.Form("content"))
writer=Dvbbs.membername
incept=Dvbbs.checkStr(Request.Form("boardmaster"))
Sql="select title from Dv_topic where TopicID="&AnnounceID
Set Yrs=Dvbbs.Execute(sql)
If not(Yrs.bof and Yrs.eof) Then
topic_1=Yrs(0)
topic=template.Strings(0)
body=body&template.Strings(2)
body=Replace(body,"{$dvbbsurl}",Dvbbs.Get_ScriptNameUrl)
body=Replace(body,"{$boardid}",Dvbbs.boardid)
body=Replace(body,"{$announceid}",Announceid)
Else
Dvbbs.AddErrCode(48)
Exit Sub
End If
Yrs.Close
Sql="insert into Dv_message (incept,sender,title,content,sendtime,flag,issend) values ('"&incept&"','"&Dvbbs.membername&"','"&topic&"','"&body&"',"&SqlNowString&",0,1)"
Dvbbs.Execute(Sql)
update_user_msg(incept)
Dvbbs.ActiveOnline
Dvbbs.Dvbbs_suc("<li>"&template.Strings(3))
Set Yrs=Nothing
Dvbbs.Footer()
End sub
Sub Report_Pag()
Dim MainTable,Boardmasterlist,Yrs
Dim Boardmasterl,Boardmastersp
Boardmasterlist=Template.Html(1)
Sql="select boardmaster from Dv_board where boardID="&cstr(Dvbbs.boardid)
Set Yrs=Dvbbs.Execute(Sql)
If Yrs.eof And Yrs.bof Then
Dvbbs.AddErrCode(29)
Exit Sub
ElseIf Yrs(0)="" Or isnull(Yrs(0)) Then
Boardmasterl=Replace(Boardmasterlist,"{$boardmaster}",template.Strings(1))
Else
Boardmastersp=Split(Yrs(0),"|")
For i=0 to Ubound(Boardmastersp)
Boardmasterl=Boardmasterl&Replace(Boardmasterlist,"{$boardmaster}",Boardmastersp(i))
Next
End if
MainTable=Template.Html(0)
MainTable=Replace(MainTable,"{$boardid}",Dvbbs.boardid)
MainTable=Replace(MainTable,"{$announceid}",Request("id"))
MainTable=Replace(MainTable,"{$boardmasterlist}",Boardmasterl)
Response.write MainTable
Dvbbs.ActiveOnline
Dvbbs.Footer()
End Sub
Function update_user_msg(username)
Dim msginfo
if newincept(username)>0 then
msginfo=newincept(username) & "||" & inceptid(1,username) & "||" & inceptid(2,username)
Else
msginfo="0||0||null"
End if
Dvbbs.execute("update [Dv_user] set UserMsg='"&dvbbs.CheckStr(msginfo)&"' where username='"&dvbbs.CheckStr(username)&"'")
End Function
'统计留言
Function newincept(iusername)
Dim Yrs
Set Yrs=Dvbbs.execute("Select Count(id) From Dv_Message Where flag=0 and issend=1 and delR=0 And incept='"& iusername &"'")
newincept=Yrs(0)
set Yrs=nothing
if isnull(newincept) then newincept=0
End Function
Function inceptid(stype,iusername)
Dim Yrs
Set Yrs=Dvbbs.execute("Select top 1 id,sender From Dv_Message Where flag=0 and issend=1 and delR=0 And incept='"& iusername &"'")
If stype=1 then
inceptid=Yrs(0)
Else
inceptid=Yrs(1)
End if
set Yrs=nothing
End Function
'================报告帖子===========================
'================发送页面===========================
Sub SendPage_Main()
Dim announceid,topic,content,postname,incepts
Dvbbs.LoadTemplates("postjob")
Dvbbs.Stats=template.Strings(9)
Dvbbs.Nav()
Dvbbs.ShowErr()
If Cint(Dvbbs.Forum_Setting(2))=0 Then
Dvbbs.AddErrCode(51)
End If
If Cint(dvbbs.GroupSetting(15))=0 Then
Dvbbs.AddErrCode(65)
End If
If Request("id")="" Then
Dvbbs.AddErrCode(43)
ElseIf Not Isnumeric(Request("id")) Then
Dvbbs.AddErrCode(30)
Else
AnnounceID=Clng(Request("id"))
End If
Dvbbs.ShowErr()
Dvbbs.head_var 1,Application(Dvbbs.CacheName&"_boardlist").documentElement.selectSingleNode("board[@boardid='"&Dvbbs.BoardID&"']/@depth").text,"",""
If request("action")="sendmail" Then
If IsValidEmail(trim(Request.Form("mail")))=False Then
Dvbbs.AddErrCode(50)
Else
email=trim(Request.Form("mail"))
End If
If request("postname")="" Then
Dvbbs.AddErrCode(66)
Else
postname=request("postname")
End If
If request("incept")="" Then
Dvbbs.AddErrCode(67)
Else
incepts=request("incept")
End If
If request("content")="" Then
Dvbbs.AddErrCode(68)
Else
content=Dvbbs.HtmlEnCode(request("content"))
End If
Dvbbs.ShowErr()
Set Rs=Dvbbs.Execute("select title from Dv_topic where topicID="&AnnounceID)
If Not(Rs.Bof And Rs.Eof) Then
topic=Dvbbs.HtmlEnCode(Rs(0))
Rs.Close:Set Rs=Nothing
Else
Dvbbs.AddErrCode(48)
End If
Dvbbs.ShowErr()
mailbody=template.html(4)&template.html(6)
mailbody=Replace(mailbody,"{$incepts}",incepts)
mailbody=Replace(mailbody,"{$postname}",postname)
mailbody=Replace(mailbody,"{$bbsname}",Dvbbs.Forum_Info(0))
mailbody=Replace(mailbody,"{$boardtype}",Dvbbs.Boardtype)
mailbody=Replace(mailbody,"{$topic}",topic)
mailbody=Replace(mailbody,"{$content}",content)
mailbody=Replace(mailbody,"{$bbsurl}",Dvbbs.Get_ScriptNameUrl)
mailbody=Replace(mailbody,"{$boardid}",Dvbbs.Boardid)
mailbody=Replace(mailbody,"{$announceid}",announceid)
mailbody=Replace(mailbody,"{$copyright}",Dvbbs.Forum_Copyright)
mailbody=Replace(mailbody,"{$version}",Dvbbs.Forum_Version)
Dim DvEmail
Set DvEmail = New Dv_SendMail
DvEmail.SendObject = Cint(Dvbbs.Forum_Setting(2)) '设置选取组件 0=Jmail,1=Cdonts,2=Aspemail
DvEmail.ServerLoginName = Dvbbs.Forum_info(12) '您的邮件服务器登录名
DvEmail.ServerLoginPass = Dvbbs.Forum_info(13) '登录密码
DvEmail.SendSMTP = Dvbbs.Forum_info(4) 'SMTP地址
DvEmail.SendFromEmail = Dvbbs.Forum_info(5) '发送来源地址
DvEmail.SendFromName = Dvbbs.Forum_info(0) '发送人信息
If DvEmail.ErrCode = 0 Then
DvEmail.SendMail email,topic,mailbody '执行发送邮件
If DvEmail.Count=0 Then
Dvbbs.AddErrCode(51)
End If
Else
Dvbbs.AddErrCode(51)
End If
'Response.write DvEmail.Description
Set DvEmail = Nothing
Dvbbs.ShowErr()
Dvbbs.Dvbbs_suc("<li>"&template.Strings(6))
Else
SendPage_Pag()
End If
Dvbbs.ActiveOnline
Dvbbs.Footer()
End Sub
Sub SendPage_Pag()
Dim Tempwrite
Tempwrite=template.html(7)
Tempwrite=Replace(Tempwrite,"{$bbsname}",Dvbbs.Forum_info(0))
Tempwrite=Replace(Tempwrite,"{$forumurl}",Dvbbs.Get_ScriptNameUrl)
Tempwrite=Replace(Tempwrite,"{$announceid}",Request("id"))
Tempwrite=Replace(Tempwrite,"{$boardid}",Dvbbs.boardid)
Response.write Tempwrite
End Sub
'================发送页面===========================
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -