www.gusucode.com > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告) > ASP+ACCESS学生论坛设计与实现(源代码+论文+开题报告)\13学生论坛ASPAC\BBS\messanger.asp
<!--#include file="Conn.asp"--> <!-- #include file="inc/const.asp" --> <!--#include file="inc/DV_ubbcode.asp"--> <!--#include file="inc/ubblist.asp"--> <% Mybbs.LoadTemplates("usermanager") Mybbs.Stats=Mybbs.MemberName&template.Strings(4) Mybbs.Head() Dim Rs,Sql,SqlStr,ErrCodes,TempLateStr,id,sendtime,sender,temptxt Dim top_TempLateStr,send_TempLateStr,Read_TempLateStr DIM title,ActInfo Dim EmotPath Dim replyid,Announceid EmotPath=Split(Mybbs.Forum_emot,"|||")(0) 'em心情路径 If Mybbs.userid=0 Then Mybbs.AddErrCode(6):Mybbs.Showerr() '判断用户是否在线。 If Cint(Mybbs.GroupSetting(32))=0 Then ErrCodes=ErrCodes+"<li>"+template.Strings(33) '判断用户是否有权限。 id=Request("id") TempLateStr=split(template.html(11),"||") If Mybbs.forum_setting(80)="0" Then TempLateStr(1)=Replace(TempLateStr(1),"{$getcode}","") Else TempLateStr(4)=Replace(TempLateStr(4),"{$codestr}",Mybbs.GetCode) TempLateStr(1)=Replace(TempLateStr(1),"{$getcode}",TempLateStr(4)) End If top_TempLateStr=TempLateStr(0) top_TempLateStr=Replace(top_TempLateStr,"{$sms__write}",template.pic(5)) top_TempLateStr=Replace(top_TempLateStr,"{$sms__reply}",template.pic(6)) top_TempLateStr=Replace(top_TempLateStr,"{$sms__fw}",template.pic(7)) top_TempLateStr=Replace(top_TempLateStr,"{$sms_delete}",template.pic(8)) Send_TempLateStr=top_TempLateStr&TempLateStr(1) Read_TempLateStr=top_TempLateStr&TempLateStr(2) ActInfo=split(template.Strings(62),",") If ErrCodes="" Then Dim dv_ubb,abgcolor Set dv_ubb=new Dvbbs_UbbCode SELECT Case Request("action") Case "new" Response.Cookies("Mybbs")="" IF id<>"" Then title="RW: " SqlStr="SELECT id,title,content,incept,sender,sendtime FROM Dv_Message WHERE incept='"&Mybbs.MemberName&"' And id="&Mybbs.checkStr(id) temptxt=template.Strings(56) End If Mybbs.Stats=ActInfo(0) '"发送短信" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call sendmsg() Case "read" Mybbs.Stats=ActInfo(1) '"阅读短信" call read() Mybbs.NewPassword() Case "outread" Mybbs.Stats=ActInfo(1) '"阅读短信" call read() Mybbs.NewPassword() Case "newmsg" Mybbs.Stats=ActInfo(0) '"发送短信" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" Call newmsg() Case "send" Mybbs.Stats=ActInfo(2) '"保存发送短信" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call savemsg() Case "fw" Response.Cookies("Mybbs")="" title="FW: " Mybbs.Stats=ActInfo(3) '"转发短信" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" SqlStr="SELECT id,title,content,incept,sender,sendtime FROM Dv_Message WHERE (incept='"&Mybbs.MemberName&"' or sender='"&Mybbs.MemberName&"') And id="&Mybbs.checkStr(id) temptxt=template.Strings(57) call sendmsg() Case "edit" Response.Cookies("Mybbs")="" Mybbs.Stats=ActInfo(4) '"修改短信" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" SqlStr="SELECT id,title,content,incept,sender,sendtime FROM Dv_Message WHERE sender='"&Mybbs.MemberName&"' And issend=0 And id="&Mybbs.checkStr(id) call sendmsg() Case "savedit" Call savedit() Case "delet" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call Delete() Case ActInfo(5) '"删除收件箱" If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" Mybbs.Stats=ActInfo(5) call Delinbox() Case ActInfo(6) '"清空收件箱" Mybbs.Stats=ActInfo(6) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call AllDelinbox() Case ActInfo(7) '"删除草稿箱" Mybbs.Stats=ActInfo(7) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call Deloutbox() Case ActInfo(8) '"清空草稿箱" Mybbs.Stats=ActInfo(8) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call AllDeloutbox() Case ActInfo(9) '"删除已发送的消息" Mybbs.Stats=ActInfo(9) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call Delissend() Case ActInfo(10) '"清空已发送的消息" Mybbs.Stats=ActInfo(10) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call AllDelissend() case ActInfo(11) '"删除垃圾箱" Mybbs.Stats=ActInfo(11) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" call Delrecycle() Case ActInfo(12) '"清空垃圾箱" Mybbs.Stats=ActInfo(12) If Mybbs.IsReadonly() And Not Mybbs.Master Then Response.redirect "showerr.asp?action=readonly&boardid="&Mybbs.boardID&"" Call AllDelrecycle() Case Else ErrCodes=ErrCodes+"<li>"+template.Strings(51) End SELECT End If If ErrCodes<>"" Then Showerr Mybbs.ActiveOnline() Response.Write TempLateStr(3) Response.Write "</div>" Mybbs.Footer() '发送信息,回复,转发,编辑 Sub sendmsg() Dim content,i,textarea,touser,incept Dim chatloglist textarea="" If Clng(Mybbs.GroupSetting(53))>0 And DateDiff("s",Session(Mybbs.CacheName & "UserID")(14),Now)<Clng(Mybbs.GroupSetting(53))*60 Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(39),"{$Lim_Time}",Mybbs.GroupSetting(53)) Exit sub End If If Mybbs.GroupSetting(63)<>"0" Then If Clng(Mybbs.GroupSetting(63))<=Clng(Mybbs.UserToday(1)) Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(65),"{$smslimited}",Mybbs.GroupSetting(63)) Exit sub End If End If touser=Mybbs.Checkstr(Request("touser")) If id<>"" And isNumeric(id) And SqlStr<>"" Then Set Rs=Mybbs.execute(SqlStr) If not(Rs.eof And Rs.bof) Then If Request("action")="new" or Request("action")="edit" Then touser=Rs("sender") incept=Rs("incept") sender=Rs("sender") sendtime=Rs("sendtime") title=title & Rs("title") content=Rs("content") temptxt=Replace(temptxt,"{$sendtime}",sendtime) temptxt=Replace(temptxt,"{$sender}",sender) 'temptxt=Replace(temptxt,"{$br}",Chr(10)) temptxt=Replace(temptxt,"{$br}","<br>") If Request("action")="new" or Request("action")="fw" Then textarea=temptxt+content+"<br>======================================<br>" Else textarea=content End If If Session(Mybbs.CacheName & "UserID")(37)<>"" Then textarea=server.htmlencode(Session(Mybbs.CacheName & "UserID")(37)) Else textarea=server.htmlencode(textarea) End If Else ErrCodes=ErrCodes+"<li>"+template.Strings(35):Exit Sub End If Set Rs=Nothing Else textarea=server.htmlencode(Session(Mybbs.CacheName & "UserID")(37)) End If If Request("reaction")="chatlog" Then Dim temp_chat1,temp_chat2 Touser=Mybbs.checkStr(Request("touser")) Sql="SELECT sender,incept,title,content,sendtime FROM Dv_Message WHERE ((sender='"&Mybbs.MemberName&"' And incept='"&Touser&"') or (sender='"&Touser&"' And incept='"&Mybbs.MemberName&"')) And DelS=0 ORDER BY sendtime DESC" Set Rs=Mybbs.Execute(Sql) If Rs.eof And Rs.bof Then Chatloglist="<tr><td class=tablebody1 colspan=3>"&template.Strings(58)&"</td></tr>" Else SQL=Rs.GetRows(-1) Rs.close:Set Rs=nothing For i=0 to Ubound(SQL,2) temp_chat1=template.Strings(59) temp_chat2=template.Strings(60) chatloglist=chatloglist & "<tr><td class=tablebody2 height=25 colspan=3>" If Trim(SQL(0,i))=Mybbs.MemberName Then temp_chat1=Replace(temp_chat1,"{$sendtime}",SQL(4,i)) temp_chat1=Replace(temp_chat1,"{$incept}",Mybbs.HtmlEncode(SQL(1,i))) chatloglist=chatloglist & temp_chat1 Else temp_chat2=Replace(temp_chat2,"{$sendtime}",SQL(4,i)) temp_chat2=Replace(temp_chat2,"{$senduser}",Mybbs.HtmlEncode(SQL(0,i))) chatloglist=chatloglist & temp_chat2 End If chatloglist=chatloglist & "</td></tr><tr><td class=tablebody1 valign=top align=left colspan=3><b>" chatloglist=chatloglist & template.Strings(61)&Mybbs.HtmlEncode(SQL(2,i)) chatloglist=chatloglist & "</b><hr size=1>" Ubblists=Ubblist(SQL(3,i))&"39," chatloglist=chatloglist & dv_ubb.Dv_UbbCode(SQL(3,i),Mybbs.UserGroupID,2,1) chatloglist=chatloglist & "</td></tr>" Next End If End If If Mybbs.FoundIsChallenge and Mybbs.Forum_ChanSetting(0)=1 and Mybbs.Forum_ChanSetting(6)=1 Then 'title="手机短信标题无效,一次一位会员"" disabled id=""touser" send_TempLateStr=Replace(send_TempLateStr,"{$Sms_SendAct}","messanger.asp?action=send") ' send_TempLateStr=Replace(send_TempLateStr,"{$Sms_SendAct}","challenge_msg.asp?action=submessage") ElseIf Request("action")="edit" Then send_TempLateStr=Replace(send_TempLateStr,"{$Sms_SendAct}","messanger.asp?action=savedit&id="&id) Else send_TempLateStr=Replace(send_TempLateStr,"{$Sms_SendAct}","messanger.asp?action=send") End If If Mybbs.Forum_ChanSetting(0)=1 and Mybbs.Forum_ChanSetting(6)=1 Then if Mybbs.FoundIsChallenge then 'template.html(18)=Replace(template.html(18),"{$ischecked}","checked") Else template.html(18)=Replace(template.html(18),"{$ischecked}","") End if send_TempLateStr=Replace(send_TempLateStr,"{$mo_send}",template.html(18)) Else send_TempLateStr=Replace(send_TempLateStr,"{$mo_send}","") End If send_TempLateStr=Replace(send_TempLateStr,"{$sender}",sender) send_TempLateStr=Replace(send_TempLateStr,"{$touser}",touser) send_TempLateStr=Replace(send_TempLateStr,"{$Friend_option}",OPTION_Friend) send_TempLateStr=Replace(send_TempLateStr,"{$title}","value="""&title&"""") send_TempLateStr=Replace(send_TempLateStr,"{$sms_id}",id) send_TempLateStr=Replace(send_TempLateStr,"{$sendtime}",sendtime) send_TempLateStr=Replace(send_TempLateStr,"{$content}",content) send_TempLateStr=Replace(send_TempLateStr,"{$Sms_senduser}",Mybbs.GroupSetting(33)) send_TempLateStr=Replace(send_TempLateStr,"{$Sms_maxbody}",(Mybbs.GroupSetting(34))) send_TempLateStr=Replace(send_TempLateStr,"{$reaction}",Request("reaction")) send_TempLateStr=Replace(send_TempLateStr,"{$action}",Request("action")) send_TempLateStr=Replace(send_TempLateStr,"{$chatloglist}",EncodeJS(chatloglist)) send_TempLateStr=Replace(send_TempLateStr,"{$myname}",Mybbs.membername) send_TempLateStr=Replace(send_TempLateStr,"{$textarea}",textarea) If Mybbs.GroupSetting(63)<>"0" Then send_TempLateStr=Replace(send_TempLateStr,"{$smslimited}",Clng(Mybbs.GroupSetting(63))-Clng(Mybbs.UserToday(1))) Else send_TempLateStr=Replace(send_TempLateStr,"{$smslimited}",9999) End If Response.Write send_TempLateStr End Sub '读取信息 sub read() If id<>"" and isNumeric(id) Then id=Clng(id) Else ErrCodes=ErrCodes+"<li>"+template.Strings(51) Exit Sub End If Dim incept,content Dim nextid,nextsender If Request("action")="read" Then Sql="UPDATE [Dv_message] Set flag=1 WHERE ID="&id Mybbs.execute(sql) UPDATE_User_Msg(Mybbs.MemberName) End If Sql="SELECT id,sender FROM Dv_Message WHERE incept='"&Mybbs.MemberName&"' And flag=0 And issend=1 And id>"&id&" ORDER BY sendtime " Set Rs=Mybbs.execute(sql) If not (Rs.eof And Rs.bof) Then nextid=Rs(0) nextsender=Rs(1) End If Rs.close Sql="SELECT * FROM Dv_Message WHERE (incept='"&Mybbs.MemberName&"' or sender='"&Mybbs.MemberName&"') And id="&id Set Rs=Mybbs.Execute(Sql) If Rs.eof And Rs.bof Then ErrCodes=ErrCodes+"<li>"+template.Strings(34) exit sub Else incept=Rs("incept") sender=Rs("sender") title=Mybbs.htmlencode(Rs("title")) sendtime=Rs("sendtime") Ubblists=Ubblist(Rs("content"))&"39," content=dv_ubb.Dv_UbbCode(Rs("content"),Mybbs.UserGroupID,2,1) End If Rs.close:Set Rs=nothing Read_TempLateStr=Replace(Read_TempLateStr,"{$incept}",incept) Read_TempLateStr=Replace(Read_TempLateStr,"{$sender}",sender) Read_TempLateStr=Replace(Read_TempLateStr,"{$read_title}",title) Read_TempLateStr=Replace(Read_TempLateStr,"{$sms_id}",id) Read_TempLateStr=Replace(Read_TempLateStr,"{$sendtime}",sendtime) Read_TempLateStr=Replace(Read_TempLateStr,"{$textarea}",content) Read_TempLateStr=Replace(Read_TempLateStr,"{$nextid}",nextid) Read_TempLateStr=Replace(Read_TempLateStr,"{$nextsender}",nextsender) Response.Write Read_TempLateStr End Sub '保存 Sub savemsg() Dim i,BoxName Dim incept,title,message,subtype Dim mysessiondata '把提交的数据保存到session mysessiondata=Session(Mybbs.CacheName & "UserID") mysessiondata(37)=Request.form("message") Session(Mybbs.CacheName & "UserID")=mysessiondata BoxName=split(template.Strings(63),",") If Clng(Mybbs.GroupSetting(53))>0 And DateDiff("s",Session(Mybbs.CacheName & "UserID")(14),Now)<Clng(Mybbs.GroupSetting(53))*60 Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(39),"{$Lim_Time}",Mybbs.GroupSetting(53)) Exit Sub End If If Mybbs.GroupSetting(63)<>"0" Then If Clng(Mybbs.GroupSetting(63))<=Clng(Mybbs.UserToday(1)) Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(65),"{$smslimited}",Mybbs.GroupSetting(63)) Exit sub End If End If If Mybbs.forum_setting(80)="1" Then If Not Mybbs.CodeIsTrue() Then ErrCodes=ErrCodes+"<meta http-equiv=refresh content=""2;URL="&Request.ServerVariables("HTTP_REFERER")&"""><li>验证码校验失败,请返回刷新页面再试。两秒后自动返回" Exit Sub End If End If If CStr(Request.Cookies("Mybbs"))=CStr(Mybbs.Boardid) Then Mybbs.Dvbbs_Suc("<li>"+template.Strings(26)) '您的修改信息已成功提交! Exit Sub End If If Request.form("touser")="" Then ErrCodes=ErrCodes+"<li>"+template.Strings(35) Exit Sub Else incept=replace(Request.form("touser"),"'","") incept=split(incept,",") End If If Request.form("title")="" or Mybbs.StrLength(Request.form("title")) > 50 Then ErrCodes=ErrCodes+"<li>"+template.Strings(53) Exit Sub Else title=Mybbs.checkStr(Request.form("title")) End If If Request.form("message")="" or Mybbs.StrLength(Request.form("message")) > CLng(Mybbs.GroupSetting(34)) Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(54),"{$MaxLen}",Mybbs.GroupSetting(34)) Exit Sub Else message=Html2Ubb(Request.form("message")) message=Mybbs.checkStr(message) End If Dim InceptName,SendNum SendNum = 0 FOR i=0 TO ubound(incept) Sql="SELECT UserName FROM [Dv_User] WHERE UserName = '"& Trim(incept(i)) &"' " Set Rs=Mybbs.Execute(Sql) If Rs.eof And Rs.bof Then ErrCodes=ErrCodes+"<li>"+template.Strings(35):Exit Sub ELSE InceptName=RS(0) End If Rs.close If CHKHateName(InceptName) Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(64),"{$incept}",InceptName) Exit Sub Else If Request.Form("sms_act")="Sms_Issend" Then Sql="insert into Dv_Message (incept,sender,title,content,sendtime,flag,issend) values ('"&InceptName&"','"&Mybbs.MemberName&"','"&title&"','"&message&"',"&SqlNowString&",0,1)" subtype=BoxName(2) '已发送的消息 SendNum = SendNum + 1 ElseIf Request.Form("sms_act")="Sms_Issave" Then Sql="insert into Dv_Message (incept,sender,title,content,sendtime,flag,issend) values ('"&InceptName&"','"&Mybbs.MemberName&"','"&title&"','"&message&"',"&SqlNowString&",0,0)" subtype=BoxName(4) '发件箱 Else Sql="insert into Dv_Message (incept,sender,title,content,sendtime,flag,issend) values ('"&InceptName&"','"&Mybbs.MemberName&"','"&title&"','"&message&"',"&SqlNowString&",0,1)" subtype=BoxName(2) '已发送的消息 SendNum = SendNum + 1 End If Mybbs.execute(sql) UPDATE_User_Msg(InceptName) End IF If i>Cint(Mybbs.GroupSetting(33))-1 Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(55),"{$Sms_MaxSend}",Mybbs.GroupSetting(33)) EXIT Sub EXIT For End If NEXT '更新用户当日发短信数据以及缓存 If SendNum > 0 Then Dim iUserInfo iUserInfo = Session(Mybbs.CacheName & "UserID") iUserInfo(36) = Mybbs.UserToday(0) & "|" & Mybbs.UserToday(1) + SendNum & "|" & Mybbs.UserToday(2) iUserInfo(37) = "" Session(Mybbs.CacheName & "UserID") = iUserInfo Mybbs.Execute( "Update [Dv_User] Set UserToday='" & iUserInfo(36) & "' Where UserID = " & Mybbs.UserID) End If Response.Cookies("Mybbs")=Mybbs.Boardid Mybbs.Dvbbs_Suc("<li>"+Replace(template.Strings(38),"{$SmsBOX}",subtype)) End Sub '保存修改 Sub savedit() Dim incept,title,message,subtype If Clng(Mybbs.GroupSetting(53))>0 And DateDiff("s",Session(Mybbs.CacheName & "UserID")(14),Now)<Clng(Mybbs.GroupSetting(53))*60 Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(39),"{$Lim_Time}",Mybbs.GroupSetting(53)) Exit Sub End If If CheckID(id) = False Then ErrCodes=ErrCodes+"<li>"+template.Strings(51) Exit Sub End If If Request("touser")="" Then ErrCodes=ErrCodes+"<li>"+template.Strings(35) Exit Sub Else incept=Mybbs.checkStr(Request.Form("touser")) End If If Request("title")="" or Mybbs.StrLength(Request("title")) > 50 Then ErrCodes=ErrCodes+"<li>"+template.Strings(53) Exit Sub Else title=Mybbs.checkStr(Request.Form("title")) End If If Request("message")="" or Mybbs.StrLength(Request("message")) > CLng(Mybbs.GroupSetting(34)) Then ErrCodes=ErrCodes+"<li>"+Replace(template.Strings(54),"{$MaxLen}",Mybbs.GroupSetting(34)) Exit Sub Else message=Html2Ubb(Request.form("message")) message=Mybbs.checkStr(message) End If Dim SendNum SendNum = 0 Sql="SELECT UserName FROM [Dv_User] WHERE UserName='"&incept&"'" Set Rs=Mybbs.execute(sql) If Rs.eof And Rs.bof Then ErrCodes=ErrCodes+"<li>"+template.Strings(35) Exit Sub End If Rs.close:Set Rs=Nothing If Request("Submit")="Sms_Issend" Then Sql="UPDATE Dv_Message Set incept='"&incept&"',title='"&title&"',content='"&message&"',sendtime="&SqlNowString&",flag=0,issend=1 WHERE id="&Mybbs.checkStr(id) subtype="发送箱" SendNum = 1 Else Sql="UPDATE Dv_Message Set incept='"&incept&"',title='"&title&"',content='"&message&"',sendtime="&SqlNowString&",flag=0,issend=0 WHERE id="&Mybbs.checkStr(id) subtype="发件箱" End If Mybbs.execute(sql) '更新用户当日发短信数据以及缓存 If SendNum > 0 Then Dim iUserInfo iUserInfo = Session(Mybbs.CacheName & "UserID") iUserInfo(36) = Mybbs.UserToday(0) & "|" & Mybbs.UserToday(1) + SendNum & "|" & Mybbs.UserToday(2) Session(Mybbs.CacheName & "UserID") = iUserInfo Mybbs.Execute("Update [Dv_User] Set UserToday='" & iUserInfo(36) & "' Where UserID = " & Mybbs.UserID) End If UPDATE_User_Msg(incept) UPDATE_User_Msg(Mybbs.membername) Mybbs.Dvbbs_Suc("<li>"+Replace(template.Strings(38),"{$SmsBOX}",subtype)) End Sub '-------------------------------------------------------------逻辑删除----------------------------------------- '收件逻辑删除,置于回收站,入口字段DelR,可用于批量及单个删除 Sub Delinbox() If CheckID(id) = False Then ErrCodes=ErrCodes+"<li>"+template.Strings(51) else Mybbs.execute("UPDATE Dv_Message Set DelR=1 WHERE incept='"&Mybbs.MemberName&"' And id in ("&Mybbs.checkStr(id)&")") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End If End Sub Sub AllDelinbox() Mybbs.execute("UPDATE Dv_Message Set DelR=1 WHERE incept='"&Mybbs.MemberName&"' And DelR=0") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End Sub '发件逻辑删除,置于回收站,入口字段DelS,可用于批量及单个删除 Sub Deloutbox() If CheckID(id) = False Then ErrCodes=ErrCodes+"<meta http-equiv=refresh content=""2;URL="&Request.ServerVariables("HTTP_REFERER")&"""><li>"+template.Strings(51)&"2秒后自动返回上一页" Else Mybbs.execute("UPDATE Dv_Message Set DelS=1 WHERE sender='"&Mybbs.MemberName&"' And issend=0 And id in ("&Mybbs.checkStr(id)&")") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End If End Sub Sub AllDeloutbox() Mybbs.execute("UPDATE Dv_Message Set DelS=1 WHERE sender='"&Mybbs.MemberName&"' And DelS=0 And issend=0") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End Sub '已发送逻辑删除,置于回收站,入口字段DelS,可用于批量及单个删除 'DelS:0未操作,1发送者删除,2发送者从回收站删除 Sub DelISsend() If CheckID(id) = False Then ErrCodes=ErrCodes+"<meta http-equiv=refresh content=""2;URL="&Request.ServerVariables("HTTP_REFERER")&"""><li>"+template.Strings(51)&"两秒后自动返回" Else Mybbs.execute("UPDATE Dv_Message Set DelS=1 WHERE sender='"&Mybbs.MemberName&"' And issend=1 And id in ("&Mybbs.checkStr(id)&")") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End If End Sub '将已发送的短信移到回收站。 Sub AllDelIssend() Mybbs.execute("UPDATE Dv_Message Set DelS=1 WHERE sender='"&Mybbs.MemberName&"' And DelS=0 And issend=1") Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) UPDATE_User_Msg(Mybbs.membername) End Sub '用户能完全删除收到信息和逻辑删除所发送信息,逻辑删除所发送信息设置入口字段DelS参数为2 sub Delrecycle() If CheckID(id) = False Then ErrCodes=ErrCodes+"<meta http-equiv=refresh content=""2;URL="&Request.ServerVariables("HTTP_REFERER")&"""><li>"+template.Strings(51) Exit Sub Else Mybbs.execute("DelETE FROM Dv_Message WHERE incept='"&Mybbs.MemberName&"' And DelR=1 And id in ("&Mybbs.checkStr(id)&")") Mybbs.execute("UPDATE Dv_Message Set DelS=2 WHERE sender='"&Mybbs.MemberName&"' And DelS=1 And id in ("&Mybbs.checkStr(id)&")") Mybbs.Dvbbs_Suc("<li>"+template.Strings(37)) UPDATE_User_Msg(Mybbs.membername) End If End Sub '收信人回收站: incept=收信人 DelR=1 '发信人回收站: sender=收信人 DelS=2 '清空及删除回收站记录,将不在回收站的记录放到回收站内 sub AllDelrecycle() Mybbs.execute("DelETE FROM Dv_Message WHERE incept='"&Mybbs.MemberName&"' And DelR=1") Mybbs.execute("UPDATE Dv_Message Set DelS=2 WHERE sender='"&Mybbs.MemberName&"' And DelS=1") 'sucmsg=sucmsg+"<br>"+"<li>删除短信息成功。删除的消息将不可恢复。" Mybbs.Dvbbs_Suc("<li>"+template.Strings(37)) UPDATE_User_Msg(Mybbs.Membername) End Sub '删除的消息将置于您的回收站 Sub Delete() If CheckID(id) = False Then ErrCodes=ErrCodes+"<meta http-equiv=refresh content=""2;URL="&Request.ServerVariables("HTTP_REFERER")&"""><li>"+template.Strings(51) Else Mybbs.execute("UPDATE Dv_Message Set DelR=1 WHERE incept='"&Mybbs.MemberName&"' And id="&Mybbs.checkStr(id)) Mybbs.execute("UPDATE Dv_Message Set DelS=1 WHERE sender='"&Mybbs.MemberName&"' And id="&Mybbs.checkStr(id)) UPDATE_User_Msg(Mybbs.membername) Mybbs.Dvbbs_Suc("<li>"+template.Strings(36)) End If End Sub '------------------------------------------------------------------------------------------------------------- '显示错误信息 Sub Showerr() Dim Show_Errmsg If ErrCodes<>"" Then Show_Errmsg=Mybbs.mainhtml(14) ErrCodes=Replace(ErrCodes,"{$color}",Mybbs.mainSetting(1)) Show_Errmsg=Replace(Show_Errmsg,"{$color}",Mybbs.mainSetting(1)) Show_Errmsg=Replace(Show_Errmsg,"{$errtitle}",Mybbs.Forum_Info(0)&"-"&Mybbs.Stats) Show_Errmsg=Replace(Show_Errmsg,"{$action}",Mybbs.Stats) Show_Errmsg=Replace(Show_Errmsg,"{$ErrString}",ErrCodes) End If Response.write Show_Errmsg End Sub '用户好友下拉名单 Function OPTION_Friend() DIM i Sql="SELECT F_friend FROM Dv_Friend WHERE F_userid="&Mybbs.userid&" ORDER BY F_addtime DESC" Set Rs=Mybbs.Execute(Sql) If not Rs.eof Then SQL=Rs.GetRows(-1) Rs.Close:Set Rs=Nothing End if If IsArray(SQL) Then For i=0 To Ubound(SQL,2) OPTION_Friend=OPTION_Friend & "<OPTION value="""&SQL(0,i)&""">"&SQL(0,i)&"</OPTION> " Next Else OPTION_Friend="" End If End Function '黑名单验证 Function CHKHateName(name) DIM Sql,Rs CHKHateName=False Sql="Select F_friend From Dv_Friend Where (F_userid="&Mybbs.userid&" or F_username='"&name&"') And F_Mod=2" Set Rs=Mybbs.Execute(Sql) If not Rs.eof Then Sql=Rs.GetString(,, ",", "", "") Rs.Close:Set Rs=Nothing If instr(Sql,name) or instr(Sql,Mybbs.Membername) Then CHKHateName=True End If End Function '更新用户短信通知信息(新短信条数||新短讯ID||发信人名) Sub UPDATE_User_Msg(username) Dim msginfo,i,UP_UserInfo,newmsg newmsg=newincept(username) If newmsg>0 Then msginfo=newincept(username) & "||" & inceptid(1,username) & "||" & inceptid(2,username) Else msginfo="0||0||null" End If Mybbs.execute("UPDATE [Dv_User] Set UserMsg='"&Mybbs.CheckStr(msginfo)&"' WHERE username='"&Mybbs.CheckStr(username)&"'") If username=Mybbs.MemberName Then UP_UserInfo=Session(Mybbs.CacheName & "UserID") UP_UserInfo(30)=msginfo Session(Mybbs.CacheName & "UserID")=UP_UserInfo Else Call Mybbs.NeedUpdateList(username,1) End If End Sub '统计留言 Function newincept(iusername) Dim Rs Rs=Mybbs.execute("SELECT Count(id) FROM Dv_Message WHERE flag=0 And issend=1 And DelR=0 And incept='"& iusername &"'") newincept=Rs(0) Set Rs=nothing If isnull(newincept) Then newincept=0 End Function Function inceptid(stype,iusername) Set Rs=Mybbs.execute("SELECT top 1 id,sender FROM Dv_Message WHERE flag=0 And issend=1 And DelR=0 And incept='"& iusername &"'") If not rs.eof Then If stype=1 Then inceptid=Rs(0) Else inceptid=Rs(1) End If Else If stype=1 Then inceptid=0 Else inceptid="null" End If End If Set Rs=nothing End Function Function Get_ForumCSS() Dim Sid sid = Request.Cookies("skin")("skinid_0") If Not IsNumeric(sid) Or sid = "" Then Sid=Application(Forum_CacheName & "_Dv_Setup")(17,0) Get_ForumCSS=Application(Forum_CacheName &"_Forum_CSS"&Sid) End Function Function CheckID(CHECK_ID) Dim Delid,Fixid CheckID=True Delid=replace(CHECK_ID,"'","") Delid=replace(Delid,";","") Delid=replace(Delid,"--","") Delid=replace(Delid,")","") Fixid=replace(Delid,",","") Fixid=Trim(replace(fixid," ","")) If Delid="" or isnull(Delid) Then CheckID=False If Not IsNumeric(fixid) Then CheckID=False End Function Function EncodeJS(str) EncodeJS = Replace(Replace(Replace(Replace(Replace(str,chr(10),""),"\","\\"),"'","\'"),VbCrLf,"\n"),chr(13),"") End Function '发贴时用,为了减少入库量 Function Html2Ubb(str) If Str<>"" And Not IsNull(Str) Then Dim re,tmpstr Set re=new RegExp re.IgnoreCase =True re.Global=True re.Pattern = "(<br>)" Str = re.Replace(Str,"[br]") 'If Mybbs.Board_Setting(5)="0" Then ' re.Pattern="<(.[^>]*)>" ' Str=re.Replace(Str,"") 'End If Str = Replace(Str, "[br]", "<br>") re.Pattern = "( )" Str = re.Replace(Str,Chr(9)) re.Pattern="(>)("&vbNewLine&")(<)" Str=re.Replace(Str,"$1$3") re.Pattern="(>)("&vbNewLine&vbNewLine&")(<)" Str=re.Replace(Str,"$1$3") re.Pattern = "(<p>)" Str = re.Replace(Str,"") re.Pattern = "(<\/p>)" Str = re.Replace(Str,CHR(13) & CHR(10)) re.Pattern = "(<STRONG>)" Str = re.Replace(Str,"<b>") re.Pattern = "(<\/STRONG>)" Str = re.Replace(Str,"</b>") re.Pattern ="(<TBODY>)" Str = re.Replace(Str,"") re.Pattern ="(<\/TBODY>)" Str = re.Replace(Str,"") Set Re=Nothing Html2Ubb = Str Else Html2Ubb = "" End If End Function %>