newstar - 2008-4-8 08:42:00

附件:
您所在的用户组无法下载或查看附件请测试!
若有问题,请尽快回复!
lnan3 - 2008-4-8 10:11:00
A用户发送消息给B用户,A用户在发送消息时把消息保存到发件箱中。
测试后问题如下:
A用户如果在B用户阅读新消息之前就把保存在发件箱中的消息删除掉了,则B用户随后在自己的收件箱中可以无错的正常删除消息。
A用户如果一直把消息保存在发件箱中未删除,则B用户在阅读到新消息后欲删除短消息时浏览器依旧会报意外错误。返回后会发现消息删除掉了,而且同时会连带着把A用户保存在自己收件箱中相同的消息删除掉。
这是发件箱的 调用有问题:
Elseif NoSqlHack(Request.QueryString("type"))="sendbox" then
RsMessageSQL = "Select MessageID,M_Title,M_FromUserNumber,M_ReadUserNumber,M_Content,M_FromDate,M_ReadTF,isRecyle,isDelF,isDelR,LenContent,isSend,isDraft From FS_ME_Message where M_FromUserNumber='"&Fs_User.UserNumber&"' and isRecyle=0 and isDelR=0 and issend=1 Order by MessageID desc"
将红色字体 删除即可!
newstar - 2008-4-8 10:16:00
If Request.Form("Action") = "Del" then
Dim DelID,Str_Tmp,Str_Tmp1
DelID = NoSqlHack(request.Form("MessageID"))
if DelID = "" then
strShowErr = "<li>你必须选择一项再删除</li>"
Call ReturnError(strShowErr,"")
End if
if Trim(Request.Form("strAction")) = "drabox" then
Dim RsTFSQLd,RsTFObjd
Set RsTFObjd = Server.CreateObject(G_FS_RS)
RsTFSQLd = "Select isDelR,isSend From FS_ME_Message where MessageId in ("&DelID&") "
RsTFObjd.Open RsTFSQLd,User_Conn,1,3
do while not RsTFObjd.eof
if RsTFObjd("isDelR") = 1 and RsTFObjd("isSend") = 0 then
User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&")")
Else
User_Conn.execute("Update FS_ME_Message set isDraft = 0 where MessageId in ("&DelID&") and M_FromUserNumber ='"& Fs_User.UserNumber&"'")
End if
RsTFObjd.movenext
loop
Elseif Trim(Request.Form("strAction")) = "sendbox" then
Dim RsTFSQL,RsTFObj
Set RsTFObj = Server.CreateObject(G_FS_RS)
RsTFSQL = "Select isDelR,isDraft From FS_ME_Message where MessageId in ("&DelID&") "
RsTFObj.Open RsTFSQL,User_Conn,1,3
do while not RsTFObj.eof
if RsTFObj("isDelR") = 1 and RsTFObj("isDraft")=0 then
User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&")")
Else
User_Conn.execute("Update FS_ME_Message set isSend = 0 where MessageId in ("&DelID&") and M_FromUserNumber ='"& Fs_User.UserNumber&"'")
End if
RsTFObj.movenext
loop
Elseif Trim(Request.Form("strAction")) = "rebox" then
Dim RsTFSQL1,RsTFObj1
Set RsTFObj1 = Server.CreateObject(G_FS_RS)
RsTFSQL1 = "Select isDelF,isSend,isDraft From FS_ME_Message where MessageId in ("&DelID&") "
RsTFObj1.Open RsTFSQL1,User_Conn,1,3
do while not RsTFObj1.eof
if RsTFObj1("isSend") = 0 and RsTFObj1("isDraft")=0 then
User_Conn.execute("Delete From FS_ME_Message where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
Else
User_Conn.execute("Update FS_ME_Message set isDelR = 1 where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
End if
RsTFObj1.movenext
loop
Else
strShowErr = "<li>错误的参数</li>"
Call ReturnError(strShowErr,"")
'User_Conn.execute("Update FS_ME_Message set isDelR = 1 where MessageId in ("&DelID&") and M_ReadUserNumber ='"& Fs_User.UserNumber&"'")
End if
strShowErr = "<li>删除短信成功</li>"
Response.Redirect("lib/Success.asp?ErrCodes="&Server.URLEncode(strShowErr)&"&ErrorUrl=")
Response.end
End if
红色 只是大体标注!
newstar - 2008-4-8 10:40:00
已更新,请重新测试!
lnan3 - 2008-4-8 11:47:00
隆重宣布,你修复后的消息模块测试通过!已知BUG已全部修复!:)
newstar辛苦了!
顺便补充一句,会员的那个人气排行榜也存在BUG,不管是谁,只要刷新就会给该会员增加人气1!不知如何加以限制,望楼主也能考虑考虑。我个人认为不管什么系统,功能不要多也不要太赶时髦,但现有的功能起码每个一个细节都要做的很精,这样才能迎来使用者和购买者。不知我说的对还是错,个人意见吧!FOOSUN以往的版本从3.x到4.x一直在改进,但一直BUG很多!也不见你们在坛子里兄弟们中做一个需求调研和系统调研呢?
newstar 回复:
目前我只是尽个人的能力,做一些力所能及的事!我所做的修复在官方版本确认以前,也只代表个人。
所以 在我的修复过程中,也可能存在不尽完善的地方,还请多多支持!^&^