/** * Marks presence of the current user in the given channel. * * @param WiseChatChannel $channel * * @return null */ private function markPresenceInChannel($channel) { $user = $this->authentication->getUser(); if ($user !== null) { $channelUser = $this->channelUsersDAO->getByUserIdAndChannelId($user->getId(), $channel->getId()); if ($channelUser === null) { $channelUser = new WiseChatChannelUser(); $channelUser->setActive(true); $channelUser->setLastActivityTime(time()); $channelUser->setUserId($user->getId()); $channelUser->setChannelId($channel->getId()); $this->channelUsersDAO->save($channelUser); } else { $channelUser->setActive(true); $channelUser->setLastActivityTime(time()); $this->channelUsersDAO->save($channelUser); } } }