三方整合动易后台删除用户不能同步的临时解决方法

本条目由小李刀刀发布于 2006-08-01。属于 所谓技术,被贴了 动易 标签。所谓技术2006-08-01 · 小李刀刀

问题描述:整合成功后,在动易后台删除用户时另外两个系统不能同步。而其它所有操作都已正常。

临时方案:修改动网和oblog的接口解决。

动网的修改:

打开动网论坛根目录下的dv_dpo.asp文件,找到147行左右的

D_Users = Split(UserName,",")

修改为:

If Left(UserName,1) = "," Then UserName = Right(UserName,Len(UserName)-1)D_Users = Split(UserName,",")

Oblog的修改:

打开Oblog的/API/oblogresponse.asp文件,289-336行左右,找到下面两个函数,在每个函数体的第一行增加红色代码:

修改前 [codes=VB]Sub DelUser()     Dim rs,i     If UserName="" Then         ErrMsg= ("用户名不能为空(不能大于14小于4)!")         FoundErr=True         Exit Sub     End If     If InStr(UserName,",")>0 Then         UserName=Split(UserName,",")         For i=0 To UBound(UserName)             deloneuser(UserName(i))         Next     Else         deloneuser(UserName)     End If End Sub '同上 Sub Deloneuser(UserName)     If UserName="" Then         ErrMsg=("用户名不能为空!")         FoundErr=True         Exit Sub     End If     Dim rs,fso,f,uname,udir,userid     Set rs=oblog.execute("select user_dir,UserName,user_folder,userid from oblog_user where UserName='" & UserName & "'")     If Not rs.eof Then         udir=rs(0)         uname=rs(1)         userid=rs(3)         Set fso=server.createobject("scripting.filesystemobject")         If fso.FolderExists(server.MapPath(blogdir & udir&"/"&rs("user_folder"))) then             Set f = fso.GetFolder(server.MapPath(blogdir & udir&"/"&rs("user_folder")))             f.delete True         End If         Set f=Nothing         Set fso=Nothing         oblog.execute("delete from oblog_log where userid="&userid)         oblog.execute("delete from oblog_comment where userid="&userid)         oblog.execute("delete from oblog_message where userid="&userid)         oblog.execute("delete from oblog_subject where userid="&userid)         oblog.execute("delete from oblog_user where userid=" & userid)         oblog.execute("delete from oblog_upfile where userid=" & userid)         oblog.execute("delete from oblog_friend where userid=" & userid)         oblog.execute("update oblog_pm set dels=1 where sender='" &UserName&"'")     End If     Set rs=Nothing End Sub[/codes]

**修改后 **[codes=VB]Sub DelUser()     If Left(UserName,1) = "," Then UserName = Right(UserName,Len(UserName)-1)     Dim rs,i     If UserName="" Then         ErrMsg= ("用户名不能为空(不能大于14小于4)!")         FoundErr=True         Exit Sub     End If     If InStr(UserName,",")>0 Then         UserName=Split(UserName,",")         For i=0 To UBound(UserName)             deloneuser(UserName(i))         Next     Else         deloneuser(UserName)     End If End Sub '同上 Sub Deloneuser(UserName)     If Left(UserName,1) = "," Then UserName = Right(UserName,Len(UserName)-1)     If UserName="" Then         ErrMsg=("用户名不能为空!")         FoundErr=True         Exit Sub     End If     Dim rs,fso,f,uname,udir,userid     Set rs=oblog.execute("select user_dir,UserName,user_folder,userid from oblog_user where UserName='" & UserName & "'")     If Not rs.eof Then         udir=rs(0)         uname=rs(1)         userid=rs(3)         Set fso=server.createobject("scripting.filesystemobject")         If fso.FolderExists(server.MapPath(blogdir & udir&"/"&rs("user_folder"))) then             Set f = fso.GetFolder(server.MapPath(blogdir & udir&"/"&rs("user_folder")))             f.delete True         End If         Set f=Nothing         Set fso=Nothing         oblog.execute("delete from oblog_log where userid="&userid)         oblog.execute("delete from oblog_comment where userid="&userid)         oblog.execute("delete from oblog_message where userid="&userid)         oblog.execute("delete from oblog_subject where userid="&userid)         oblog.execute("delete from oblog_user where userid=" & userid)         oblog.execute("delete from oblog_upfile where userid=" & userid)         oblog.execute("delete from oblog_friend where userid=" & userid)         oblog.execute("update oblog_pm set dels=1 where sender='" &UserName&"'")     End If     Set rs=Nothing End Sub[/codes]

站点头像

来自:裁纸刀下 - 小李刀刀博客
原文链接:三方整合动易后台删除用户不能同步的临时解决方法
裁纸刀下版权所有,允许非商业用途转载,转载时请原样转载并标明来源、作者,保留原文链接。