forked from External/grumble
Fix fixme in userEnterChannel().
This commit is contained in:
parent
b1d6717a04
commit
0fde3b9ae9
2 changed files with 23 additions and 1 deletions
20
freeze.go
20
freeze.go
|
|
@ -727,6 +727,26 @@ func (server *Server) UpdateFrozenUser(client *Client, state *mumbleproto.UserSt
|
|||
server.numLogOps += 1
|
||||
}
|
||||
|
||||
// Update a user's last active channel
|
||||
func (server *Server) UpdateFrozenUserLastChannel(client *Client) {
|
||||
if client.IsRegistered() {
|
||||
user := client.user
|
||||
|
||||
fu := &freezer.User{}
|
||||
fu.Id = proto.Uint32(user.Id)
|
||||
fu.LastChannelId = proto.Uint32(uint32(client.Channel.Id))
|
||||
fu.LastActive = proto.Uint64(uint64(time.Nanoseconds()))
|
||||
|
||||
err := server.freezelog.Put(fu)
|
||||
if err != nil {
|
||||
server.Fatal(err)
|
||||
}
|
||||
|
||||
server.numLogOps += 1
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Mark a user as deleted in the datstore.
|
||||
func (server *Server) DeleteFrozenUser(user *User) {
|
||||
err := server.freezelog.Put(&freezer.UserRemove{Id: proto.Uint32(user.Id)})
|
||||
|
|
|
|||
|
|
@ -994,7 +994,9 @@ func (server *Server) userEnterChannel(client *Client, channel *Channel, usersta
|
|||
channel.AddClient(client)
|
||||
|
||||
server.ClearCaches()
|
||||
// fixme(mkrautz): Set LastChannel for user in datastore
|
||||
|
||||
server.UpdateFrozenUserLastChannel(client)
|
||||
|
||||
// fixme(mkrautz): Remove channel if temporary
|
||||
|
||||
canspeak := server.HasPermission(client, channel, SpeakPermission)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue