mirror of
https://github.com/magefree/mage.git
synced 2025-12-21 19:11:59 -08:00
XMage 1.4.17V0
This commit is contained in:
parent
b2bd7f5e24
commit
8b62eece68
43 changed files with 182 additions and 157 deletions
|
|
@ -65,7 +65,7 @@ public class ChatSession {
|
|||
if (user != null && !clients.containsKey(userId)) {
|
||||
String userName = user.getName();
|
||||
clients.put(userId, userName);
|
||||
broadcast(null, userName + " has joined", MessageColor.BLUE, true, MessageType.STATUS, null);
|
||||
broadcast(null, userName + " has joined (" + user.getClientVersion() + ")", MessageColor.BLUE, true, MessageType.STATUS, null);
|
||||
logger.trace(userName + " joined chat " + chatId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -211,11 +211,11 @@ public class MageServerImpl implements MageServer {
|
|||
}
|
||||
|
||||
@Override
|
||||
public boolean setUserData(final String userName, final String sessionId, final UserData userData) throws MageException {
|
||||
public boolean setUserData(final String userName, final String sessionId, final UserData userData, final String clientVersion) throws MageException {
|
||||
return executeWithResult("setUserData", sessionId, new ActionWithBooleanResult() {
|
||||
@Override
|
||||
public Boolean execute() throws MageException {
|
||||
return SessionManager.getInstance().setUserData(userName, sessionId, userData);
|
||||
return SessionManager.getInstance().setUserData(userName, sessionId, userData, clientVersion);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -1073,7 +1073,8 @@ public class MageServerImpl implements MageServer {
|
|||
user.getConnectionTime(),
|
||||
user.getGameInfo(),
|
||||
user.getUserState().toString(),
|
||||
user.getChatLockedUntil()
|
||||
user.getChatLockedUntil(),
|
||||
user.getClientVersion()
|
||||
));
|
||||
}
|
||||
return users;
|
||||
|
|
|
|||
|
|
@ -251,9 +251,12 @@ public class Session {
|
|||
this.userId = user.getId();
|
||||
}
|
||||
|
||||
public boolean setUserData(String userName, UserData userData) {
|
||||
public boolean setUserData(String userName, UserData userData, String clientVersion) {
|
||||
User user = UserManager.getInstance().getUserByName(userName);
|
||||
if (user != null) {
|
||||
if (clientVersion != null) {
|
||||
user.setClientVersion(clientVersion);
|
||||
}
|
||||
if (user.getUserData() == null || user.getUserData().getGroupId() == UserGroup.DEFAULT.getGroupId()) {
|
||||
user.setUserData(userData);
|
||||
} else {
|
||||
|
|
|
|||
|
|
@ -122,10 +122,10 @@ public class SessionManager {
|
|||
return false;
|
||||
}
|
||||
|
||||
public boolean setUserData(String userName, String sessionId, UserData userData) throws MageException {
|
||||
public boolean setUserData(String userName, String sessionId, UserData userData, String clientVersion) throws MageException {
|
||||
Session session = sessions.get(sessionId);
|
||||
if (session != null) {
|
||||
session.setUserData(userName, userData);
|
||||
session.setUserData(userName, userData, clientVersion);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
|
|
|||
|
|
@ -95,6 +95,7 @@ public class User {
|
|||
private boolean active;
|
||||
private Date lockedUntil;
|
||||
private final AuthorizedUser authorizedUser;
|
||||
private String clientVersion;
|
||||
|
||||
public User(String userName, String host, AuthorizedUser authorizedUser) {
|
||||
this.userId = UUID.randomUUID();
|
||||
|
|
@ -125,6 +126,7 @@ public class User {
|
|||
this.watchedGames = new ArrayList<>();
|
||||
this.tablesToDelete = new ArrayList<>();
|
||||
this.sessionId = "";
|
||||
this.clientVersion = "";
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
|
|
@ -172,6 +174,14 @@ public class User {
|
|||
}
|
||||
}
|
||||
|
||||
public void setClientVersion(String clientVersion) {
|
||||
this.clientVersion = clientVersion;
|
||||
}
|
||||
|
||||
public String getClientVersion() {
|
||||
return clientVersion;
|
||||
}
|
||||
|
||||
public void setChatLockedUntil(Date chatLockedUntil) {
|
||||
this.chatLockedUntil = chatLockedUntil;
|
||||
updateAuthorizedUser();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue