From 7c1dd888cc2a660adf3ba7dea2f05aa0ab24aca9 Mon Sep 17 00:00:00 2001 From: DNx5 Date: Tue, 16 Feb 2016 07:14:40 +0700 Subject: [PATCH] Fix real name update. --- pom.xml | 10 ++++++++-- .../xephi/authme/datasource/CacheDataSource.java | 9 +++++++++ .../fr/xephi/authme/datasource/DataSource.java | 1 + .../java/fr/xephi/authme/datasource/FlatFile.java | 5 +++++ .../java/fr/xephi/authme/datasource/MySQL.java | 15 +++++++++++++++ .../java/fr/xephi/authme/datasource/SQLite.java | 14 ++++++++++++++ .../authme/listener/AuthMePlayerListener.java | 6 ++---- 7 files changed, 54 insertions(+), 6 deletions(-) diff --git a/pom.xml b/pom.xml index 115550947..64877be4f 100644 --- a/pom.xml +++ b/pom.xml @@ -145,7 +145,7 @@ 2.4.3 false - falseยด + false @@ -346,6 +346,12 @@ xephi-repo http://ci.xephi.fr/plugin/repository/everything/ + + + + pex-repo + https://pex-repo.aoeu.xyz/ + @@ -486,7 +492,7 @@ ru.tehkode PermissionsEx - 1.23.4 + 1.23.1 provided diff --git a/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java b/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java index e1ece18aa..fd743289a 100644 --- a/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java +++ b/src/main/java/fr/xephi/authme/datasource/CacheDataSource.java @@ -230,6 +230,15 @@ public class CacheDataSource implements DataSource { cachedAuths.invalidate(oldOne); } + @Override + public boolean updateRealName(String user, String realName) { + boolean result = source.updateRealName(user, realName); + if (result) { + cachedAuths.refresh(user); + } + return result; + } + @Override public List getAllAuths() { return source.getAllAuths(); diff --git a/src/main/java/fr/xephi/authme/datasource/DataSource.java b/src/main/java/fr/xephi/authme/datasource/DataSource.java index a0077ce5a..ab46051c9 100644 --- a/src/main/java/fr/xephi/authme/datasource/DataSource.java +++ b/src/main/java/fr/xephi/authme/datasource/DataSource.java @@ -204,6 +204,7 @@ public interface DataSource { */ void updateName(String oldOne, String newOne); + boolean updateRealName(String user, String realName); /** * Method getAllAuths. * diff --git a/src/main/java/fr/xephi/authme/datasource/FlatFile.java b/src/main/java/fr/xephi/authme/datasource/FlatFile.java index eca0bbc5c..6404e1c00 100644 --- a/src/main/java/fr/xephi/authme/datasource/FlatFile.java +++ b/src/main/java/fr/xephi/authme/datasource/FlatFile.java @@ -716,6 +716,11 @@ public class FlatFile implements DataSource { this.removeAuth(oldOne); } + @Override + public boolean updateRealName(String user, String realName) { + return false; + } + @Override public List getAllAuths() { BufferedReader br = null; diff --git a/src/main/java/fr/xephi/authme/datasource/MySQL.java b/src/main/java/fr/xephi/authme/datasource/MySQL.java index 9a042de80..33fd0eddb 100644 --- a/src/main/java/fr/xephi/authme/datasource/MySQL.java +++ b/src/main/java/fr/xephi/authme/datasource/MySQL.java @@ -885,6 +885,21 @@ public class MySQL implements DataSource { } } + @Override + public boolean updateRealName(String user, String realName) { + try (Connection con = getConnection()) { + String sql = "UPDATE " + tableName + " SET " + col.REAL_NAME + "=? WHERE " + col.NAME + "=?;"; + PreparedStatement pst = con.prepareStatement(sql); + pst.setString(1, realName); + pst.setString(2, user); + pst.executeUpdate(); + return true; + } catch (SQLException ex) { + logSqlException(ex); + } + return false; + } + @Override public List getAllAuths() { List auths = new ArrayList<>(); diff --git a/src/main/java/fr/xephi/authme/datasource/SQLite.java b/src/main/java/fr/xephi/authme/datasource/SQLite.java index 14258834f..033bb838a 100644 --- a/src/main/java/fr/xephi/authme/datasource/SQLite.java +++ b/src/main/java/fr/xephi/authme/datasource/SQLite.java @@ -593,6 +593,20 @@ public class SQLite implements DataSource { } } + @Override + public boolean updateRealName(String user, String realName) { + String sql = "UPDATE " + tableName + " SET " + col.REAL_NAME + "=? WHERE " + col.NAME + "=?;"; + try(PreparedStatement pst = con.prepareStatement(sql)) { + pst.setString(1, realName); + pst.setString(2, user); + pst.executeUpdate(); + return true; + } catch (SQLException ex) { + logSqlException(ex); + } + return false; + } + @Override public List getAllAuths() { List auths = new ArrayList<>(); diff --git a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java index b15007e67..82ba854d2 100644 --- a/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java +++ b/src/main/java/fr/xephi/authme/listener/AuthMePlayerListener.java @@ -12,7 +12,6 @@ import fr.xephi.authme.cache.limbo.LimboPlayer; import fr.xephi.authme.output.MessageKey; import fr.xephi.authme.output.Messages; import fr.xephi.authme.permission.PermissionsManager; -import fr.xephi.authme.permission.PlayerPermission; import fr.xephi.authme.permission.PlayerStatePermission; import fr.xephi.authme.settings.Settings; import fr.xephi.authme.util.GeoLiteAPI; @@ -109,7 +108,7 @@ public class AuthMePlayerListener implements Listener { if (Settings.useEssentialsMotd && cmd.equals("/motd")) { return; } - if(!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) { + if (!Settings.isForcedRegistrationEnabled && Settings.allowAllCommandsIfRegIsOptional) { return; } if (Settings.allowCommands.contains(cmd)) { @@ -250,8 +249,7 @@ public class AuthMePlayerListener implements Listener { return; } if (realName.isEmpty() || realName.equals("Player")) { - auth.setRealName(event.getName()); - plugin.getDataSource().saveAuth(auth); + plugin.getDataSource().updateRealName(event.getName().toLowerCase(), event.getName()); } }