📄 post.asp
字号:
<!--#include file="conn.asp"-->
<!--#include file="inc/const.asp"-->
<!--#include file="inc/dv_clsother.asp"-->
<!--#include file="inc/dv_ubbcode.asp"-->
<%
If Dvbbs.BoardID < 1 Then
Response.Write "参数错误"
Response.End
End If
Dim totalusetable,AnnounceID,ReplyID
Dim MyPost,UserName
Dim postbuyuser,bgcolor,Dvbbs_Mode
Dim ReplyID_a,AnnounceID_a,RootID_a,T_GetMoneyType
Dvbbs.Loadtemplates("post")
Set MyPost = New Dvbbs_Post
Dvbbs.Stats = MyPost.ActionName
Dvbbs.Nav()
Dvbbs.Head_var 1,Dvbbs.BoardNode.attributes.getNamedItem("depth").text,"",""
Dim dv_ubb,abgcolor
Dim EmotPath
EmotPath=Split(Dvbbs.Forum_emot,"|||")(0) 'em心情路径
Set dv_ubb=new Dvbbs_UbbCode
dv_ubb.posttype=1
MyPost.Show_Post_Body
Set MyPost = Nothing
Dvbbs.ActiveOnline
Dvbbs.Footer
Class Dvbbs_Post
Public Action,ActionName,Star,Page,IsAudit,ToAction
Private ParentID,RootID,Topic,Content,char_changed,signflag,mailflag,iLayer,iOrders
Private TopTopic,IsTop,LastPost,LastPost_1,UpLoadPic_n,ihaveupfile,smsuserlist,upfileinfo
Private UserPassWord,UserPost,GroupID,UserClass,DateAndTime,DateTimeStr,Expression,MyLastPostTime,LastPostTimes
Private LockTopic,MyLockTopic,MyIsTop,MyIsTopAll,MyTopicMode
Private CanLockTopic,CanTopTopic,CanTopTopic_a,CanEditPost,Rs,SQL,i
Private vote,votetype,votenum,votetimeout,voteid,isvote
Private GetMoneyType
Private FoundUseMagic,iMagicFace,tMagicMoney,tMagicTicket
Private Sub Class_Initialize()
'管理员及该版版主允许在锁定论坛发帖
If Dvbbs.Board_Setting(0)="1" And Not (Dvbbs.Master or Dvbbs.Boardmaster) Then
Response.redirect "showerr.asp?action=lock&boardid="&dvbbs.boardID&""
End If
If Dvbbs.IsReadonly() And Not Dvbbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&dvbbs.boardID&""
Action = Request("Action")
TotalUseTable = Dvbbs.NowUseBBS
Select Case Action
Case "new"
Action = 1
ActionName = template.Strings(0)
ToAction = "SavePost.asp?Action=snew&boardid="&Dvbbs.BoardID
If Dvbbs.GroupSetting(3)="0" Then Dvbbs.AddErrCode(70)
Case "re"
Action = 2
ActionName = template.Strings(2)
ToAction = "SavePost.asp?Action=sre&method=Topic&boardid="&Dvbbs.BoardID
If Dvbbs.GroupSetting(5)="0" then Dvbbs.AddErrCode(71)
Case "vote"
Action = 3
ActionName = template.Strings(4)
ToAction = "SavePost.asp?Action=svote&boardid="&Dvbbs.BoardID
If Dvbbs.GroupSetting(8)="0" then Dvbbs.AddErrCode(56)
Case "edit"
Action = 4
ActionName = template.Strings(6)
ToAction = "SavePost.asp?Action=sedit&boardid="&Dvbbs.BoardID
Case Else
Action = 1
ActionName = template.Strings(0)
End Select
Star = Request("star")
If Star = "" Or Not IsNumeric(Star) Then Star = 1
Star = Clng(Star)
Page = Request("page")
If Page = "" Or Not IsNumeric(Page) Then Page = 1
Page = Clng(Page)
IsAudit = Cint(Dvbbs.Board_Setting(3))
FoundUseMagic = 0
End Sub
'Action 1=发贴、2=回帖、3=投票、4=编辑 主体部分
Public Function Show_Post_Body()
Chk_Post()
Dim TempStr,TempArray,TempStr1,TempStr2,PostType
signflag=1
mailflag=0
MyTopicMode=0
If Dvbbs.UserID = 0 Then Dvbbs.AddErrCode(6)
Dvbbs.ShowErr()
TempStr = template.html(0)
TempArray = Split(template.html(6),"||")
If IsAudit = 1 Then TempStr = Replace(TempStr,"{$auditinfo}",template.Strings(9))
TempStr = Replace(TempStr,"{$auditinfo}","")
If Action=1 Then TempStr = Replace(TempStr,"{$topicmode}",TopicMode(TempArray(4)))
If signflag=1 Then TempStr = Replace(TempStr,"{$checkbox1}","checked")
TempStr = Replace(TempStr,"{$checkbox1}","")
Select Case mailflag
Case 0
TempStr = Replace(TempStr,"{$checkbox2}","checked")
Case 1
TempStr = Replace(TempStr,"{$checkbox3}","checked")
Case 2
TempStr = Replace(TempStr,"{$checkbox4}","checked")
Case 3
TempStr = Replace(TempStr,"{$checkbox5}","checked")
Case Else
TempStr = Replace(TempStr,"{$checkbox2}","checked")
End Select
TempStr = Replace(TempStr,"{$checkbox2}","")
TempStr = Replace(TempStr,"{$checkbox3}","")
TempStr = Replace(TempStr,"{$checkbox4}","")
TempStr = Replace(TempStr,"{$checkbox5}","")
If Dvbbs.GroupSetting(51)="1" And (Action=1 Or Action=3) Then TempStr = Replace(TempStr,"{$useraction}",TempArray(3))
'话题
TempStr1 = Split(template.Strings(8),",")
For i = 0 To Ubound(TempStr1)
TempStr2 = TempStr2 & "<option value="&TempStr1(i)&">"&TempStr1(i)&"</option>"
Next
TempStr = Replace(TempStr,"{$topictype}",TempStr2)
'特殊标题
If Dvbbs.GroupSetting(51)="1" Then TempStr = Replace(TempStr,"{$topicstatsinfo}",TempArray(1))
TempStr = Replace(TempStr,"{$topicstatsinfo}","")
'验证码Board_Setting(4)
If Dvbbs.Board_Setting(4)="0" Then
TempStr = Replace(TempStr,"{$getcode}","")
Else
TempArray(5)= Replace(TempArray(5),"{$codestr}",Dvbbs.GetCode&"<span id=GetCode></span>")
TempStr = Replace(TempStr,"{$getcode}",TempArray(5))
End If
'头像
TempStr = Replace(TempStr,"{$Forum_PostFace}",Dvbbs.Forum_PostFace)
TempStr = Replace(TempStr,"{$SelectFace}",Expression)
'上传
If (Dvbbs.GroupSetting(7)="1" Or Dvbbs.GroupSetting(7)="2") and Dvbbs.Forum_setting(43)<>999 Then TempStr = Replace(TempStr,"{$uploadinfo}",Temp_FileUpload)
TempStr = Replace(TempStr,"{$uploadinfo}","")
'标签判断部分
TempStr = Replace(TempStr,"{$ihtml}",Dvbbs.Board_Setting(5))
TempStr = Replace(TempStr,"{$iubb}",Dvbbs.Board_Setting(6))
TempStr = Replace(TempStr,"{$iimg}",Dvbbs.Board_Setting(7))
TempStr = Replace(TempStr,"{$iflash}",Dvbbs.Board_Setting(44))
TempStr = Replace(TempStr,"{$imidea}",Dvbbs.Board_Setting(9))
TempStr = Replace(TempStr,"{$iemot}",Dvbbs.Board_Setting(8))
TempStr = Replace(TempStr,"{$iupload}",Dvbbs.GroupSetting(7))
TempStr = Replace(TempStr,"{$bodylimited}",Dvbbs.Board_Setting(16))
TempStr = Replace(TempStr,"{$imoney}",Dvbbs.Board_Setting(10))
TempStr = Replace(TempStr,"{$ipoint}",Dvbbs.Board_Setting(11))
TempStr = Replace(TempStr,"{$iusercp}",Dvbbs.Board_Setting(12))
TempStr = Replace(TempStr,"{$ipower}",Dvbbs.Board_Setting(13))
TempStr = Replace(TempStr,"{$iarticle}",Dvbbs.Board_Setting(14))
TempStr = Replace(TempStr,"{$ireplyview}",Dvbbs.Board_Setting(15))
TempStr = Replace(TempStr,"{$iusemoney}",Dvbbs.Board_Setting(23))
TempStr = Replace(TempStr,"{$iuseusername}",Dvbbs.Board_Setting(56))
'ubb部分
PostType = 1
TempStr = Replace(TempStr,"{$PostType}",PostType)
TempStr = Replace(TempStr,"{$getubb}",Temp_UBBHTML())
'发贴心情
TempStr = Replace(TempStr,"{$Forum_emot}",Dvbbs.Forum_emot)
TempStr = Replace(TempStr,"{$Forum_sn}",Dvbbs.Forum_sn)
TempStr = Replace(TempStr,"{$star}",Star)
TempStr = Replace(TempStr,"{$page}",Page)
TempStr = Replace(TempStr,"{$actionname}",ActionName)
TempStr = Replace(TempStr,"{$toaction}",ToAction)
TempStr = Replace(TempStr,"{$topiclimited}",Dvbbs.Board_Setting(45))
TempStr = Replace(TempStr,"{$width}",Dvbbs.mainsetting(0))
TempStr = Replace(TempStr,"{$alertcolor}",Dvbbs.mainsetting(1))
TempStr = Replace(TempStr,"{$Forum_Emot}",Replace(Dvbbs.Forum_Emot,"|||","<><><>"))
TempStr = Replace(TempStr,"{$htmltool}",template.html(12))
Dvbbs_Mode = Dvbbs.GroupSetting(67)
If Dvbbs.Board_Setting(5) = "0" Then Dvbbs_Mode = 2
TempStr = Replace(TempStr,"{$Dvbbs_Mode}",Dvbbs_Mode)
If Dvbbs.GroupSetting(62)="0" Then
TempStr = Replace(TempStr,"{$AffordPost}",template.Strings(30))
Else
TempStr = Replace(TempStr,"{$AffordPost}",Dvbbs.GroupSetting(62))
End If
TempStr = Replace(TempStr,"{$UserToday}",Dvbbs.UserToday(0))
'Action 1=发贴、2=回帖、3=投票、4=编辑 主体部分
If Dvbbs.GroupSetting(59)<>1 Then TempStr = Replace(TempStr,"{$MoneyPostInfo}","")
Select Case Action
Case 1
TempStr = Replace(TempStr,"{$rehiddeninput}","")
TempStr = Replace(TempStr,"{$reinfo1}","")
TempStr = Replace(TempStr,"{$edithiddeninput}","")
TempStr = Replace(TempStr,"{$voteinfo}","")
TempStr = Replace(TempStr,"{$useraction}","")
TempStr = Replace(TempStr,"{$retopicloop}","")
TempStr = Replace(TempStr,"{$membername}",Dvbbs.MemberName)
TempStr = Replace(TempStr,"{$memberword}","**********")
TempStr = Replace(TempStr,"{$content}",Server.htmlencode(Session(Dvbbs.CacheName & "UserID")(Dvbbs.UserInfoCount-1)))
TempStr = Replace(TempStr,"{$retitle}","")
TempStr = Replace(TempStr,"{$topic}","")
TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode)
TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable)
TempStr = Replace(TempStr,"{$MoneyPostInfo}",TempArray(6))
If Dvbbs.Forum_Setting(98)="1" And Dvbbs.Board_Setting(24)="1" And Dvbbs.GroupSetting(69)="1" Then
TempStr = Replace(TempStr,"{$tools_magicface}",template.html(14))
TempStr = Replace(TempStr,"{$MagicIframe}",TempArray(8))
Set Rs = Dvbbs.Plus_Execute("Select Top 1 MagicFace_s,tMoney,tTicket From Dv_Plus_Tools_MagicFace Order By ID")
If Not (Rs.Eof And Rs.Bof) Then
TempStr = Replace(TempStr,"{$firstmagicface}",Rs(0))
TempStr = Replace(TempStr,"{$magicmoney}",Rs(1))
TempStr = Replace(TempStr,"{$magicticket}",Rs(2))
Else
TempStr = Replace(TempStr,"{$firstmagicface}",0)
TempStr = Replace(TempStr,"{$magicmoney}",0)
TempStr = Replace(TempStr,"{$magicticket}",0)
End If
Rs.Close
Set Rs=Nothing
TempStr = Replace(TempStr,"{$isselect}","")
End If
Case 2
TempStr = Replace(TempStr,"{$voteinfo}","")
TempStr = Replace(TempStr,"{$edithiddeninput}","")
TempStr = Replace(TempStr,"{$topic}","")
Dim retopicloop
retopicloop = Get_Re_TopicInfo
retopicloop=Replace(retopicloop,"$","$")
TempStr = Replace(TempStr,"{$membername}",Dvbbs.MemberName)
TempStr = Replace(TempStr,"{$memberword}","**********")
TempStr = Replace(TempStr,"{$useraction}","")
TempStr = Replace(TempStr,"{$retitle}",Topic)
TempStr = Replace(TempStr,"{$rehiddeninput}",Re_HiddenInput())
TempStr = Replace(TempStr,"{$reinfo1}",TempArray(0))
TempStr = Replace(TempStr,"{$topicmode}","")
TempStr = Replace(TempStr,"{$retopicloop}",retopicloop)
TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode)
TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable)
If Session(Dvbbs.CacheName & "UserID")(Dvbbs.UserInfoCount-1)<>"" And Trim(Content)="" Then
TempStr = Replace(TempStr,"{$content}",Server.htmlencode(Session(Dvbbs.CacheName & "UserID")(Dvbbs.UserInfoCount-1)))
Else
TempStr = Replace(TempStr,"{$content}",Content)
End If
TempStr = Replace(TempStr,"$","$")
If GetMoneyType=2 Then
TempStr = Replace(TempStr,"{$MoneyPostInfo}",TempArray(7))
Else
TempStr = Replace(TempStr,"{$MoneyPostInfo}","")
End If
Case 3
TempStr1 = template.html(1)
TempStr1 = Replace(TempStr1,"{$votelimited}",Dvbbs.Board_Setting(32))
TempStr1 = Replace(TempStr1,"{$posttimesel}",TempArray(2))
TempStr = Replace(TempStr,"{$membername}",Dvbbs.MemberName)
TempStr = Replace(TempStr,"{$memberword}","**********")
TempStr = Replace(TempStr,"{$voteinfo}",TempStr1)
TempStr = Replace(TempStr,"{$topicmode}",TopicMode(TempArray(4)))
TempStr = Replace(TempStr,"{$rehiddeninput}","")
TempStr = Replace(TempStr,"{$reinfo1}","")
TempStr = Replace(TempStr,"{$edithiddeninput}","")
TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode)
TempStr = Replace(TempStr,"{$useraction}","")
TempStr = Replace(TempStr,"{$retopicloop}","")
TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable)
TempStr = Replace(TempStr,"{$content}",Server.htmlencode(Session(Dvbbs.CacheName & "UserID")(Dvbbs.UserInfoCount-1)))
TempStr = Replace(TempStr,"{$retitle}","")
TempStr = Replace(TempStr,"{$topic}","")
TempStr = Replace(TempStr,"{$MoneyPostInfo}",TempArray(6))
Case 4
Get_Edit_TopicInfo()
TempStr = Replace(TempStr,"{$membername}",Dvbbs.MemberName)
TempStr = Replace(TempStr,"{$memberword}",Dvbbs.memberword)
TempStr = Replace(TempStr,"{$rehiddeninput}","")
TempStr = Replace(TempStr,"{$reinfo1}","")
TempStr = Replace(TempStr,"{$voteinfo}","")
TempStr = Replace(TempStr,"{$retopicloop}","")
TempStr = Replace(TempStr,"{$useraction}","")
TempStr = Replace(TempStr,"{$edithiddeninput}",Edit_HiddenInput())
TempStr = Replace(TempStr,"{$topicmode}","")
TempStr = Replace(TempStr,"{$totalusetable}",TotalUseTable)
TempStr = Replace(TempStr,"{$TopModeSelect}",MyTopicMode)
TempStr = Replace(TempStr,"{$topic}",Topic)
TempStr = Replace(TempStr,"{$content}",Content)
TempStr = Replace(TempStr,"{$MoneyPostInfo}","")
If Dvbbs.Forum_Setting(98)="1" And Dvbbs.Board_Setting(24)="1" And Dvbbs.GroupSetting(69)="1" Then
TempStr = Replace(TempStr,"{$tools_magicface}",template.html(14))
TempStr = Replace(TempStr,"{$MagicIframe}",TempArray(8))
If FoundUseMagic > 0 Then
TempStr = Replace(TempStr,"{$firstmagicface}",FoundUseMagic)
TempStr = Replace(TempStr,"{$magicmoney}",tMagicMoney)
TempStr = Replace(TempStr,"{$magicticket}",tMagicTicket)
TempStr = Replace(TempStr,"{$isselect}","checked")
Else
Set Rs = Dvbbs.Plus_Execute("Select Top 1 MagicFace_s,tMoney,tTicket From Dv_Plus_Tools_MagicFace Order By ID")
If Not (Rs.Eof And Rs.Bof) Then
TempStr = Replace(TempStr,"{$firstmagicface}",Rs(0))
TempStr = Replace(TempStr,"{$magicmoney}",Rs(1))
TempStr = Replace(TempStr,"{$magicticket}",Rs(2))
Else
TempStr = Replace(TempStr,"{$firstmagicface}",0)
TempStr = Replace(TempStr,"{$magicmoney}",0)
TempStr = Replace(TempStr,"{$magicticket}",0)
End If
Rs.Close
Set Rs=Nothing
TempStr = Replace(TempStr,"{$isselect}","")
End If
End If
End Select
TempStr = Replace(TempStr,"{$boardid}",Dvbbs.BoardID)
TempStr = Replace(TempStr,"{$tools_magicface}","")
TempStr = Replace(TempStr,"{$MagicIframe}","")
Response.Write TempStr
Response.Write "<script language=""javascript"">"
Response.Write vbNewLine
Response.Write "Maxtitlelength="&Dvbbs.Board_Setting(45)&";"
Response.Write vbNewLine
If Action = 1 Or Action = 3 Then
Response.Write "ispostnew=1;"
Response.Write vbNewLine
End If
Response.Write "MaxConlength="&Dvbbs.Board_Setting(16)&";"
Response.Write vbNewLine
Response.Write "</script>"
Response.Cookies("Dvbbs")=""
End Function
'专题下拉模式读取
Public Function TopicMode(SelectMode)
If Cint(Dvbbs.GroupSetting(65))=0 Then Exit Function
If Replace(Dvbbs.Board_Setting(48),"$$","")="" Then Exit Function
Dim BoardTopic,iii
BoardTopic=Split(Dvbbs.Board_Setting(48),"$$")
For iii=0 to Ubound(BoardTopic)-1
TopicMode=TopicMode+"<option value="&(iii+1)
TopicMode=TopicMode+" >"&BoardTopic(iii)&"</option>"
Next
TopicMode=Replace(SelectMode,"{$TopicMode}",TopicMode)
'加入必选专题判断隐含菜单。2005-3-11 Dv.Yz
TopicMode = TopicMode & "<INPUT TYPE=hidden Id=selecttmode value=" & Cint(Dvbbs.GroupSetting(65)) & ">"
End Function
'通用判断
Public Function Chk_Post()
If Dvbbs.Board_Setting(43)="1" Then Dvbbs.AddErrCode(72)
If Dvbbs.Board_Setting(1)="1" and Dvbbs.GroupSetting(37)="0" Then Dvbbs.AddErrCode(26)
If Dvbbs.UserID>0 Then
If Clng(Dvbbs.GroupSetting(52))>0 And DateDiff("s",Dvbbs.MyUserInfo(14),Now)<Clng(Dvbbs.GroupSetting(52))*60 Then Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(template.Strings(21),"{$timelimited}",Dvbbs.GroupSetting(52))&"&action=OtherErr"
If Dvbbs.GroupSetting(62)<>"0" And Not Action = 4 Then
If Clng(Dvbbs.GroupSetting(62))<=Clng(Dvbbs.UserToday(0)) Then Response.redirect "showerr.asp?ErrCodes=<li>"&Replace(template.Strings(27),"{$topiclimited}",Dvbbs.GroupSetting(62))&"&action=OtherErr"
End If
End If
If Dvbbs.GroupSetting(3)="0" And (Action = 1 Or Action = 3) Then Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(28)&"&action=OtherErr"
If Dvbbs.GroupSetting(5)="0" And (Action = 2) Then Response.redirect "showerr.asp?ErrCodes=<li>"&template.Strings(29)&"&action=OtherErr"
End Function
'得到回复或引用帖子的判断和相关信息
Public Function Get_Re_TopicInfo()
Get_M_Request()
ReplyID = Request("replyid")
If ReplyID = "" Or Not IsNumeric(ReplyID) Then ReplyID = AnnounceID
Set Rs=Dvbbs.Execute("select PostTable,GetMoneyType From dv_topic where BoardID="&Dvbbs.BoardID&" And TopicID="&AnnounceID)
If Not (Rs.EOF And Rs.BOF) Then
TotalUseTable=rs(0)
GetMoneyType=rs(1)
Else
Dvbbs.AddErrCode(48)
End If
Set Rs=Nothing
Dvbbs.ShowErr()
If ReplyID = AnnounceID Then
Set Rs=Dvbbs.Execute("select top 1 AnnounceID from "&TotalUseTable&" where RootID="&AnnounceID&" order by AnnounceID")
If Not(Rs.BOF And Rs.EOF) Then
ReplyID=rs(0)
Else
Dvbbs.AddErrCode(48)
End If
Set Rs=Nothing
Dvbbs.ShowErr()
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -