gusucode.com > CRM源码带手机版ASP源码程序 > Plugin/WebIM/Data/CMD.asp

    <%
'检查是否登陆
Sub CheckLogin
	If Session("userid") = "" Then
		Response.End
	End If
End Sub

'将用户最后登陆时间设置为当前时间
Sub UpdateUserOnlineTime(id)
	oConn.Execute("update [user] set lastonlinetime='"&Now()&"' where userid = "&id)
End Sub

'更改用户信息,并向该用户在线好友广播此消息
Sub UpdateUserProfile(id,username,usersign,userface,userstatus)
	sql = "update [user] set userid = "&id
	If userstatus<>"" Then sql = sql&" ,userstatus='"&userstatus&"'"
	If username<>""   Then sql = sql&" ,username='"&username&"' "
	If usersign<>""   Then sql = sql&" ,usersign='"&usersign&"' "
	If userface<>""   Then sql = sql&" ,userface='"&userface&"' "
	sql = sql&" where userid = "&id
	oConn.Execute(sql)
	sql = "select a.*,b.userid as uid,b.userstatus from userfriend a inner join [user] b on a.friendid = b.userid where a.userid = "&id&"" '所有的好友
	Set oRs_1 = Server.CreateObject("Adodb.RecordSet")
	oRs_1.Open sql,oConn,1,1
	If Not(oRs_1.Bof And oRs_1.Eof) Then
		oRs_1.MoveFirst
		While Not oRs_1.Eof
			If CInt(oRs_1("userstatus"))<>7 Then'不是下线
				If CInt(oConn.Execute("select count(*) from usersysmsg where (fromid="&id&" and toid="&oRs_1("uid")&" and typeid=5)")(0))<1 Then'是否已经存在此广播
					oConn.Execute("insert into usersysmsg (fromid,toid,msgcontent,typeid,msgaddtime) values ('"&id&"','"&oRs_1("uid")&"','','5','"&Now()&"')")
				End If
			End If
			oRs_1.MoveNext
		Wend
	End If 
	oRs_1.Close
	Set oRs_1 = Nothing
End Sub

'将最后登陆时间在1分钟之前的用户状态设置为下线
Sub CheckUserStatus()
	sql = "select * from [user] where userstatus <> 7 " '所有的非下线用户
	Set oRs_2 = Server.CreateObject("Adodb.RecordSet")
	oRs_2.Open sql,oConn,1,1
	If Not(oRs_2.Bof And oRs_2.Eof) Then
		oRs_2.MoveFirst
		While Not oRs_2.Eof
			If(DateDiff("n",CDate(oRs_2("lastonlinetime")),Now)>1) Then
				Call UpdateUserProfile(oRs_2("userid"),"","","",7)
			End If
			oRs_2.MoveNext
		Wend
	End If 
	oRs_2.Close
	Set oRs_2 = Nothing	
End Sub

'发送好友改变消息
Sub ChangeFriendList(fromid,toid,t)'t:3添加4删除
	If CInt(oConn.Execute("select userstatus from [user] where userid="&toid)(0))<7 Then
		oConn.Execute("insert into usersysmsg (fromid,toid,msgcontent,typeid,msgaddtime) values ('"&fromid&"','"&toid&"','','"&t&"','"&Now()&"')")
	End If
End Sub

'添加好友操作
Sub AddFriend(fromid,toid)
	If CInt(oConn.Execute("select count(*) from userfriend where userid ="&fromid&" and friendid ="&toid)(0))<1 Then
		oConn.Execute("insert into userfriend (userid,friendid) values ('"&fromid&"','"&toid&"')")
		oConn.Execute("insert into userfriend (userid,friendid) values ('"&toid&"','"&fromid&"')")
		Call ChangeFriendList(fromid,toid,3) '给对方发送消息提示
	End If
End Sub

'删除好友操作
Sub DelFriend(fromid,toid)
	If CInt(oConn.Execute("select count(*) from userfriend where userid ="&fromid&" and friendid ="&toid)(0))>0 Then
		oConn.Execute("delete from userfriend where userid ="&fromid&" and friendid = "&toid)
		oConn.Execute("delete from userfriend where userid ="&toid&" and friendid = "&fromid)
		Call ChangeFriendList(fromid,toid,4) '给对方发送消息提示
	End If
End Sub

'检测是否登陆检验码
Function CheckSysCode(uid,code)
	sql = "select * from [user] where userid = "&uid
	Set oRs_3 = Server.CreateObject("Adodb.RecordSet")
	oRs_3.Open sql,oConn,1,1
	If Not(oRs_3.Bof And oRs_3.Eof) Then
		oRs_3.MoveFirst
		If CStr(code)<>CStr(oRs_3("syscode")) Then
			CheckSysCode = 0
		Else
			CheckSysCode = 1
		End If
	Else
		CheckSysCode = 0
	End If 
	oRs_3.Close
	Set oRs_3 = Nothing	
End Function
%>