📄 post.asp
字号:
If Ubound(iMagicFace) = 1 Then FoundUseMagic = iMagicFace(0)
Rem 旧帖的主题模式值可能为空,则需要加入判断。2004-5-6 Dvbbs.YangZheng
If Isnull(MyTopicMode) Or MyTopicMode = "" Then MyTopicMode = 0
End If
Rs.close
If FoundUseMagic > 0 Then
Set Rs = Dvbbs.Plus_Execute("Select tMoney,tTicket From Dv_Plus_Tools_MagicFace Where MagicFace_s = " & FoundUseMagic)
If Rs.Eof And Rs.Bof Then
FoundUseMagic = 0
Else
tMagicMoney = Rs(0)
tMagicTicket = Rs(1)
End If
Rs.Close
End If
Get_Edit_PermissionInfo()
If Content<>"" then
Dim re
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern=vbNewLine&"<div align=right><font color=#000066>(.|\n)*<\/font><\/div>"
Content=re.Replace(Content,"")
re.Pattern=vbNewLine&"\[align=right\]\[color=#000066\](.|\n)*\[\/color\]\[\/align\]"
Content=re.Replace(Content,"")
re.Pattern="<div align=right><font color=#000066>(.|\n)*<\/font><\/div>"
Content=re.Replace(Content,"")
re.Pattern="\[align=right\]\[color=#000066\](.|\n)*\[\/color\]\[\/align\]"
Content=re.Replace(Content,"")
're.Pattern="\[i\](.*)\[\/i\]"
'Content=re.Replace(Content,"$1")
set re=Nothing
Content=Ubb2Html(Content)
Content=Server.htmlencode(Content)
End If
End Function
'判断用户是否有编辑权限且提取相关信息
Public Function Get_Edit_PermissionInfo()
Dim old_user
If Action = 4 Then
Set Rs=Dvbbs.Execute("select b.username,b.topic,b.body,b.dateandtime,u.UserGroupID,b.signflag,b.emailflag,b.UbbList,b.Expression,b.UseTools from "&TotalUseTable&" b left outer join [dv_user] u on b.postuserid=u.userid where b.RootID="&AnnounceID&" and b.AnnounceID="&ReplyID)
Else
Set Rs=Dvbbs.Execute("select b.username,b.topic,b.body,b.dateandtime,u.UserGroupID,b.signflag,b.emailflag,b.UbbList,b.Expression,b.UseTools from "&TotalUseTable&" b left outer join [dv_user] u on b.postuserid=u.userid where b.RootID="&RootID&" and b.AnnounceID="&AnnounceID)
End If
If Rs.Eof And Rs.Bof Then
Dvbbs.AddErrCode(48)
Else
Notanony=InStr(Rs("UseTools"),"17")
Expression=Rs("Expression")
If Action = 4 Then
signflag=Rs("signflag")
mailflag=Rs("emailflag")
Topic=rs("topic")
If Topic<>"" Then Topic = Server.HtmlEncode(Topic)
topic=Replace(topic,"amp;","")
Content=rs("body")
old_user=rs("username")
UbbLists=rs("UbbList")
Else
If Clng(Dvbbs.forum_setting(50))>0 then
If Datediff("s",rs("dateandtime"),Now())>Clng(Dvbbs.forum_setting(50))*60 then
Content = Content+chr(13)+chr(10)+char_changed+chr(13)
Else
Content = Content
End If
Else
Content = Content+chr(13)+chr(10)+char_changed+chr(13)
End If
End If
If Clng(Dvbbs.forum_setting(51))>0 and not (Dvbbs.master or Dvbbs.boardmaster or Dvbbs.superboardmaster) Then
If DateDiff("s",rs("dateandtime"),Now())>Clng(Dvbbs.forum_setting(51))*60 then Response.redirect "showerr.asp?ShowErrType="&Dvbbs.ErrType&"&ErrCodes=<li>"&Replace(Replace(template.Strings(22),"{$posttime}",Datediff("s",rs("dateandtime"),Now())/60),"{$etlimited}",Dvbbs.forum_setting(51))&"&action=OtherErr"
End If
If Rs("username")=Dvbbs.membername Then
If Dvbbs.GroupSetting(10)="0" then
Dvbbs.AddErrCode(74)
CanEditPost=False
Else
CanEditPost=True
End If
Else
If (Dvbbs.master or Dvbbs.superboardmaster or Dvbbs.boardmaster) and Dvbbs.GroupSetting(23)="1" then
CanEditPost=True
Else
CanEditPost=False
End If
If Cint(Dvbbs.UserGroupID) > 3 And Dvbbs.GroupSetting(23)="1" Then CanEditPost=true
If Dvbbs.GroupSetting(23)="1" and Dvbbs.founduserPer Then
CanEditPost=True
ElseIf Dvbbs.GroupSetting(23)="0" And Dvbbs.founduserPer Then
CanEditPost=False
End If
If Cint(Dvbbs.UserGroupID) < 4 And Cint(Dvbbs.UserGroupID) = rs("UserGroupID") Then
Dvbbs.AddErrCode(75)
ElseIf Cint(Dvbbs.UserGroupID) < 4 and Cint(Dvbbs.UserGroupID) > rs("UserGroupID") Then
Dvbbs.AddErrCode(76)
End If
If Not CanEditPost Then Dvbbs.AddErrCode(77)
End If
End If
Set Rs=Nothing
Dvbbs.ShowErr()
If Action = 4 Then Dvbbs.MemberName=old_user
End Function
'返回判断和参数
Public Function Get_M_Request()
AnnounceID = Request("ID")
If AnnounceID = "" Or Not IsNumeric(AnnounceID) Then Dvbbs.AddErrCode(30)
Dvbbs.ShowErr()
AnnounceID = Clng(AnnounceID)
End Function
'只读,获得回复隐含Input模板
Public Property Get Re_HiddenInput()
Re_HiddenInput = template.html(4)
Re_HiddenInput = Replace(Re_HiddenInput,"{$announceid}",AnnounceID)
Re_HiddenInput = Replace(Re_HiddenInput,"{$replyid}",ReplyID)
End Property
'只读,获得编辑隐含Input模板
Public Property Get Edit_HiddenInput()
Edit_HiddenInput = template.html(5)
Edit_HiddenInput = Replace(Edit_HiddenInput,"{$announceid}",AnnounceID)
Edit_HiddenInput = Replace(Edit_HiddenInput,"{$replyid}",ReplyID)
End Property
'只读,获得上传表单模板
Public Property Get Temp_FileUpload()
Dim TempArray,TempStr1
Temp_FileUpload = template.html(2)
TempArray = Split(Dvbbs.Board_Setting(19),"|")
For i = 0 To Ubound(TempArray)
TempStr1 = TempStr1 & "<div class=menuitems><a href=#>"&TempArray(i)&"</a></div>"
Next
Temp_FileUpload = Replace(Temp_FileUpload,"{$uploadlist}",TempStr1)
End Property
'只读,获得UBB模板
Public Property Get Temp_UBB()
Dim TempArray
Temp_UBB = template.html(3)
TempArray = Split(template.html(9),"|")
For i = 1 To Ubound(TempArray)
Temp_UBB = Replace(Temp_UBB,"{$ubb"&i&"}",TempArray(0) & TempArray(i))
Next
End Property
'只读,获得UBB——HTML编辑器模板
Public Property Get Temp_UBBHTML()
Dim TempArray
Temp_UBBHTML = template.html(11)
Temp_UBBHTML=Replace(Temp_UBBHTML,"{$old_oldToolbars}",Temp_UBB)
End Property
End Class
'截取指定字符
Function cutStr(str,strlen)
'去掉所有HTML标记
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="<(.[^>]*)>"
str=re.Replace(str,"")
set re=Nothing
Dim l,t,c,i
l=Len(str)
t=0
For i=1 to l
c=Abs(Asc(Mid(str,i,1)))
If c>255 Then
t=t+2
Else
t=t+1
End If
If t>=strlen Then
cutStr=left(str,i)&"..."
Exit For
Else
cutStr=str
End If
Next
cutStr=Replace(cutStr,chr(10),"")
cutStr=Replace(cutStr,chr(13),"")
End Function
'过滤不必要UBB
Function reUBBCode(strContent)
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="<\/div>"
strContent=re.Replace(strContent,Chr(2))
re.Pattern="<div class=quote><b>以下是引用"
strContent=re.Replace(strContent,Chr(1))
re.Pattern="<div class=quote>([^\x01\x02]*)\x02"
Do While re.Test(strContent)
strContent=re.Replace(strContent,"[quote]$1[/quote]")
Loop
re.Pattern="\x01[^\x02]*\x02"
strContent=re.Replace(strContent,"")
re.Pattern="\[quote\]((?:.|\n)*?)\[\/quote\]"
Do While re.Test(strContent)
strContent=re.Replace(strContent,"<div class=quote>$1</div>")
Loop
re.Pattern="\x02"
strContent=re.Replace(strContent,"</div>")
re.Pattern="<div align=right><font color=#000066>(?:.|\n)*?<\/font><\/div>"
strContent=re.Replace(strContent,"")
re.Pattern="\[align=right\]\[color=#000066\](?:.|\n)*?\[\/color\]\[\/align\]"
strContent=re.Replace(strContent,"")
' re.Pattern="(\[QUOTE\])(.|\n)*?(\[\/QUOTE\])"
' strContent=re.Replace(strContent,"$2")
re.Pattern="\[point=*([0-9]*)\](?:.|\n)*?\[\/point\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[post=*([0-9]*)\](?:.|\n)*?\[\/post\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[power=*([0-9]*)\](?:.|\n)*?\[\/power\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[usercp=*([0-9]*)\](?:.|\n)*?\[\/usercp\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[money=*([0-9]*)\](?:.|\n)*?\[\/money\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[replyview\](?:.|\n)*?\[\/replyview\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[usemoney=*([0-9]*)\](?:.|\n)*?\[\/usemoney\]"
strContent=re.Replace(strContent,"")
re.Pattern="\[UserName=(.[^\[]*)\](?:.|\n)*?\[\/UserName\]"
strContent=re.Replace(strContent,"")
re.Pattern=" "
strContent=re.Replace(strContent," ")
re.Pattern="<I><\/I>"
strContent=re.Replace(strContent,"")
set re=Nothing
reUBBCode=strContent
End Function
'编辑时用(对旧数据兼容)
Function Ubb2Html(str)
If Str<>"" And Not IsNull(Str) Then
Dim re
Set re=new RegExp
re.IgnoreCase =True
re.Global=True
re.Pattern="(>)("&vbNewLine&")(<)"
Str=re.Replace(Str,"$1$3")
re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)"
Str=re.Replace(Str,"$1$3")
If Dvbbs_Mode=2 Then
re.Pattern=" "
Str=re.Replace(Str," ")
Else
re.Pattern=vbNewLine
Str=re.Replace(Str,"<br>")
re.Pattern=" "
Str=re.Replace(Str," ")
re.Pattern=" "
Str=re.Replace(Str," ")
End If
re.Pattern="<I><\/I>"
Str=re.Replace(Str,"")
re.Pattern="<(\w+)(?: )+([^>]*)>"
Str = re.Replace(Str,"<$1 $2>")
If Request("reply")="true" Then
re.Pattern="<DIV class=quote><b>以下是引用(?:.|\n)*<\/div>"
Str=re.Replace(Str,"")
re.Pattern="<div class=""quote""><b>以下是引用(?:.|\n)*<\/div>"
Str=re.Replace(Str,"")
re.Pattern="\[quote\]<b>以下是引用(?:.|\n)*\[\/quote\]"
Str=re.Replace(Str,"")
re.Pattern="\[quote\]\[b\]以下是引用(?:.|\n)*\[\/quote\]"
Str=re.Replace(Str,"")
End If
Set Re=Nothing
Ubb2Html = Str
Else
Ubb2Html = ""
End If
End Function
Function GetFormID()
Dim i,sessionid
sessionid = Session.SessionID
For i=1 to Len(sessionid)
GetFormID=GetFormID&Chr(Mid(sessionid,i,1)+97)
Next
End Function
%>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -