问题描述:整合成功后,在动易后台删除用户时另外两个系统不能同步。而其它所有操作都已正常。
临时方案:修改动网和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]
来自:裁纸刀下 - 小李刀刀博客
原文链接:三方整合动易后台删除用户不能同步的临时解决方法
裁纸刀下版权所有,允许非商业用途转载,转载时请原样转载并标明来源、作者,保留原文链接。